/* ----------------------------------------------------------------------------------------
* Author        : Awaiken
* Template Name : Antila - Single Property and Apartment HTML Template
* File          : CSS File
* Version       : 1.0
* ---------------------------------------------------------------------------------------- */
/* INDEX
----------------------------------------------------------------------------------------
01. Global Variables
02. General css
03. Header css
04. Hero css
05. About Us css
06. Our Amenities css
07. Apartments Plans css
08. Intro Video css
09. Why Choose Us css
10. Our Projects css
11. Our Gallery css
12. CTA Box css
13. Our Team css
14. Our Testimonials css
15. Our Blog css
16. Footer css
17. About Us Page css
18. Amenities Page css
19. Amenity Single css
20. Blog Archive css
21. Blog Single css
22. Projects Page css
23. Project Single css
24. Team Page css
25. Team Single css
26. Testimonials Page css
27. Image Gallery css
28. Video Gallery css
29. FAQ's Page css
30. Contact Us Page css
31. 404 Error Page css
32.	Responsive css
33. Home - Version 2 css
34. Home - Version 3 css 
-------------------------------------------------------------------------------------- */

/************************************/
/*** 	 01. Global Variables	  ***/
/************************************/

:root{
	--primary-color				: #1A1A1A;
	--secondary-color			: #FFFFFF;
	--bg-color					: #FFFFFF;
	--text-color				: #454544;
	--accent-color				: #ceba82;
	--white-color				: #FFFFFF;
	--divider-color				: #1A1A1A1A;
	--dark-divider-color		: #FFFFFF1A;
	--error-color				: rgb(230, 87, 87);
	--default-font				: "Inter", sans-serif;
}

/************************************/
/*** 	   02. General css		  ***/
/************************************/

html,
body{
	width: 100%;
	overflow-x: clip;
}

body{
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 300;
	line-height: 1em;
	color: #737b83;
	background: var(--bg-color);
	--bs-body-bg: #FFFFFF;
}

h1, h2, h3, h4, h5, h6{
	font-weight: 300;
	line-height: 1.2em;
	color: var(--primary-color);
	margin: 0;
}

::-webkit-scrollbar-track{
	background-color: var(--primary-color);
	border-left: 1px solid var(--primary-color);
}

::-webkit-scrollbar{
	width: 7px;
	background-color: var(--accent-color);
}

::-webkit-scrollbar-thumb{
	background: var(--accent-color);
}

::selection{
	color: var(--primary-color);
	background-color: var(--accent-color);
	filter: invert(1);
}

p{
	line-height: 1.7em;
	margin-bottom: 1.5em;
}

h1,
h2,
h3,
h4,
h5,
h6{
	font-weight: 500;
	line-height: 1.2em;
	color: var(--primary-color);
	margin :0;
}

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

a{
	text-decoration: none;
}

a:hover{
	text-decoration: none;
	outline: 0;
}

a:focus{
	text-decoration: none;
	outline: 0;
}

.container{
	max-width: 1300px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl{
    padding-right: 15px;
    padding-left: 15px;
}

.image-anime{
	position: relative;
	overflow: hidden;
}

.image-anime:after{
	content: "";
	position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255,255,255,.3);
    transform: translate(-50%,-50%) rotate(-45deg);
    z-index: 1;
}

.image-anime:hover:after{
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}

.reveal{
	position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    visibility: hidden;
    overflow: hidden;
}

.reveal img{
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform-origin: left;
    transform-origin: left;
}

.row{
    margin-right: -15px;
    margin-left: -15px;
}

.row > *{
	padding-right: 15px;
	padding-left: 15px;
}

.row.no-gutters{
    margin-right: 0px;
    margin-left: 0px;
}

.row.no-gutters > *{
    padding-right: 0px;
    padding-left: 0px;
}

.btn-default{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-size: 16px;
	font-weight: 300;
	line-height: 1em;
	text-transform: capitalize;
	color: #231b1b;
	background: #ceba8226;
	border-radius: 8px;
	padding: 17px 24px;
	border: none;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.btn-default:hover{
	color: var(--white-color);
}

.btn-default::before{
	content: none;
}

.btn-default::after{ 
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 0;
    height: 100%;
    background: var(--accent-color);
    transition: all 0.4s ease-in-out;
    z-index: -1;
}

.btn-default:hover::after{
	right: auto;
	left: 0;
    width: 100%;
}

.btn-default.btn-light{
	background-color: var(--dark-divider-color);
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
}

.btn-default.btn-light:hover,
.btn-default.btn-highlighted:hover{
	color: var(--primary-color);
}

.btn-default.btn-light:hover:before,
.btn-default.btn-highlighted:hover:before{
	filter: brightness(0) invert(0);
}

.btn-default.btn-light::after,
.btn-default.btn-highlighted::after{
	background: var(--white-color);
}

.readmore-btn{
	position: relative;
	display: inline-block;
	font-weight: 400;
	line-height: 1.625em;
	text-transform: capitalize;
	color: var(--primary-color);
	padding-right: 35px;
	transition: all 0.4s ease-in-out;
}

.readmore-btn::before{
	content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0px;
    height: 26px;
    width: 26px;
    background-color: var(--accent-color);
    border-radius: 100px;
    background-image: url('../images/arrow-white.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 8px auto;
    transition: all 0.4s ease-in-out;
}

.readmore-btn:hover::before{
	transform: translateY(-50%) rotate(45deg);
}

.cb-cursor:before{
	background: var(--accent-color);
}

.preloader{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background: var(--primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

.loading-container,
.loading{
	height: 100px;
	position: relative;
	width: 100px;
	border-radius: 100%;
}

.loading-container{
	margin: 40px auto;
}

.loading{
	border: 1px solid transparent;
	border-color: transparent var(--white-color) transparent var(--white-color);
	animation: rotate-loading 1.5s linear 0s infinite normal;
	transform-origin: 50% 50%;
}

.loading-container:hover .loading,
.loading-container .loading{
	transition: all 0.5s ease-in-out;
}

#loading-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 66px;
	transform: translate(-50%, -50%);
}

@keyframes rotate-loading{
	0%{
		transform: rotate(0deg);
	}
	100%{
		transform: rotate(360deg);
	}
}

.bg-section{
	width: 100%;
	max-width: 1820px;
	background-color: var(--secondary-color);
	border-radius: 20px;
	margin: 0 auto;
}

.bg-section .container-fluid{
	padding: 0;
}

.dark-section{
	background-color: var(--primary-color);
	background-image: url('../images/dark-section-bg-image.png');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.section-row{
	margin-bottom: 25px;
}

.section-row .section-title{
	margin-bottom: 0; 
}

.section-row .section-title.section-title-center{
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

.section-btn{
	text-align: right;
}

.section-content-btn .section-btn{
	margin-top: 30px;
	text-align: left;
}

.section-title-content p{
	margin-bottom: 20px;
}

.section-title-content p:last-child{
	margin-bottom: 0;	
}

.section-title{
	margin-bottom: 40px;
}

#pd2-floorplans .section-title{
	margin-bottom: 0;
}

.section-title .section-sub-title{
	position: relative;
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	text-transform: capitalize;
	line-height: 1em;
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	padding: 8px 20px 8px 36px;
    margin-bottom: 15px;
}

.section-title .section-sub-title::before{
	content: '';
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--accent-color);
	border-radius: 50%;
    width: 6px;
    height: 6px;
}

.section-title h1{
	font-size: 40px;
	font-weight: 300;
	margin-bottom: 0;
	cursor: none;
	line-height: 1;
}

.section-title h2{
	font-size: 30px;
	margin-bottom: 0;
	cursor: none;
	font-weight: 300;
	text-transform: uppercase;
}

.section-title p{
	margin-top: 10px;
	margin-bottom: 0;
	font-size: 17px;
	font-weight: 300;
}

.dark-section .section-title .section-sub-title{
	border-color: var(--dark-divider-color);
}

.dark-section .section-title .section-sub-title,
.dark-section .section-title h1,
.dark-section .section-title h2,
.dark-section .section-title p,
.dark-section .section-title-content p{
	color: var(--white-color);
}

.help-block.with-errors ul{
	margin: 0;
	text-align: left;
}

.help-block.with-errors ul li{
	color: var(--error-color);
	font-weight: 500;
	font-size: 14px;
}

/************************************/
/**** 	    03. Header css		 ****/
/************************************/

.top-header-bar{
	position: absolute;
	top: 28px;
	left: 15px;
	right: 15px;
	z-index: 99;
}

.top-header-bar .top-header-inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding: 12px 30px;
	background: #3735359e;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 40px;
}

.top-header-social{
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--white-color);
	font-size: 14px;
}

.top-header-social a{
	width: 26px;
	height: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.15);
	color: var(--white-color);
	font-size: 12px;
	transition: all 0.3s ease-in-out;
}

.top-header-social a:hover{
	background: var(--accent-color);
	color: var(--primary-color);
}

.top-header-actions{
	display: flex;
	align-items: center;
	gap: 30px;
}

.top-header-actions a{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--white-color);
	font-size: 13px;
	font-weight: 300;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	transition: all 0.3s ease-in-out;
}

.top-header-actions a:hover{
	color: var(--accent-color);
}

header.main-header{
	position: absolute;
	top: 84px;
	left: 15px;
	right: 15px;
	/* border-bottom: 1px solid var(--dark-divider-color); */
	z-index: 100;
}

header.main-header .header-sticky{
	position: relative;
	top: 0;
	z-index: 100;
}

header.main-header .header-sticky.hide{
	transform: translateY(-100%);
	transition: transform 0.3s ease-in-out;
}

header.main-header .header-sticky.active{
	position: fixed;
	top: 0;
	left: 15px;
	right: 15px;
    transform: translateY(0);
	background: var(--primary-color);
	border-bottom: 1px solid var(--dark-divider-color);
	border-radius: 0 0 20px 20px;
}

.navbar{
	padding: 0px 0 3px;
	align-items: center;
}

.navbar-brand{
	padding: 0;
	margin: 0;
}

.navbar-brand img{
	width: 200px;
}

.main-menu .nav-menu-wrapper{
	flex: 1;
	text-align: right;
	margin: 0 1.042vw;
}

.main-menu .nav-menu-wrapper > ul{
	align-items: center;
	display: inline-flex;
}

.main-menu ul li{
	margin: 0 5px;
	position: relative;
}

.main-menu ul li a{
	font-size: 13px;
	font-weight: 300;
	line-height: 1.2em;
	padding: 12px 13px !important;
	color: var(--white-color);
	background: transparent;
	border-radius: 0px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.3s ease-in-out;
}

.main-menu ul li.submenu > a:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 14px;
	margin-left: 8px;
}

.main-menu ul li a:hover,
.main-menu ul li a:focus{
	color: var(--accent-color);
}

.main-menu ul ul{
	visibility: hidden;
	opacity: 0;
	transform: scale(1,0.8);
	transform-origin: top;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 235px;
	border-radius: 20px;
	position: absolute;
	left: 0;
	top: 100%;
	background: var(--accent-color);
	transition: all 0.3s ease-in-out;
	text-align: left;
}

.main-menu ul li.submenu:first-child ul{
    width: 235px;
}

.main-menu ul ul ul{
	left: 100%;
	top: 0;
	text-align: left;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scale(1,1);
    padding: 5px 0;
}

.main-menu ul li.submenu ul li.submenu > a:after{
    content: '\f105';
    float: right;
}

.main-menu ul ul li{
	margin: 0;
	padding: 0;
}

/* a thin line between the items of every dropdown (the Projects image panel has its own) */
.main-menu ul ul:not(.mega-image-list) > li:not(:last-child){
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

.main-menu ul ul li a{
	font-size: 13px;
	color: var(--white-color);
	padding: 15px 20px !important;
	transition: all 0.3s ease-in-out;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus{
	color: var(--primary-color);
	background-color: transparent;
	padding: 15px 20px 15px 23px !important; /* same height as the normal 15px link - only the small nudge to the right */
}

.main-menu ul li.highlighted-menu{
    display: none;
}

.responsive-menu,
.navbar-toggle{
	display: none;
}

.responsive-menu{
	position: relative;
	top: 0;
}

.slicknav_btn{
	background: var(--accent-color);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	border-radius: 6px;
}

.slicknav_icon .slicknav_icon-bar{
	display: block;
	width: 100%;
	height: 3px;
	width: 22px;
	background-color: var(--white-color);
	border-radius: 6px;
	margin: 4px auto !important;
	transition: all 0.1s ease-in-out;
}

.slicknav_icon .slicknav_icon-bar:first-child{
	margin-top: 0 !important;
}

.slicknav_icon .slicknav_icon-bar:last-child{
	margin-bottom: 0 !important;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1){
    transform: rotate(-45deg) translate(-5px, 5px);
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(2){
    opacity: 0;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(3){
    transform: rotate(45deg) translate(-5px, -5px);
}

.slicknav_menu{
	position: absolute;
    width: 100%;
	padding: 0;
	background: var(--accent-color);
}

.slicknav_menu ul{
	margin: 5px 0;
}

.slicknav_menu ul ul{
	margin: 0;
}

.slicknav_nav .slicknav_row,
.slicknav_nav li a{
	position: relative;
	font-size: 16px;
	font-weight: 600;
	text-transform: capitalize;
	padding: 7px 20px;
	color: var(--white-color);
	line-height: normal;
	margin: 0;
	border-radius: 0 !important;
	transition: all 0.3s ease-in-out;
}

.slicknav_nav a:hover,
.slicknav_nav a:focus,
.slicknav_nav .slicknav_row:hover{
	background-color: transparent;
	color: var(--primary-color);
}

.slicknav_menu ul ul li a{
    padding: 7px 20px 7px 30px;
}

/* mobile menu: the same thin line between items as the desktop dropdowns */
.slicknav_nav li:not(:last-child){
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.slicknav_nav .mega-image-list li:not(:last-child){
	border-bottom-color: rgba(255, 255, 255, 0.15);
}

.slicknav_arrow{
	font-size: 0 !important;
}

.slicknav_arrow:after{
	content: '\f107';
	position: absolute;
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 12px;
	margin-left: 8px;
	color: var(--white-color);
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease-out;
}

.slicknav_open > a .slicknav_arrow:after{
    transform: translateY(-50%) rotate(-180deg);
	color: var(--primary-color);
}

/************************************/
/*** 	    04. Hero css	      ***/
/************************************/

.hero{
    background-image: url('../images/hero-bg-image.png');
	border-radius: 20px;
    padding: 230px 0 0;
    margin: 15px 15px 0 15px;
}

.hero-content{
	max-width: 990px;
	text-align: center;
	margin: 0 auto;
}

.hero-content .section-title .section-sub-title{
	background-color: var(--dark-divider-color);
}

.hero-content .section-title p{
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.hero-content-btn{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 30px;
}

.hero-image-box{
	position: relative;
	text-align: center;
	margin-top: 70px;
	overflow: hidden;
}

.hero-image{
	position: relative;
	margin-bottom: -30px;
	z-index: 1;
}

.hero-image figure{
	display: block;
	max-width: 1115px;
	border-radius: 20px 20px 0 0;
	margin: 0 auto;
}

.hero-image img{
	width: 100%;
	aspect-ratio: 1 / 0.426;
	object-fit: cover;
	border-radius: 20px 20px 0 0;
}

.hero-image-title{
	position: absolute;
	left: 0;
	right: 0;
	bottom: -50px;
}

.hero-image-title h2{
	font-size: 20.833vw;
	opacity: 20%;
	font-weight: 600;
	line-height: 0.85em;
	letter-spacing: 0.1em;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0.00) 0%, var(--white-color) 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/************************************/
/*** 	   05. About Us css	      ***/
/************************************/

.about-us{
	padding: 100px 0;
}

.about-us .section-row .section-title.section-title-center{
	max-width: 1230px;
}

.about-us-counter-list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px 3.125vw;
}

.about-us-counter-item{
	position: relative;
	/* 4 per row (homepage: experience / clients / completed / ongoing); 3 gaps of 3.125vw shared by 4 */
	width: calc(25% - 2.344vw);
}

.about-us-counter-item::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: -1.563vw;
	background: var(--divider-color);
	width: 1px;
	height: 100%;
}

.about-us-counter-item:nth-child(4n + 4):before,
.about-us-counter-item:last-child:before{
	display: none;
}

.about-us-counter-item h2{
	font-size: 52px;
	font-weight: 600;
}

.about-us-counter-item p{
	margin: 10px 0 0;
}

/* homepage counters section: whole section #908157, all text white, counters centred */
.about-us.home-about-counters{
	position: relative;
	/* photo behind a black overlay (the ::before below) so the white text stays readable */
	background-color: #1a1a1a;
	background-image: url('../img/home/counterbg.webp');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.about-us.home-about-counters::before{
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
	z-index: 0;
	pointer-events: none;
}

.about-us.home-about-counters > .container{
	position: relative;
	z-index: 1;
}

.home-about-counters .section-title h2,
.home-about-counters .section-title .section-sub-title,
.home-about-counters .about-us-counter-item h2,
.home-about-counters .about-us-counter-item p,
.home-about-counters .company-supports-content p{
	color: var(--white-color);
}

.home-about-counters .section-title .section-sub-title{
	border-color: rgba(255, 255, 255, 0.4);
}

.home-about-counters .section-title .section-sub-title::before{
	background: var(--white-color);
}

.home-about-counters .about-us-counter-list{
	justify-content: center;
}

.home-about-counters .about-us-counter-item{
	text-align: center;
}

.home-about-counters .about-us-counter-item::before{
	background: rgba(255, 255, 255, 0.3);
}

.home-about-counters .company-supports-content hr{
	color: rgba(255, 255, 255, 0.5);
}

/* the client logos are dark grey SVGs - show them white on the coloured background */
.home-about-counters .company-supports-logo img{
	filter: brightness(0) invert(1);
}

.company-supports-slider-box{
    margin-top: 80px;
}

.company-supports-content{
    display: flex;
    align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 40px;
	text-align: center;
}

.company-supports-content hr{
    height: 1px;
	flex-grow: 1;
    color: var(--divider-color);
    opacity: 1;
    margin: 0;
}

.company-supports-content p{
    margin-bottom: 0;
}

.company-supports-slider{
	padding: 0 2.083vw;
} 

.company-supports-logo{
	text-align: center;
}

.company-supports-logo img{
	width: 100%;
	max-width: 170px;
	height: 40px;
}

/************************************/
/*** 	 06. Our Amenities css    ***/
/************************************/

.our-amenities{
	/* background-image: url('../images/section-bg-image-1.png'); */
    background-position: top -80px right -80px;
    background-repeat: no-repeat;
    background-size: auto;
    padding: 60px 0;
}

.amenity-item{
    position: relative;
    border-radius: 20px;
    min-height: 380px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    padding: 40px;
    overflow: hidden;
}

.amenity-item:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bg-color);
    border-radius: 0;
    width: 100%;
    height: 100%;
    transition: all 0.5s ease-in-out;
    z-index: 1;
}

.amenity-item.active::before, 
.amenity-item:hover::before{
    transform: translate(0%, -100%);
}

.amenity-item-image{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}

.amenity-item.active .amenity-item-image,
.amenity-item:hover .amenity-item-image{
	opacity: 1;
}

.amenity-item-image::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #1a1a1ab0;
	opacity: 50%;
	width: 100%;
	height: 100%;
}

.amenity-item-image figure{
    display: block;
	width: 100%;
    height: 100%;
}

.amenity-item-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.amenity-item-content-box{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	height: 100%;
    z-index: 2;
}

.amenity-item-header .icon-box{
    position: relative;
    height: 50px;
    width: 50px;
    background-color: var(--accent-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
	margin-bottom: 20px;
}

.amenity-item-header .icon-box img{
    width: 100%;
    max-width: 24px;
}

.amenity-item-content h2{
	font-size: 30px;
	transition: all 0.4s ease-in-out;
	font-weight: 300;
}

.amenity-item-content h2 a{
	color: inherit;
}

.amenity-item-content p{
	margin: 0px 0 0;
	transition: all 0.4s ease-in-out;
}

.amenity-item-content p:first-child{
	margin-top: 0;
}

.amenity-item-btn{
	border-top: 1px solid var(--divider-color);
	margin-top: 20px;
	padding-top: 20px;
	transition: all 0.4s ease-in-out;
}

.amenity-item.active .amenity-item-btn,
.amenity-item:hover .amenity-item-btn{
	border-color: var(--dark-divider-color);
}

.amenity-item.active .amenity-item-content h2,
.amenity-item:hover .amenity-item-content h2,
.amenity-item.active .amenity-item-content p,
.amenity-item:hover .amenity-item-content p,
.amenity-item.active .amenity-item-btn .readmore-btn,
.amenity-item:hover .amenity-item-btn .readmore-btn{
	color: var(--white-color);
}

.section-footer-text{
	margin-top: 30px;
	text-align: center;
}

.section-footer-text p{
	color: var(--primary-color);
	margin-bottom: 0;
}

.section-footer-text p span{
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	background: var(--accent-color);
	color: var(--white-color);
	line-height: 1em;
	padding: 4px 10px;
	border-radius: 20px;
	margin-right: 10px;
}

.section-footer-text p a{
	font-weight: 600;
	text-transform: capitalize;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--accent-color);
	transition: all 0.3s ease-in-out;
}

.section-footer-text p a:hover{
	color: var(--primary-color);
}

.section-footer-text ul{
	width: 100%;
	padding: 0;
	margin: 20px 0 0;
	list-style: none;
}

.section-footer-text ul li{
	display: inline-block;
	font-size: 20px;
	font-weight: 600;
	line-height: normal;
	color: var(--primary-color);
	margin-right: 10px;
}

.section-footer-text ul li:last-child{
	margin: 0;
}

.section-footer-text ul li i{
	color: var(--accent-color);
}

.section-footer-text.section-footer-contact{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 20px;
}

.section-footer-text.section-footer-contact span{
	width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    justify-content: center;
	align-items: center;
    margin-right: 10px;
}

.section-footer-text.section-footer-contact span img{
	width: 100%;
	max-width: 16px;
}

.satisfy-client-images{
	display: inline-flex;
	align-items: center;
}

.satisfy-client-image{
	position: relative;
	display: inline-block;
	border: 1px solid var(--white-color);
	border-radius: 50%;
	margin-left: -14px;
	overflow: hidden;
	z-index: 1;
}

.satisfy-client-image:first-child{
	margin-left: 0;
}

.satisfy-client-image figure{
	display: block;
}

.satisfy-client-image img{
	width: 100%;
	max-width: 44px;
}

.satisfy-client-image.add-more{
	width: 46px;
	height: 46px;
	background: var(--accent-color);
	display: flex;
	justify-content: center;
	align-items: center;
}

.satisfy-client-image.add-more h3{
	font-size: 14px;
	color: var(--white-color);
}

.satisfy-client-image.add-more i{
	font-size: 20px;
	color: var(--white-color);
}

.section-footer-text.section-satisfy-img{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image figure img{
	max-width: 30px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image.add-more{
	width: 32px;
	height: 32px;
    margin-left: -10px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image.add-more img{
	max-width: 16px;
}

.section-footer-text.section-satisfy-img ul{
	margin: 5px 0 0;
}

.dark-section .section-footer-text.section-satisfy-img .satisfy-client-image{
    border-color: var(--primary-color);
}

.dark-section .section-footer-text p,
.dark-section .section-footer-text ul li{
	color: var(--white-color);
}

.dark-section .section-footer-text p a:hover{
	color: var(--white-color);
}

/************************************/
/***   07. Apartments Plans css   ***/
/************************************/

.apartments-plans{
	padding: 100px 0;
}

.apartments-plan-item{
	background: var(--white-color);
	border-radius: 20px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 30px;
}

.apartments-plan-item-content{
	text-align: center;
}

.apartments-plan-item-content h3{
	font-size: 20px;
}

.apartments-plan-item-content p{
	margin: 10px 0 0;
}

.apartments-plan-item-image,
.apartments-plan-item-list{
	margin-top: 30px;
}

.apartments-plan-item-image figure{
	display: block;
	border-radius: 20px;
	max-width: 300px;
	margin: 0 auto;
}

.apartments-plan-item-image img{
	width: 100%;
	border-radius: 20px;
	object-fit: cover;
}

.apartments-plan-item-list ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.apartments-plan-item-list ul li{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.apartments-plan-item-list ul li:last-child{
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.apartments-plan-item-list ul li span{
	font-weight: 500;
	color: var(--primary-color);
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 70%;
}

/************************************/
/*** 	 08. Intro Video css      ***/
/************************************/

.intro-video{
	background: transparent;
}

.intro-video-box{
	position: relative;
}

.intro-video-image figure{
	display: block;
	border-radius: 20px;
	overflow: hidden;
}

.intro-video-image img{
	width: 100%;
	height: 850px;
	object-fit: cover;
	border-radius: 20px;
	filter: brightness(70%);
	transition: all 1s ease-in-out;
}

.intro-video-box:hover .intro-video-image img{
	transform: scale(1.04);
}

.play-video-circle{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.play-video-circle a{
	width: 90px;
	height: 90px;
	color: var(--white-color);
	border: 1px solid var(--white-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.4s ease-in-out;
	cursor: none;
}

.intro-video-box .play-video-circle a:hover{
	background: var(--white-color);
	color: var(--primary-color);
}

.play-video-circle a h2{
	font-size: 16px;
	font-weight: 600;
	color: inherit;
}

/************************************/
/*** 	09. Why Choose Us css     ***/
/************************************/

.why-choose-us{
	padding: 100px 0;
}

.why-choose-us-box{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.why-choose-image-box{
	position: relative;
	width: calc(36% - 20px);
	align-content: end;
	padding: 30px;
}

.why-choose-image{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.why-choose-image figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.why-choose-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
}

.working-hour-box{
	position: relative;
	background: var(--dark-divider-color);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	border-radius: 20px;
	padding: 25px;
	z-index: 1;
}

.working-hour-box h3{
	font-size: 20px;
	color: var(--white-color);
}

.working-hour-box ul{
	list-style: none;
	border-top: 1px solid var(--dark-divider-color);
	margin: 20px 0 0;
	padding: 20px 0 0;
}

.working-hour-box ul li{
	font-weight: 500;
	line-height: 1.5em;
	color: var(--white-color);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 20px;
}

.working-hour-box ul li:last-child{
	margin-bottom: 0;
}

.working-hour-box ul li span{
	font-weight: 600;
}

.why-choose-us-item{
	width: calc(32% - 20px);
	background: var(--primary-color);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
	gap: 20px;
	padding: 30px 30px 0;
}

.why-choose-item-header .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.why-choose-item-header .icon-box::before{
   	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--white-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.why-choose-us-item:hover .why-choose-item-header .icon-box::before{
	transform: scale(1);
}

.why-choose-item-header .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.why-choose-us-item:hover  .why-choose-item-header .icon-box img{
	filter: brightness(0) invert(0);
}

.why-choose-item-content{
	margin-top: 25px;
}

.why-choose-item-content h3{
	font-size: 20px;
	color: var(--white-color);
	line-height: 1.4em;
}

.why-choose-item-content p{
	color: var(--white-color);
	border-top: 1px solid var(--dark-divider-color);
	margin: 15px 0 0;
	padding: 15px 0 0;
}

.why-choose-item-body-image figure{
	display: block;
	max-width: 265px;
	border-radius: 20px 20px 0 0;
	margin: 0 auto;
}

.why-choose-item-body-image img{
	width: 100%;
	aspect-ratio: 1 / 0.831;
	object-fit: cover;
	border-radius: 20px 20px 0 0;
}

.why-choose-counter-boxes{
	width: calc(32% - 20px);
}

.why-choose-counter-item{
	background: var(--white-color);
	border-radius: 20px;
	margin-bottom: 30px;
	padding: 30px;
}

.why-choose-counter-item:last-child{
	margin-bottom: 0;
}

.why-choose-counter-no{
	margin-bottom: 30px;
}

.why-choose-counter-no h2{
	font-size: 52px;
	font-weight: 600;
}

.why-choose-counter-content h3{
	font-size: 20px;
}

.why-choose-counter-content p{
	margin: 10px 0 0;
}

.why-choose-counter-item.highlighted-box{
	background: var(--accent-color);
}

.why-choose-counter-item.highlighted-box .why-choose-counter-no h2,
.why-choose-counter-item.highlighted-box .why-choose-counter-content h3,
.why-choose-counter-item.highlighted-box .why-choose-counter-content p{
	color: var(--white-color);
}

.why-choose-footer{
	margin-top: 60px;
}

.why-choose-footer-list ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px 30px;
	list-style: none;
	padding: 0;
	margin: 0 auto;
}

.why-choose-footer-list ul li{
	position: relative;
	font-weight: 500;
	border: 1px solid var(--divider-color);
	background: var(--secondary-color);
    color: var(--primary-color);
    padding: 12px 16px 12px 32px;
    border-radius: 100px;
	transition: all 0.4s ease-in-out;
}

.why-choose-footer-list ul li::before{
	content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--accent-color);
    border-radius: 50%;
    width: 6px;
    height: 6px;
}

.why-choose-footer-list ul li:hover{
	background: var(--primary-color);
	color: var(--white-color);
}

/************************************/
/*** 	 10. Our Projects css     ***/
/************************************/

.our-projects{
	padding: 70px 0;
}

.project-item{
	position: relative;
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.project-item-image a,
.project-item-image figure{
	position: relative;
	display: block;
	border-radius: 20px;
	overflow: hidden;
	cursor: none;
}

.project-item-image img{
	width: 100%;
	aspect-ratio: 1 / 1.347;
	object-fit: cover;
	transition: all 0.6s ease-in-out;
}

.project-item:hover .project-item-image img{
	transform: scale(1.06);
}

.project-item-btn{
	position: absolute;
	top: 30px;
	right: 30px;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.project-item:hover .project-item-btn{
	transform: scale(1);
}

.project-item-btn a{
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease-in-out;
}

.project-item-btn a:hover{
	background: var(--primary-color);
}

.project-item-btn a img{
	width: 100%;
	max-width: 14px;
	transition: all 0.3s ease-in-out;
}

.project-item-btn a:hover img{
	transform: rotate(45deg);
}

.project-item-content{
	position: absolute;
	left: 10px;
	bottom: 10px;
	right: 10px;
	/* see-through black strip (was a clear glass blur, hard to read on bright photos) */
	background: rgba(0, 0, 0, 0.6);
    border-radius: 20px;
	padding: 20px 25px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.project-item:hover .project-item-content{
	bottom: 15px;
}

.project-item-content h2{
	font-size: 20px;
	line-height: 1.4em;
	color: var(--white-color);
}

.project-item-content p{
	color: var(--white-color);
	margin: 5px 0 0;
}

.project-item-content h2 a,
.project-item-content p a{
	color: inherit;
}

/************************************/
/*** 	 11. Our Gallery css      ***/
/************************************/

.our-gallery{
	padding: 100px 0;
}

.photo-gallery{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.photo-gallery a{
	cursor: none;
}

.photo-gallery figure{
	display: block;
	border-radius: 20px;
}

.photo-gallery img{
	width: 100%;
	aspect-ratio: 1 / 1.22;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/*** 	   12. CTA Box css	      ***/
/************************************/

.cta-box{
	background-image: url('../images/section-bg-image-1.png');
    background-position: top -80px right -80px;
    background-repeat: no-repeat;
    background-size: auto;
	padding: 100px 0;
}

.cta-box-content{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	gap: 30px;
}

.cta-client-box{
	max-width: 390px;
}

.cta-client-box-content{
	margin-top: 30px;
}

.cta-client-box-content h3{
	font-size: 20px;
}

.cta-client-box-content p{
	border-top: 1px solid var(--divider-color);
	margin: 15px 0 0;
	padding: 15px 0 0;
}

.cta-form-box{
	background: var(--bg-color);
	border-radius: 20px;
	padding: 40px;
}

.cta-form-title{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.cta-form-title h3{
	font-size: 30px;
}

.contact-form label{
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 15px;
}

.contact-form .form-control{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--primary-color);
	background: var(--white-color);
	border: none;
	border-radius: 10px;
	padding: 18px 20px;
	box-shadow: none;
	outline: none;
}

.contact-form .form-control::placeholder{
	color: var(--text-color);
	opacity: 50%;
}

/************************************/
/*** 	   13. Our Team css	      ***/
/************************************/

.our-team{
	padding: 100px 0;
}

.team-item{
    position: relative;
    border-radius: 20px;
    height: calc(100% - 30px);
    margin-bottom: 30px;
    overflow: hidden;
}

.team-item-image figure,
.team-item-image a{
	position: relative;
    display: block;
    cursor: none;
}

.team-item-image figure:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 100%;
	width: 100%;
	border-radius: 20px;
	background: linear-gradient(180deg, transparent 32.33%, rgba(26, 26, 26, 0.90) 93.06%);
	z-index: 1;
}

.team-item-image img{
    width: 100%;
    aspect-ratio: 1 / 1.247;
    object-fit: cover;
	transition: all 0.6s ease-in-out;
}

.team-item:hover .team-item-image img{
	transform: scale(1.06);
}

.team-item-body{
    position: absolute;
    bottom: 30px;
    left: 30px;
    right: 30px;
    transform: translateY(60%);
    z-index: 1;
    transition: all 0.4s ease-in-out;
}

.team-item:hover .team-item-body{
	transform: translateY(0%);
}

.team-item-content h2{
    font-size: 16px;
	line-height: 1.4em;
    color: var(--white-color);
	font-weight: 200;
}

.team-item-content h2 a{
    color: inherit;
}

.team-item-content p{
    color: var(--white-color);
	margin: 5px 0 0;
}

.team-social-list{
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 20px;
	padding-top: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
}

.team-item:hover .team-social-list{
	opacity: 1;
	visibility: visible;
}

.team-social-list ul{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.team-social-list ul li a{
	color: var(--white-color);
    border: 1px solid var(--white-color);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease-in-out;
}

.team-social-list ul li a:hover{
    color: var(--white-color);
    background: var(--accent-color);
    border-color: var(--accent-color);
}

.team-social-list ul li a i{
    font-size: 18px;
	color: inherit;
}

/************************************/
/***   14. Our Testimonials css   ***/
/************************************/

.our-testimonials{
	background: transparent;
}

.our-testimonials-box{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	padding: 20px;
	overflow: hidden;
}

.testimonial-image{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.testimonial-image figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.testimonial-image img{
	width: 100%;
	height: 100%;
	border-radius: 20px;
	object-fit: cover;
	object-position: right;
}

.testimonial-client-box{
	position: relative;
	max-width: 350px;
	background: var(--dark-divider-color);
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
	border-radius: 20px;
	padding: 30px;
	margin: 0 0 40px 40px;
	z-index: 1;
}

.testimonial-client-box-content{
	margin-top: 20px;
}

.testimonial-client-box-content p{
	color: var(--white-color);
	margin: 0;
}

.testimonial-slider-box{
	position: relative;
	width: calc(100% - 420px);
	max-width: 800px;
	min-height: 850px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: var(--white-color);
	border-radius: 20px;
	padding: 3.125vw;
	z-index: 1;
}

.testimonial-slider .swiper-wrapper{
	cursor: none;
}

/* homepage testimonials: two columns - photo on the left (stretched to the right block's height),
   testimonial block on the right with a light background instead of white */
.our-testimonials.home-testimonials{
	/* section background image turned off - only the #e9e3d2 card shows on the page */
	/* background-color: #F7F7F2; */
	/* background-image: url('../img/video-bg.webp'); */
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 100px 40px;
}

/* side space so the background shows around the photo + testimonial blocks */
.home-testimonials .container-fluid{
	padding: 0 40px;
}

@media (max-width: 767px){
	.our-testimonials.home-testimonials{
		padding: 40px 0;
	}

	.home-testimonials .container-fluid{
		padding: 0 15px;
	}
}

/* photo + testimonials joined into ONE card: one #e9e3d2 background, one set of rounded corners, no gap */
.home-testimonials .our-testimonials-box{
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 0;
	padding: 60px 0px;
	background: #e9e3d2;
	border-radius: 20px;
	overflow: hidden;
}

.home-testimonials .testimonial-image-cilent-box{
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	/* photo fills the card's full height on the left (card is at least 480px tall on desktop) */
	min-height: 480px;
}

.home-testimonials .testimonial-image{
	position: absolute;
	inset: 0;
	padding: 39px 40px;
}

/* photo inset 25px inside the card, with its own 10px rounded corners */
.home-testimonials .testimonial-image figure,
.home-testimonials .testimonial-image img{
	height: 100%;
	border-radius: 10px;
}

/* light black overlay on the photo */
.home-testimonials .testimonial-image figure{
	position: relative;
	overflow: hidden;
}

.home-testimonials .testimonial-image figure::after{
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: rgba(0, 0, 0, 0.25);
	pointer-events: none;
}

.home-testimonials .testimonial-slider-box{
	flex: 0 0 auto;
	width: 55%;
	max-width: none;
	min-height: 480px;
	justify-content: flex-start;
	/* part of the card - the colour comes from .our-testimonials-box */
	background: transparent;
	border-radius: 0;
	padding: 40px 40px 10px 40px;
}

/* "Happy Clients." bold in the homepage testimonials heading (rest of the heading stays light) */
.testimonials-title-bold,
.testimonials-title-bold *{
	font-weight: 600;
}

/* homepage testimonials only: less space under "Our Testimonials" heading */
.home-testimonials .section-title{
	margin-bottom: 18px;
}

/* the slider reuses the Testimonials page's .testimonials-client-section card styles;
   drop that page's section spacing here */
.home-testimonials .testimonial-slider.testimonials-client-section{
	padding: 0;
}

/* equal-height cards: every slide stretches to the tallest one and the card fills its slide
   (the text grows, so the name/photo row lines up at the bottom of each card) */
.home-testimonials .testimonial-slider .swiper-wrapper{
	align-items: stretch;
}

.home-testimonials .testimonial-slider .swiper-slide{
	height: auto;
	display: flex;
}

.home-testimonials .testimonial-item-moon{
	height: 100%;
	width: 100%;
}

/* room for the cards' shadow + hover lift inside the slider's clipped area */
.home-testimonials .testimonial-slider .swiper{
	/* padding: 10px 8px 30px; */
}

/* arrows under the card (the template places them over the slide's bottom-right corner) */
.home-testimonials .testimonial-btn{
	position: static;
	justify-content: flex-end;
	margin-top: 20px;
	padding: 0 8px;
}

@media (max-width: 991px){
	.home-testimonials .our-testimonials-box{
		flex-wrap: wrap;
		/* stacked: the image fills the top edge, so no beige band above it */
		padding: 0;
	}

	.home-testimonials .testimonial-image-cilent-box{
		flex: 0 0 100%;
		height: 360px;
		min-height: 0;
	}

	.home-testimonials .testimonial-image,
	.home-testimonials .testimonial-image figure,
	.home-testimonials .testimonial-image img{
		height: 100%;
	}

	.home-testimonials .testimonial-slider-box{
		width: 100%;
		min-height: 0;
	}
}

@media (max-width: 767px){
	.home-testimonials .testimonial-image-cilent-box{
		height: 260px;
	}

	.home-testimonials .testimonial-slider-box{
		padding: 20px 15px;
	}

	.home-testimonials .testimonial-image{
		padding: 15px 15px 0;
	}

	.home-testimonials .testimonial-image img{
		aspect-ratio: auto;
	}
}

.testimonial-item{
	min-height: 440px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
}

.testimonial-item .satisfy-client-image.add-more img{
	max-width: 22px;
}

.testimonial-item-rating i{
	font-size: 20px;
	color: var(--accent-color);
}

.testimonial-item-content{
	margin-top: 20px;
}

.testimonial-item-content p{
	font-size: 20px;
	font-weight: 600;
	color: var(--primary-color);
	margin: 0;
}

.testimonial-author-content{
	border-top: 1px solid var(--divider-color);
	margin-top: 40px;
	padding-top: 40px;
}

.testimonial-author-content h2{
	font-size: 20px;
}

.testimonial-author-content p{
	margin: 5px 0 0;
}

.testimonial-btn{
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: right;
	gap: 15px;
	z-index: 2;
}

.testimonial-slider .testimonial-button-next,
.testimonial-slider .testimonial-button-prev{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 50%;
	transition: all 0.4s ease-in-out;
}

.testimonial-slider .testimonial-button-next:hover,
.testimonial-slider .testimonial-button-prev:hover{
	background: var(--accent-color);
}

.testimonial-slider .testimonial-button-next::before,
.testimonial-slider .testimonial-button-prev::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-image: url('../images/arrow-primary.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 12px auto;
	transform: rotate(45deg);
	transition: all 0.4s ease-in-out;
}

.testimonial-slider .testimonial-button-prev::before{
	transform: rotate(225deg);
}

.testimonial-slider .testimonial-button-next:hover:before,
.testimonial-slider .testimonial-button-prev:hover:before{
	filter: brightness(0) invert(1);
}

/************************************/
/*** 	   15. Our Blog css	      ***/
/************************************/

.our-blog{
    padding: 100px 0 70px;
}

.post-item{
    height: calc(100% - 30px);
    margin-bottom: 35px;
    /* background: var(--white-color); */
	    background: #ceba8230;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(26, 26, 26, 0.08);
    transition: box-shadow 0.35s ease-in-out;
}

.post-item:hover{
    box-shadow: 0 25px 50px rgba(26, 26, 26, 0.14);
}

.post-featured-image{
    position: relative;
    margin-bottom: 0;
}

.post-featured-image:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.15);
    z-index: 1;
    pointer-events: none;
}

.post-featured-image a,
.post-featured-image figure{
    display: block;
    cursor: none;
    overflow: hidden;
}

.post-featured-image img{
    width: 100%;
    aspect-ratio: 1 / 0.745;
    object-fit: cover;
    transition: all 0.6s ease-in-out;
}

.post-item:hover .post-featured-image img{
	transform: scale(1.06);
}

.post-item-meta{
    margin-bottom: 20px;
}

.post-item-meta-badge{
    position: absolute;
    right: 16px;
    top: 16px;
    z-index: 2;
    margin-bottom: 0;
    background: rgb(255 255 255 / 76%);
    backdrop-filter: blur(4px);
    padding: 8px 14px;
    border-radius: 100px;
}

.post-item-meta-badge ul li{
    color: var(--primary-color);
    font-size: 13px;
    font-weight: 600;
}

.post-item-meta-badge ul li img{
    max-width: 16px;
}

.post-item-meta ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px 20px;
}

.post-item-meta ul li{
	color: var(--primary-color);
    line-height: normal;
    display: flex;
    align-items: center;
    gap: 10px;
}

.post-item-meta ul li img{
    width: 100%;
    max-width: 20px;
}

/* homepage Showcase: the new template's plain blog design (rounded image, date, title, Read More -
   no card box). The Blog page keeps its restyled cards; these rules only apply inside .home-showcase. */
/* same light gold section background as the homepage welcome / awards sections */
.our-blog.home-showcase{
	background-color: #ceba820f;
}

.home-showcase .post-item{
	background: none;
	border-radius: 0;
	overflow: visible;
	box-shadow: none;
}

.home-showcase .post-item:hover{
	box-shadow: none;
}

.home-showcase .post-featured-image{
	margin-bottom: 30px;
}

.home-showcase .post-featured-image:before{
	display: none;
}

.home-showcase .post-featured-image a,
.home-showcase .post-featured-image figure{
	border-radius: 20px;
}

.home-showcase .post-item-body{
	padding: 0;
}

/* titles: max 2 lines, longer ones end in "…"; always 2 lines tall so the cards line up */
.home-showcase .post-item-content h2{
	font-size: 18px;
	line-height: 1.4em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.8em;
}

@media (max-width: 767px){
	.home-showcase .post-item-content h2{
		font-size: 17px;
	}

	.home-showcase .post-featured-image{
		margin-bottom: 20px;
	}
}

/* homepage Showcase cards: which section the card comes from (News & Events / Handing Over / Blog) */
.showcase-item .post-featured-image{
	position: relative;
}

.showcase-label{
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	padding: 6px 14px;
	border-radius: 100px;
	background: #ceba82;
	color: var(--white-color);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2em;
	pointer-events: none;
}

@media (max-width: 767px){
	.showcase-label{
		font-size: 14px;
	}
}

.post-item-content h2{
    font-size: 18px;
	line-height: 1.4em;
	font-weight: 300;
}

.post-item-content h2 a{
	color: inherit;
}

.post-item-body{
	/* background: #ceba8230; */
	padding: 24px 26px 26px;
}

.post-item-btn{
    border-top: 1px solid var(--divider-color);
    margin-top: 20px;
    padding-top: 20px;
}

/************************************/
/*** 	  	16. Footer css	      ***/
/************************************/

.main-footer{
	padding: 100px 0 60px;
	margin-bottom: 20px;
}

.footer-header{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid var(--dark-divider-color);
	margin-bottom: 60px;
	padding-bottom: 60px;
}

.footer-header-title{
	max-width: 800px;
}

.footer-header-title h2{
	font-size: 40px;
	font-weight: 600;
	color: var(--white-color);
}

.contact-us-circle a{
	display: inline-block;
	border-radius: 50%;
}

.contact-us-circle a img{
	width: 100%;
	max-width: 120px;
	border-radius: 50%;
	animation: infiniterotate 20s infinite linear;
}

.contact-us-circle a:hover img{
	animation-play-state: paused;	
}

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

.about-footer{
	background: var(--dark-divider-color);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	text-align: center;
	border-radius: 20px;
	padding: 30px;
	margin-right: 30px;
}

.footer-logo img{
	width: 100%;
	max-width: 133px;
}

.about-footer-content{
	margin-top: 30px;
}

.about-footer-content p{
	color: var(--white-color);
	margin-bottom: 0;
}

.footer-social-links{
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 30px;
	padding-top: 30px;
}

.footer-social-links h3{
	font-size: 20px;
	color: var(--white-color);
	margin-bottom: 20px;
}

.footer-social-links ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-social-links ul li a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--dark-divider-color);
	border-radius: 50%;
	color: var(--white-color);
	transition: all 0.3s ease-in-out;
}

.footer-social-links ul li:hover a{
	background: var(--accent-color);
}

.footer-social-links ul li i{
	font-size: 18px;
	color: inherit;
}

.footer-links-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
}

.footer-links{
	max-width: 32%;
}

.footer-links h3{
	font-size: 20px;
	color: var(--white-color);
	margin-bottom: 30px;
}

.footer-links ul{
	list-style: disc;
	margin: 0;
	padding: 0 0 0 20px;
}

.footer-links ul li{
	text-transform: capitalize;
	color: var(--white-color);
	line-height: 1.5em;
	margin-bottom: 15px;
}

.footer-links ul li:last-child{
	margin-bottom: 0;
}

.footer-links ul li::marker{
	color: var(--accent-color);
}

.footer-links ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.footer-links ul li a:hover{
	color: var(--accent-color);
}

.footer-contact-item-list{
	max-width: 38%;
}

.footer-contact-links ul li img{
	width: 100%;
	max-width: 24px;
	margin-right: 15px;
}

.footer-contact-item{
    display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 20px;
}

.footer-contact-item:last-child{
	margin-bottom: 0;
}

.footer-contact-item .icon-box{
	position: relative;
    height: 50px;
    width: 50px;
    background-color: var(--accent-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: all 0.4s ease-in-out;
}

.footer-contact-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--white-color);
	border-radius: 50%;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.footer-contact-item:hover .icon-box::before{
	transform: scale(1);
}

.footer-contact-item .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.footer-contact-item:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.footer-contact-item-content{
	width: calc(100% - 65px);
}

.footer-contact-item-content h4{
	font-size: 20px;
	color: var(--white-color);
}

.footer-contact-item-content p{
	color: var(--white-color);
	margin: 5px 0 0;
}

.footer-contact-item-content p a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.footer-contact-item-content p a:hover{
	color: var(--accent-color);
}

.footer-copyright{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding-top: 30px;
	border-top: 1px solid var(--dark-divider-color);
}

.footer-copyright-text p{
	color: var(--white-color);
	margin-bottom: 0;
}

.footer-privacy-policy ul{
	display: flex;
	flex-wrap: wrap;
	gap: 5px 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-privacy-policy ul li{
	position: relative;
	line-height: 1.5em;
	color: var(--white-color);
}

.footer-privacy-policy ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.footer-privacy-policy ul li a:hover{
	color: var(--accent-color);
}

.footer-privacy-policy ul li::before{
	content: '';
	position: absolute;
	top: 50%;
	right: -23px;
	background: var(--accent-color);
	border-radius: 100px;
	transform: translateY(-50%);
	width: 6px;
	height: 6px;
}

.footer-privacy-policy ul li:last-child::before{
	display: none;
}

/************************************/
/*** 	17. About Us Page css	  ***/
/************************************/

.page-header{
	position: relative;
	background-image: url('../images/page-header-bg.png');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 20px;
	padding: 235px 0 45px;
	margin: 15px 15px 0;
	overflow: hidden;
}

.page-header.page-header-blog{
	background-image: url('../img/blog-banner.jpg');
}

.page-header:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	/* the header / menu area keeps the light grey overlay; below the menu (title + breadcrumb)
	   a darker layer fades in on top of it */
	background:
		linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 195px, rgba(0, 0, 0, 0.45) 265px, rgba(0, 0, 0, 0.45) 100%),
		#78767659;
	z-index: 0;
}

/* tablets / phones: the header is shorter, so the darker part starts higher */
@media only screen and (max-width: 991px){
	.page-header:before{
		background:
			linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 95px, rgba(0, 0, 0, 0.45) 160px, rgba(0, 0, 0, 0.45) 100%),
			#78767659;
	}
}

.page-header-box{
	position: relative;
	text-align: left;
	z-index: 1;
}

.page-header-box h1{
	display: inline-block;
	font-size: 28px;
	font-weight: 300;
	color: var(--white-color);
	margin-bottom: 10px;
	cursor: none;
}

.page-header-box ol{
	justify-content: flex-start;
	margin: 0;
	padding: 0;
}

.page-header-box ol li.breadcrumb-item{
	font-size: 16px;
	font-weight: 200;
	line-height: normal;
    text-transform: capitalize;
	color: #ffffffcc;
}

.page-header-box ol li.breadcrumb-item a{
    color: inherit;
}

.page-header-box ol .breadcrumb-item+.breadcrumb-item::before{
    color: var(--white-color);
}

.our-approach{
    padding: 100px 0;
	background-image: url('../images/section-bg-image-1.png');
    background-position: top -80px right -80px;
    background-repeat: no-repeat;
    background-size: auto;
}

.approach-image-box{
	position: relative;
	height: 100%;
}

.approach-image{
	height: 100%;
}

.approach-image figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.approach-image img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1.218;
	object-fit: cover;
	border-radius: 20px;
}

.approach-image-cta-box{
	position: absolute;
	right: 30px;
	bottom: 30px;
	left: 30px;
	background-color: var(--divider-color);
	backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
	border-radius: 10px;
	padding: 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	z-index: 1;
}

.approach-image-cta-box .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.approach-image-cta-box .icon-box::before{
   	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--white-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.approach-image-cta-box:hover .icon-box::before{
    transform: scale(1);
}

.approach-image-cta-box .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
	transition: all 0.4s ease-in-out;
}

.approach-image-cta-box:hover .icon-box img{
   filter: brightness(1) invert(1);
}

.approach-image-cta-content{
	width: calc(100% - 65px);
}

.approach-image-cta-content h3{
	font-size: 20px;
	line-height: 1.4em;
	color: var(--white-color);
}

.approach-content{
	margin-left: 15px;
}

.approach-body{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.approach-body-image-btn,
.approach-body-items-list{
	width: calc(50% - 15px);
}

.approach-body-image-btn{
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
}

.approach-body-image{
	height: 100%;
}

.approach-body-image figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.approach-body-image img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 0.88;
	object-fit: cover;
	border-radius: 20px;
}

.vision-mission-page .approach-body-vision{
	height: 100%;
	background-color: #F7F7F2;
	border-radius: 20px;
	padding: 30px;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.06);
}

.vision-mission-page .approach-body-items-list{
	display: flex;
	flex-direction: column;
	align-self: stretch;
}

.vision-mission-page .approach-body-item{
	background-color: #F7F7F2;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.06);
	flex: 1;
	min-height: 0;
}

.vision-mission-page .approach-body-vision h2{
	font-size: 22px;
	margin-bottom: 15px;
}

.vision-mission-page .approach-body-vision .vm-list{
	grid-template-columns: 1fr;
	gap: 4px;
}

.vision-mission-page .approach-body-vision .vm-list li{
	padding: 8px 10px;
}

.approach-body-item{
	background-color: var(--bg-color);
	border-radius: 20px;
	margin-bottom: 30px;
	padding: 25px;
}

.approach-body-item:last-child{
	margin-bottom: 0;
}

.approach-body-item-header{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.approach-body-item-header .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.approach-body-item-header .icon-box::before{
   	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.approach-body-item:hover .approach-body-item-header .icon-box::before{
    transform: scale(1);
}

.approach-body-item-header .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
}

.approach-body-item-title{
	width: calc(100% - 65px);
}

.approach-body-item-title h3{
	font-size: 20px;
	line-height: 1.4em;
}

.approach-body-item-content{
	border-top: 1px solid var(--divider-color);
	margin-top: 20px;
	padding-top: 20px;
}

.approach-body-item-content p{
	margin: 0;
}

.how-it-work{
	padding: 100px 0;
	background-image: url('../images/section-bg-image-1.png');
    background-position: top -80px right -80px;
    background-repeat: no-repeat;
    background-size: auto;
}

.how-work-item{
	position: relative;
	background-color: var(--bg-color);
	border-radius: 20px;
	min-height: 380px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 30px;
	overflow: hidden;
}

.how-work-item::before{
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0%;
	background: var(--accent-color);
	border-radius: 12px;
	z-index: 0;
	transition: all 0.4s ease-in-out;
}

.how-work-item:hover::before{
	height: 100%;
	border-radius: 0;
}

.how-work-item-header{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	z-index: 1;
}

.how-work-item-header .icon-box{
	position: relative;
	height: 50px;
	width: 50px;
	background-color: var(--accent-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.how-work-item-header .icon-box:before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: var(--white-color);
	border-radius: 50%;
	width: 100%;
	height: 100%;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.how-work-item:hover .how-work-item-header .icon-box:before{
	transform: scale(1);
}

.how-work-item-header .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.how-work-item:hover .how-work-item-header .icon-box img{
	filter: brightness(0) invert(0);
}

.how-work-item-no{
	position: relative;
	background-color: var(--primary-color);
	border-radius: 99px 0 0 90px;
	padding: 10px 18px;
	margin-right: -30px;
	transition: all 0.4s ease-in-out;
}

.how-work-item:hover .how-work-item-no{
	background-color: var(--white-color);
}

.how-work-item-no h3{
	position: relative;
	color: var(--white-color);
	font-size: 16px;
	font-weight: 600;
	line-height: normal;
	transition: all 0.4s ease-in-out;
}

.how-work-item:hover .how-work-item-no h3{
	color: var(--primary-color);
}

.how-work-item-content{
	position: relative;
	z-index: 1;
}

.how-work-item-content h3{
	font-size: 20px;
	transition: all 0.4s ease-in-out;
}

.how-work-item-content p{
	margin: 10px 0 0;
	transition: all 0.4s ease-in-out;
}

.how-work-item-content ul{
	list-style: disc;
	margin: 30px 0 0;
	padding: 30px 0 0 20px;
	border-top: 1px solid var(--divider-color);
	transition: all 0.4s ease-in-out;
}

.how-work-item:hover .how-work-item-content ul{
	border-color: var(--dark-divider-color);
}

.how-work-item-content ul li{
	line-height: 1.5em;
	margin-bottom: 10px;
	transition: all 0.3s ease-in-out;
}

.how-work-item-content ul li:last-child{
	margin-bottom: 0;
}

.how-work-item-content ul li::marker{
	color: var(--accent-color);
	transition: all 0.3s ease-in-out;
}

.how-work-item:hover .how-work-item-content h3,
.how-work-item:hover .how-work-item-content p,
.how-work-item:hover .how-work-item-content ul li,
.how-work-item:hover .how-work-item-content ul li::marker{
	color: var(--white-color);
}

.our-features{
	padding: 100px 0;
}

.features-image-box{
	position: relative;
	height: 100%;
}

.features-image{
	height: 100%;
}

.features-image figure{
	display: block;
	height: 100%;
	/* background: #F7F7F2; */
	border-radius: 20px;
}

.features-image img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 20px;
	padding-right: 60px;
}

.features-image-box .working-hour-box{
	position: absolute;
	right: 30px;
	bottom: 30px;
	left: 30px;
	z-index: 2;
}

.features-content{
	height: 100%;
	align-content: center;
	margin-left: 15px;
}

.features-item{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 30px;
}

.features-item:last-child{
	margin-bottom: 0;
}

.features-item .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.features-item .icon-box::before{
   	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.features-item:hover .icon-box::before{
    transform: scale(1);
}

.features-item .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
}

.features-item-content{
	width: calc(100% - 65px);
}

.features-item-content h3{
	font-size: 20px;
	line-height: 1.4em;
}

.features-item-content p{
	margin: 10px 0 0;
}

.features-content-btn{
	margin-top: 40px;
}

.our-faqs{
	padding: 100px 0;
}

.faqs-content{
	position: sticky;
	top: 30px;
}

.faq-accordion .accordion-item{
    position: relative;
    background: var(--secondary-color);
    border-radius: 16px;
    margin-bottom: 25px;
    overflow: hidden;
}

.faq-accordion .accordion-item:last-child{
    margin-bottom: 0;
}

.faq-accordion .accordion-header .accordion-button{
	font-size: 18px;
    font-weight: 500;
    line-height: 1.333em;
    background: transparent;
    color: var(--primary-color);
    padding: 18px 55px 18px 24px;
    transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-item .accordion-button:not(.collapsed){
	background-color: var(--accent-color);
	color: var(--white-color);
}

.faq-accordion .accordion-item .accordion-button::after,
.faq-accordion .accordion-item .accordion-button.collapsed::after{
    content: '\2b';
    font-family: 'FontAwesome';
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
	font-size: 20px;
	color: var(--primary-color);
    transition: all 0.4s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed)::after{
    content: '\f068';
	color: var(--white-color);
}

.faq-accordion .accordion-item .accordion-body{  
    background-color: transparent;  
    padding: 18px 24px;
}

.faq-accordion .accordion-item .accordion-body p{
    margin: 0;
}

/************************************/
/*** 	18. Amenities Page css	  ***/
/************************************/

.page-amenities{
	padding: 100px 0 70px;
}

.page-amenities .amenity-item:before{
	background: var(--secondary-color);
}

/************************************/
/***   19. Amenity Single css	  ***/
/************************************/

.page-amenity-single{
	padding: 100px 0;
}

.page-single-sidebar{
	position: static;
	margin-right: 15px;
}

.page-category-list{
	background: var(--white-color);
	border-radius: 20px;
    margin-bottom: 40px;
	overflow: hidden;
}

.page-category-list .page-category-list-title{
	font-size: 20px;
	color: #000;
	background: #ceba8242;
	padding: 31px 30px;
	font-weight: 300;
}

.page-category-list ul{
	list-style: none;
    margin: 0;
	padding: 30px;
	background: #F7F7F2;
}

.page-category-list ul li{
	font-weight: 500;
	line-height: 1.5em;
    border-bottom: 1px solid var(--divider-color);
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.page-category-list ul li:last-child{
    border-bottom: none;
    margin: 0;
    padding: 0;
}

.page-category-list ul li a{
    position: relative;
    display: block;
    text-transform: capitalize;
	color: inherit;
    padding-right: 20px;
    transition: all 0.4s ease-in-out;
}

.page-category-list ul li a:hover{
    color: var(--accent-color);
}

.page-category-list ul li a::before{
	content: '';
    position: absolute;
    top: 5px;
    right: 0;
	background: url('../images/arrow-accent.svg') no-repeat;
	background-position: center center;
	background-size: cover;
    width: 12px;
    height: 12px;
    transition: all 0.4s ease-in-out;
}

.page-category-list ul li a:hover::before{
	filter: brightness(0) invert(0);
    transform: rotate(45deg);
}

.sidebar-cta-box{
	position: relative;
	border-radius: 20px;
	padding: 20px;
	overflow: hidden;
}

.sidebar-cta-image{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.sidebar-cta-image figure{
	display: block;
	height: 100%;
}

.sidebar-cta-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sidebar-cta-box-body{
	position: relative;
	background: var(--dark-divider-color);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	border-radius: 20px;
	text-align: center;
	padding: 30px;
	z-index: 1;
}

.sidebar-cta-box-body .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: var(--accent-color);
    border-radius: 100px;
    overflow: hidden;
}

.sidebar-cta-box-body .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--primary-color);
	border-radius: 100px;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.sidebar-cta-box:hover .sidebar-cta-box-body .icon-box::before{
	transform: scale(1);
}

.sidebar-cta-box-body .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
}

.sidebar-cta-box-content{
	margin-top: 30px;
}

.sidebar-cta-box-content h2,
.sidebar-cta-box-content h3{
	font-size: 20px;
	line-height: 1.4em;
	color: var(--white-color);
}

.sidebar-cta-box-content p{
	color: var(--white-color);
	border-top: 1px solid var(--dark-divider-color);
	padding: 15px 0 0;
	margin: 15px 0 0;
}

.sidebar-cta-box-content h3{
	margin-top: 30px;
}

.sidebar-cta-box-content h3 a{
	display: inline-block;
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.sidebar-cta-box-content h3 a:hover{
	color: var(--primary-color);
}

.page-single-image{
    margin-bottom: 40px;
}

.page-single-image figure{
	display: block;
	border-radius: 20px;
}

.page-single-image img{
    width: 100%;
    aspect-ratio: 1 / 0.568;
    object-fit: cover;
	border-radius: 20px;
}

.amenity-entry{
    margin-bottom: 60px;
}

.amenity-entry p{
    margin-bottom: 20px;
}

.amenity-entry h2{
	font-size: 52px;
    margin-bottom: 20px;
}

.amenity-entry h3{
	font-size: 20px;
    line-height: 1.4em;
    margin-bottom: 10px;
}

.amenity-entry p:last-child,
.amenity-entry h3:last-child{
	margin-bottom: 0;
}

.amenity-entry ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.amenity-entry ul li{
	position: relative;
	line-height: 1.4em;
	padding-left: 25px;
	margin-bottom: 15px;
}

.amenity-entry ul li:last-child{
	margin-bottom: 0;
}

.amenity-entry ul li::before{
	content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 6 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.amenity-feature-box,
.amenity-benefits-box{
	margin-top: 60px;
}

.amenity-feature-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	border-bottom: 1px solid var(--divider-color);
	margin: 40px 0;
	padding: 0 0 40px;
}

.amenity-feature-item{
	width: calc(33.33% - 20px);
	text-align: center;
}

.amenity-feature-item .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: var(--accent-color);
    border-radius: 100px;
    overflow: hidden;
}

.amenity-feature-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--primary-color);
	border-radius: 100px;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.amenity-feature-item:hover .icon-box::before{
	transform: scale(1);
}

.amenity-feature-item .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
}

.amenity-feature-item-content{
	margin-top: 20px;
}

.amenity-entry-image-video-box{
	position: relative;
}

.amenity-entry-image-video-box figure{
	display: block;
	border-radius: 20px;
}

.amenity-entry-image-video-box img{
	width: 100%;
	aspect-ratio: 1 / 0.444;
	border-radius: 20px;
	object-fit: cover;
}

.amenity-entry-image-video-box a{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90px;
	height: 90px;
	background: var(--dark-divider-color);
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
	border-radius: 50%;
	color: var(--white-color);
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: none;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.amenity-entry-image-video-box a:hover{
	background: var(--white-color);
	color: var(--primary-color);
}

.amenity-entry-image-video-box a i{
	font-size: 24px;
	color: inherit;
	margin-left: 2px;
}

.amenity-benefits-list{
	background: var(--white-color);
	border-radius: 20px;
	padding: 30px;
	margin: 40px 0;
}

/************************************/
/***     20. Blog Archive css	  ***/
/************************************/

.page-blog{
	padding: 100px 0;
}

.page-pagination{
    margin-top: 30px;
    text-align: center;
}

.page-pagination ul{
    justify-content: center;
    padding: 0;
    margin: 0;
}

.page-pagination ul li a,
.page-pagination ul li span{
    display: flex;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    background: var(--secondary-color);
    color: var(--primary-color);
	border-radius: 10px;
    width: 40px;
    height: 40px;
    margin: 0 5px;
    font-weight: 600;
	line-height: 1em;
    transition: all 0.3s ease-in-out;
}

.page-pagination ul li.active a, 
.page-pagination ul li a:hover{
    background: var(--accent-color);
	color: var(--white-color);
}

/************************************/
/***     21. Blog Single css	  ***/
/************************************/

.page-single-post{
	padding: 100px 0;
	background: var(--white-color);
}

.post-single-meta ol li{
	font-size: 18px;
	color: var(--white-color);
	margin-right: 15px;
}

.post-single-meta ol li:last-child{
	margin-right: 0;
}

.post-single-meta ol li i{
    font-size: 18px;
    color: var(--white-color);
    margin-right: 5px;
}

.post-title-block{
	margin-bottom: 25px;
}

.post-detail-title{
	font-size: 28px;
	line-height: 1.3em;
	margin-bottom: 16px;
	font-weight: 300;
}

.post-detail-meta{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
}

.post-detail-category{
	display: inline-block;
	padding: 5px 16px;
	background: rgba(206, 186, 130, 0.2);
	color: var(--primary-color);
	border-radius: 100px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.post-detail-date{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #777777;
	font-size: 14px;
}

.post-image{
	position: relative;
	margin-bottom: 30px;
}

.post-image-credit{
	display: block;
	margin-top: 10px;
	color: #999999;
	font-size: 13px;
	font-style: italic;
	text-align: right;
}

.post-image:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	/* background: rgba(0, 0, 0, 0.15); */
	border-radius: 20px;
	z-index: 1;
	pointer-events: none;
}

.post-image figure{
	display: block;	
	border-radius: 20px;
	overflow: hidden;
}

.post-image img{
	width: 100%;
	aspect-ratio: 1 / 0.50;
	object-fit: cover;
	border-radius: 20px;
}

.post-content{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.page-single-post .row > .col-lg-8{
    width: 780px;
    max-width: 100%;
}

.page-single-post .row > .col-lg-4{
    margin-left: auto;
}

.post-entry{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
    margin-bottom: 30px;
    text-align: justify;
}

.post-entry:after{
    content: '';
    display: block;
    clear: both;
}

.post-entry a{
    color: var(--accent-color);
}

.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6{
	font-weight: 400;
	line-height: 1.2em;
	margin: 0 0 0.4em;
}

.post-entry h1{
	font-size: 60px;
}

.post-entry h2{
	font-size: 52px;
}

.post-entry h3{
	font-size: 26px;
}

.post-entry h4{
	font-size: 22px;
	color: #af9c6a;
}

.post-entry h5{
	font-size: 20px;
}

.post-entry h6{
	font-size: 20px;
}

.post-entry p{
	margin-bottom: 20px;
}

.post-entry .post-entry-blank-line{
	height: 25px;
	margin: 0;
	padding: 0;
	line-height: 25px;
}

.post-entry p:last-child{
	margin-bottom: 0;
}

.post-entry p strong{
	color: #898080;
	font-size: 16px;
	font-weight: 600;
}

.post-entry ol{
    margin: 0 0 30px;
}

.post-entry ul{
	padding: 0;
	margin: 20px 0 20px;
	padding-left: 20px;
}

.post-entry ol li,
.post-entry ul li{
    position: relative;
	font-size: 18px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--text-color);
    margin-bottom: 15px;
}

.post-entry ul li:last-child{
	margin-bottom: 0;
}

.post-entry ul ul,
.post-entry ul ol,
.post-entry ol ol,
.post-entry ol ul{
    margin-top: 20px;
    margin-bottom: 0;
}

.post-entry ul ul li:last-child,
.post-entry ul ol li:last-child,
.post-entry ol ol li:last-child,
.post-entry ol ul li:last-child{
    margin-bottom: 0;
}

.post-entry blockquote{
	background: var(--secondary-color) url('../images/icon-blockquote.svg');
	background-repeat: no-repeat;
	background-position: 30px 30px;
    background-size: 45px;
	border-radius: 20px;
    padding: 30px 30px 30px 90px;
    margin-bottom: 30px;
}

.post-entry blockquote p{
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4em;
	color: var(--primary-color);
}

.post-entry blockquote p:last-child{
	margin-bottom: 0;
}

.tag-links{
    font-size: 20px;
	font-weight: 500;
    text-transform: capitalize;
	color: var(--primary-color);
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.post-tags .tag-links a{
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    text-transform: capitalize;
    line-height: 1em;
	background: var(--accent-color);
    color: var(--white-color);
	border-radius: 8px;
    padding: 12px 20px;
	transition: all 0.4s ease-in-out;
}

.post-tags .tag-links a:hover{
	background: var(--primary-color);
	color: var(--white-color);
}

.post-social-sharing{
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: right;
    margin-left: auto;
}

.post-social-sharing-label{
    font-size: 14px;
    font-weight: 500;
    color: var(--primary-color);
}

.post-social-sharing ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.post-social-sharing ul li{
    display: inline-block;
    margin-right: 10px;
}

.post-social-sharing ul li:last-child{
	margin-right: 0;
}

.post-social-sharing ul li a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	background: var(--accent-color);
    color: var(--white-color);
	border-radius: 8px;
    width: 30px;
    height: 30px;
    transition: all 0.4s ease-in-out;
}

.post-social-sharing ul li:hover a{
	background: var(--primary-color);
	color: var(--white-color);
}

.post-social-sharing ul li a i{
    font-size: 14px;
    color: inherit;
}

/************************************/
/***    22. Projects Page css	  ***/
/************************************/

.page-projects{
	padding: 100px 0 70px;
}

/************************************/
/***    23. Project Single css	  ***/
/************************************/

.page-project-single{
	padding: 100px 0 0 0;
}

.page-project-single .col-lg-8{
	padding-left: 50px;
}

.project-category-list ul li{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.project-category-list ul li span{
	font-weight: 500;
	color: #737b83;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.project-category-list ul li strong,
.project-category-list ul li a{
	font-weight: 400;
	color: var(--primary-color);
	font-size: 14px;
	line-height: 1.6em;
}

.project-category-list ul li a{
	padding-right: 22px;
}

.project-entry{
    margin-bottom: 60px;
}

.project-entry p{
    margin-bottom: 20px;
}

.project-entry h2{
	font-size: 26px;
    margin-bottom: 20px;
    font-weight: 300;
}

.project-entry h3{
	font-size: 20px;
    line-height: 1.4em;
    margin-bottom: 10px;
}

.project-entry p:last-child,
.project-entry h2:last-child,
.project-entry h3:last-child{
	margin-bottom: 0;
}

.project-entry ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.project-entry ul li{
	position: relative;
	line-height: 1.4em;
	padding-left: 25px;
	margin-bottom: 15px;
}

.project-entry ul li:last-child{
	margin-bottom: 0;
}

.project-entry ul li::before{
	content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 6 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.project-why-choose-box,
.project-amenity-box{
	margin-top: 60px;
}

.project-why-choose-body{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 40px;
}

.project-why-choose-image{
	width: calc(50% - 15px);
}

.project-why-choose-image figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.project-why-choose-image img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 0.668;
	object-fit: cover;
	border-radius: 20px;
}

.project-why-choose-item-list{
	width: calc(50% - 15px);
	background: var(--white-color);
	border-radius: 20px;
	padding: 30px;
}

.project-why-choose-item{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.project-why-choose-item:last-child{
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.project-why-choose-item .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: var(--accent-color);
    border-radius: 100px;
    overflow: hidden;
	margin-bottom: 30px;
}

.project-why-choose-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--primary-color);
	border-radius: 100px;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.project-why-choose-item:hover .icon-box::before{
	transform: scale(1);
}

.project-why-choose-item .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
}

.project-entry .section-footer-text{
	margin-top: 40px;
}

.project-amenity-item-slider{
	margin: 40px 0;
}

.project-amenity-item{
	min-height: 310px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	background: var(--white-color);
	border-radius: 20px;
	padding: 25px;
}

.project-amenity-item-header{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 20px;
}

.project-amenity-item-header .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: var(--accent-color);
    border-radius: 100px;
	margin-bottom: 30px;
    overflow: hidden;
}

.project-amenity-item-header .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--primary-color);
	border-radius: 100px;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.project-amenity-item:hover .project-amenity-item-header .icon-box::before{
	transform: scale(1);
}

.project-amenity-item-header .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
}

.project-amenity-pagination.swiper-pagination-bullets{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
}

.project-amenity-pagination .swiper-pagination-bullet{
	background: var(--divider-color);
	border-radius: 100px;
	width: 10px;
	height: 10px;
	margin: 0 3px;
	opacity: 1;
	transition: all 0.3s ease-in-out;
}

.project-amenity-pagination .swiper-pagination-bullet-active{
	width: 30px;
	background: var(--accent-color);
	opacity: 1;
}

/************************************/
/***      24. Team Page css 	  ***/
/************************************/

.page-team{
	padding: 100px 0 70px;
}

/************************************/
/***     25. Team Single css	  ***/
/************************************/

.page-team-single{
	padding: 100px 0;
}

.team-single-image{
	margin-bottom: 40px;
}

.team-single-image figure{
	display: block;
	border-radius: 20px;
}

.team-single-image img{
	width: 100%;
	aspect-ratio: 1 / 1.242;
	object-fit: cover;
	border-radius: 20px;
}

.team-member-about,
.team-member-skills{
	margin-bottom: 60px;
}

.team-contact-info-box{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
}

.team-contact-list-box{
	width: calc(80% - 15px);
	background: var(--white-color);
	border-radius: 20px;
	padding: 30px;
}

.team-contact-list-item{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.team-contact-list-item:last-child{
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.team-contact-item{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.team-contact-item .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: var(--accent-color);
    border-radius: 100px;
    overflow: hidden;
}

.team-contact-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--primary-color);
	border-radius: 100px;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.team-contact-item:hover .icon-box::before{
	transform: scale(1);
}

.team-contact-item .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
}

.team-contact-item-content{
	width: calc(100% - 65px);
}

.team-contact-item-content h3{
	font-size: 20px;
}

.team-contact-item-content p{
	margin: 5px 0 0;
}

.team-contact-info-box .contact-us-circle{
	width: calc(20% - 15px);
	text-align: center;
}

.member-social-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
	border-top: 1px solid var(--divider-color);
	margin-top: 40px;
	padding-top: 40px;
}

.member-social-list h3{
    font-size: 20px;
	font-weight: 600;
}

.member-social-list ul{
    display: flex;
    flex-wrap: wrap;
    gap: 10px 15px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.member-social-list ul li a{
    width: 36px;
    height: 36px;
	color: var(--white-color);
    background: var(--accent-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}

.member-social-list ul li:hover a{
    background: var(--primary-color);
}

.member-social-list ul li a i{
    font-size: 18px;
    color: inherit;
}

.skills-progress-bar{
	margin-bottom: 40px;
}

.skills-progress-bar:last-child{
	margin-bottom: 0;
}

.skills-progress-bar .skill-data{
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 15px;
}

.skills-progress-bar .skill-data .skill-title,
.skills-progress-bar .skill-data .skill-no{
    font-size: 20px;
	font-weight: 500;
    line-height: normal;
    color: var(--primary-color);
}

.skills-progress-bar .skillbar .skill-progress{
    position: relative;
    width: 100%;
    height: 10px;
    background: var(--white-color);
    border-radius: 100px;
    overflow: hidden;
}

.skills-progress-bar .skillbar .skill-progress .count-bar{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: var(--accent-color);
    border-radius: 100px;
}

.contact-us-form.team-contact-form{
	background: var(--white-color);
	border-radius: 20px;
	padding: 40px;
	margin: 0;
}

.team-contact-form .contact-form .form-control{
	background: var(--bg-color);
}

/************************************/
/***   26. Testimonials Page css  ***/
/************************************/

.page-testimonials{
	padding: 100px 0 70px;
}

.page-testimonials .testimonial-item{
	background-color: var(--white-color);
	border-radius: 20px;
	padding: 30px;
	min-height: 480px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.page-testimonials .testimonial-item .testimonial-item-content p{
	font-size: 18px;
}

.page-testimonials .testimonial-item .testimonial-author-content{
	margin-top: 30px;
	padding-top: 30px;
}

/************************************/
/***     27. Image Gallery css    ***/
/************************************/

.page-gallery{
	padding: 100px 0 70px;
}

.page-gallery .photo-gallery img{
	aspect-ratio: 1 / 0.81;
}

/************************************/
/***     28. Video Gallery css    ***/
/************************************/

.page-video-gallery{
	padding: 100px 0 70px;
}

.video-gallery-image{
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.video-gallery-image a{
	position: relative;
	display: block;
	cursor: none;
}

.video-gallery-image a::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
	border-radius: 20px;
    opacity: 0%;
    visibility: hidden;
    width: 100%;
    height: 100%;
    z-index: 1;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.video-gallery-image:hover a::before{
    opacity: 50%;
    visibility: visible;
    transform: scale(1);
}

.video-gallery-image a::after{
    content: '\f04b';
	font-family: 'FontAwesome';
    position: absolute;
    top: 50%;
    left: 50%;
    right: 0;
    transform: translate(-50%, -50%);
	font-size: 20px;
	background: var(--accent-color);
	color: var(--white-color);
    border-radius: 50%;
    height: 60px;
    width: 60px;
    cursor: none;
	display: flex;
	align-items: center;
	justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
    z-index: 1;
}

.video-gallery-image:hover a::after{
    opacity: 1;
    visibility: visible;
}

.video-gallery-image img{
	width: 100%;
	aspect-ratio: 1 / 0.81;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/***     29. FAQ's Page css       ***/
/************************************/

.page-faqs{
	padding: 100px 0;
}

.page-faqs .page-single-faqs{
    margin-bottom: 60px;
}

.page-faqs .page-single-faqs:last-child{
    margin-bottom: 0px;
}

/************************************/
/***   30. Contact Us Page css    ***/
/************************************/

.page-contact-us{
	padding: 100px 0 50px; 
}

.contact-us-content{
	background-image: none;
	border-radius: 20px;
	padding: 40px;
	overflow: hidden;
	margin-right: 15px;
}

.contact-info-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	border-top: 1px solid var(--dark-divider-color);
	padding-top: 40px;
}

.contact-info-item{
	width: calc(50% - 15px);
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.contact-info-item.location-item{
	width: 100%;
	max-width: 350px;
}

.contact-info-item .icon-box{
	position: relative;
	height: 50px;
	width: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--accent-color);
	border-radius: 50%;
}

.contact-info-item .icon-box:after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: var(--white-color);
	border-radius: 50%;
	width: 100%;
	height: 100%;
	transform:  scale(0);
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.contact-info-item:hover .icon-box::after{
	transform: scale(1);
}

.contact-info-item .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	z-index: 1;
	transition: all 0.4s ease-in-out;
}

.contact-info-item:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.contact-info-item-content{
	width: calc(100% - 65px);
}

.contact-info-item-content h3{
	font-size: 20px;
	color: var(--white-color);
	margin-bottom: 10px;
}

.contact-info-item-content p{
	color: var(--white-color);
	margin: 0;
}

.contact-info-item-content p a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.contact-info-item-content p a:hover{
	color: var(--accent-color);
}

.contact-us-content-footer{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
	margin-top: 40px;
}

.contact-us-content-footer-image figure{
	display: block;
	border-radius: 10px;
	margin: -70px -130px -140px 0px;
}

.contact-us-content-footer-image img{
	width: 100%;
	max-width: 345px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 10px;
}

.google-map{
    padding: 50px 0 100px;
}

.google-map-iframe iframe{
	width: 100%;
	height: 650px;
	border-radius: 20px;
}

/************************************/
/***    31. 404 Error Page css    ***/
/************************************/

.error-page{
	padding: 100px 0;
}

.error-page-image{
	text-align: center;
	margin-bottom: 30px;
}

.error-page-image img{
	width: 100%;
	max-width: 550px;
}

.error-page-content{
	text-align: center;
}

.error-page-content .section-title{
	margin-bottom: 15px;
}

/************************************/
/***      32. Responsive css      ***/
/************************************/

@media only screen and (max-width: 1850px){

	.bg-section{
		width: calc(100% - 30px);
	}

	.testimonials-page.bg-section{
		width: 100%;
	}

	.main-footer-moon.bg-section{
		width: 100%;
	}
}

@media only screen and (max-width: 1366px){

	.intro-video-image img{
		height: 750px;
	}

	.testimonial-client-box{
		max-width: 310px;
		margin: 0 0 20px 20px;
	}

	.testimonial-slider-box{
		min-height: initial;
		width: calc(100% - 400px);
		max-width: 765px;
		padding: 40px;
	}

	.testimonial-item{
		min-height: initial;
	}
}

@media only screen and (max-width: 1024px){

	.main-menu ul li{
		margin: 0;
	}

	.section-content-btn .section-btn{
		margin-top: 20px;
	}
	
	.section-title-content{
        margin-top: 10px;
    }

	.section-btn{
        text-align: left;
        margin-top: 15px;
	}

	.hero-image-title{
		bottom: -20px;
	}

	.hero-image-title h2{
        font-size: 290px;
    }

	.about-us-counter-list{
		gap: 40px;
	}

	.about-us-counter-item{
		width: calc(50% - 20px);
	}

	.about-us-counter-item::before{
		right: -20px;
	}

	.about-us-counter-item:nth-child(2n + 2)::before{
		display: none;
	}

	.why-choose-image-box,
	.why-choose-us-item{
		width: calc(50% - 15px);
	}

	.why-choose-counter-boxes{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}

	.why-choose-counter-item{
        width: calc(50% - 15px);
        margin: 0;
	}

	.cta-box-content{
		height: auto;
		margin-bottom: 30px;
	}

	.cta-client-box{
		max-width: 100%;
	}

	.cta-client-box-content{
		margin-top: 20px;
	}

	.team-item-image img{
		aspect-ratio: 1 / 1.08;
	}

	.our-testimonials-box{
		padding: 0;
	}

	.testimonial-image-cilent-box{
		position: relative;
	}

	.testimonial-image{
		position: initial;
		height: auto;
	}

	.testimonial-image figure,
	.testimonial-image img{
		height: auto;
	}

	.testimonial-client-box{
		position: absolute;
		bottom: 30px;
		left: 30px;
		max-width: 320px;
		margin: 0;
	}

	.testimonial-slider-box{
		width: 100%;
		max-width: 100%;
	}

	.testimonial-author-content{
		margin-top: 30px;
		padding-top: 30px;
	}

	.footer-header{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.about-footer{
		margin: 0 0 30px;
	}

	.about-footer-content{
		margin-top: 15px;
	}

	.footer-social-links{
		margin-top: 20px;
		padding-top: 20px;
	}

	.approach-image-box{
		height: auto;
		margin-bottom: 30px;
	}

	.approach-image,
	.approach-image figure,
	.approach-image img{
		height: auto;
	}

	.approach-image img{
		aspect-ratio: 1 / 0.78;
	}

	.approach-content{
		margin-left: 0;
	}

	.features-image-box{
		height: auto;
		margin-bottom: 30px;
	}

	.features-image,
	.features-image figure,
	.features-image img{
		height: auto;
	}

	.features-image img{
		aspect-ratio: 1 / 0.78;
	}

	.features-content{
		margin-left: 0;
		height: auto;
	}

	.faqs-content{
		position: initial;
		margin-bottom: 30px;
	}

	.page-single-sidebar{
		margin: 0;
	}

	.page-category-list .page-category-list-title{
        padding: 15px 20px;
    }

	.page-category-list ul,
	.sidebar-cta-box-body{
        padding: 20px;
    }

	.page-category-list ul li{
		margin-bottom: 15px;
		padding-bottom: 15px;
	}

	.sidebar-cta-box{
		padding: 15px;
	}

	.sidebar-cta-box-content,
	.sidebar-cta-box-content h3{
		margin-top: 20px;
	}

	.sidebar-cta-box-content h3{
		font-size: 18px;
	}

	.page-single-image{
		margin-bottom: 30px;
	}

	.amenity-entry{
		margin-bottom: 40px;
	}

	.amenity-feature-box,
	.amenity-benefits-box{
		margin-top: 40px;
	}

	.amenity-feature-item-list{
		margin: 30px 0;
		padding: 0 0 30px;
	}

	.amenity-entry-image-video-box a{
		width: 70px;
		height: 70px;
	}

	.amenity-entry-image-video-box a i{
		font-size: 20px;
	}

	.amenity-benefits-list{
		padding: 20px;
		margin: 30px 0;
	}

	.project-entry{
		margin-bottom: 40px;
	}

	.project-why-choose-box,
	.project-amenity-box{
		margin-top: 40px;
	}

	.project-why-choose-body{
		gap: 20px;
		margin-top: 30px;
	}

	.project-why-choose-image,
	.project-why-choose-item-list{
		width: calc(50% - 10px);
	}

	.project-why-choose-item-list{
		padding: 20px;
	}

	.project-entry .section-footer-text{
		margin-top: 30px;
	}

	.project-amenity-item-slider{
		margin: 30px 0;
	}

	.project-amenity-item{
		min-height: 265px;
	}

	.project-amenity-pagination.swiper-pagination-bullets{
		margin-top: 30px;
	}

	.team-member-about,
	.team-member-skills{
		margin-bottom: 40px;
	}

	.team-contact-list-box{
		padding: 20px;
	}

	.team-contact-list-item{
		gap: 20px;
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.member-social-list{
		margin-top: 30px;
		padding-top: 30px;
	}

	.contact-us-content{
		margin: 0 0 30px;
	}

	.contact-us-form{
		margin-left: 0;
	}

	.google-map-iframe iframe{
		height: 500px;
	}
}

@media only screen and (max-width: 991px){

	.btn-default{
        padding: 15px 37px 15px 15px;
    }

	.btn-default::before{
		right: 15px;
	}
	
	header.main-header{
		top: 60px;
		right: 0;
		left: 0;
	}

	header.main-header .header-sticky{
		width: 100%;
		border-radius: 0;
	}

	.top-header-bar{
		top: 26px;
		left: 8px;
		right: 8px;
	}

	.navbar-brand img{
		width: 169px;
	}

	.slicknav_nav .slicknav_row,
	.slicknav_nav li a{
		position: relative;
		font-size: 15px;
		font-weight: 300;
	}

	.top-header-bar .top-header-inner{
		padding: 8px 15px;
	}

	.top-header-social{
		gap: 8px;
	}

	.top-header-social span{
		display: none;
	}

	.top-header-social a{
		width: 22px;
		height: 22px;
		font-size: 10px;
	}

	.top-header-actions{
		gap: 14px;
	}

	.top-header-actions a{
		font-size: 0;
		gap: 0;
	}

	.top-header-actions a i{
		font-size: 14px;
	}
	
	header.main-header .header-sticky.active{
		width: 100%;
		left: 0;
		right: 0;
		border-radius: 0;
	}

	.navbar{
		padding: 20px 0;
	}

	.responsive-menu,
    .navbar-toggle{
        display: block;
    }

	.slicknav_nav li,
	.slicknav_nav ul{
        display: block;
    }

	.header-btn{
		display: none;
	}

	.bg-section{
		width: 100%;
		border-radius: 0;
		margin: 0;
	}

	.bg-section .container-fluid{
		padding: 0 15px;
	}

	.section-row{
		margin-bottom: 40px;
	}
	
	.section-title{
		margin-bottom: 30px;
	}

	.section-title .section-sub-title{
		padding: 6px 12px 6px 26px;
		margin-bottom: 10px;
	}

	.section-title .section-sub-title::before{
		left: 12px;
	}

	.section-title h1{
		font-size: 34px;
	}

	.section-title h2{
		font-size: 30px;
	}

	.section-title p{
		margin-top: 10px;
		font-size: 16px;
	}

	.hero{
		border-radius: 0;
		padding: 140px 0 0;
		margin: 0;
	}

	.hero-image-box{
		margin-top: 40px;
	}

	.hero-image{
		margin-bottom: -20px;
	}

	.hero-image-title h2{
        font-size: 220px;
    }

	.about-us{
		padding: 50px 0;
	}

	.about-us-counter-item h2{
		font-size: 38px;
	}

	.company-supports-slider-box{
		margin-top: 40px;
	}
	
	.company-supports-content{
		margin-bottom: 20px;
	}

	.company-supports-slider{
		padding: 0;
	}

	.our-amenities{
		background-position: top -40px right -40px;
		background-size: 250px auto;
		padding: 50px 0;
	}

	.amenity-item{
		padding: 30px;
	}

	.section-footer-text{
		margin-top: 10px;
	}

	.section-footer-text ul{
		margin-top: 10px;
	}

	.section-footer-text ul li{
		font-size: 18px;
		margin-right: 5px;
	}

	.section-footer-text ul li i{
		font-size: 16px;
	}

	.apartments-plans{
		padding: 50px 0;
	}

	.apartments-plan-item{
		padding: 20px;
	}

	.apartments-plan-item-image,
	.apartments-plan-item-list{
		margin-top: 20px;
	}

	.apartments-plan-item-image figure{
		max-width: 250px;
	}

	.apartments-plan-item-list ul li{
		margin-bottom: 15px;
		padding-bottom: 15px;
	}

	.intro-video-image img{
		height: 550px;
	}

	.why-choose-us{
		padding: 50px 0;
	}

	.why-choose-image-box,
	.why-choose-counter-item{
		padding: 20px;
	}

	.working-hour-box{
		padding: 20px;
	}

	.working-hour-box ul{
		margin-top: 15px;
		padding-top: 15px;
	}

	.working-hour-box ul li{
		margin-bottom: 10px;
	}

	.why-choose-us-item{
		padding: 20px 20px 0;
	}

	.why-choose-item-body-image figure{
		max-width: 220px;
	}

	.why-choose-counter-no{
		margin-bottom: 20px;
	}

	.why-choose-counter-no h2{
		font-size: 38px;
	}

	.why-choose-footer{
		margin-top: 40px;
	}

	.why-choose-footer-list ul{
		gap: 15px;
	}

	.why-choose-footer-list ul li{
		font-size: 14px;
        padding: 10px 12px 10px 26px;
    }

	.why-choose-footer-list ul li::before{
		left: 12px;
	}

	.why-choose-footer .section-footer-text{
        margin-top: 20px;
    }

	.our-projects{
		padding: 50px 0;
	}
	
	.project-item-image img{
		aspect-ratio: 1 / 1.58;
	}

	.project-item-btn{
		top: 20px;
		right: 20px;
	}

	.project-item-content{
		padding: 15px 20px;
	}

	.our-gallery{
		padding: 50px 0;
	}

	.cta-box{
        background-size: 250px auto;
        background-position: top -40px right -40px;
        padding: 50px 0;
    }

	.cta-form-box{
		padding: 30px;
	}

	.cta-form-title{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.cta-form-title h3{
		font-size: 26px;
	}

	.contact-form .form-control{
		padding: 13px 15px;
	}

	.our-team{
		padding: 50px 0;
	}

	.team-item:hover .team-social-list{
		padding-top: 15px;
		margin-top: 15px;
	}

	.testimonial-slider-box{
		padding: 30px;
	}

	.testimonial-item-content p{
		font-size: 18px;
	}

	.our-blog{
		padding: 50px 0 20px;
	}

	.post-featured-image{
		margin-bottom: 20px;
	}

	.post-item-meta{
		margin-bottom: 15px;
	}

	.post-item-meta ul li img{
		max-width: 18px;
	}

	.post-item-btn{
		margin-top: 15px;
		padding-top: 15px;
	}

	.main-footer{
		padding: 50px 0 30px;
	}

	.contact-us-circle a img{
		max-width: 100px;
	}

	.footer-header-title h2{
		font-size: 30px;
	}

	.footer-links h3{
		margin-bottom: 20px;
	}

	.footer-links ul li{
		margin-bottom: 10px;
	}

	.footer-contact-item-content h4{
		font-size: 18px;
	}

	.page-header{
		margin: 0;
		border-radius: 0;
		padding: 216px 0 52px;
	}

	.page-header-box h1{
		font-size: 28px;
	}

	.our-approach{
		background-position: top -40px right -40px;
		background-size: 250px auto;
		padding: 50px 0;
	}

	.approach-image-cta-box{
        right: 20px;
        bottom: 20px;
        left: 20px;
		padding: 15px;
    }
	
	.approach-body-item{
		padding: 20px;
	}

	.how-it-work{
		background-position: top -40px right -40px;
		background-size: 250px auto;
		padding: 50px 0;
	}

	.how-work-item{
		min-height: auto;
		padding: 20px;
	}

	.how-work-item-no{
		margin-right: -20px;
	}

	.how-work-item-content ul{
		margin-top: 20px;
		padding-top: 20px;
	}

	.our-features{
		padding: 50px 0;
	}

	.features-image-box .working-hour-box{
		max-width: 290px;
        right: 20px;
        bottom: 20px;
        left: 20px;
    }

	.features-content-btn{
		margin-top: 30px;
	}

	.our-faqs{
		padding: 50px 0;
	}

	.faq-accordion .accordion-item{
		margin-bottom: 20px;
	}

	.faq-accordion .accordion-header .accordion-button{
		padding: 15px 40px 15px 15px;
	}

	.faq-accordion .accordion-item .accordion-button::after,
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
		right: 15px;
		font-size: 18px;
	}

	.faq-accordion .accordion-item .accordion-body{
		padding: 15px;
	}

	.page-amenities{
		padding: 50px 0 20px;
	}

	.page-amenity-single{
		padding: 50px 0;
	}

	.page-single-sidebar,
	.page-category-list{
		margin-bottom: 30px;
	}

	.amenity-entry p{
		margin-bottom: 15px;
	}

	.amenity-entry h2{
		font-size: 38px;
		margin-bottom: 15px;
	}

	.amenity-entry ul li{
		margin-bottom: 10px;
	}

	.amenity-entry ul li::before{
		font-size: 16px;
	}
	
	.page-blog{
		padding: 50px 0;
	}

	.page-pagination{
		margin-top: 10px;
	}
	
    .page-single-post{
        padding: 50px 0;
    }
    
    .post-image{
        margin-bottom: 20px;
    }
    
    .post-entry h2{
        font-size: 38px;
    }
    
    .post-entry p{
        margin-bottom: 15px;
    }
    
    .post-entry ol li,
    .post-entry ul li{
		font-size: 16px;
        margin-bottom: 10px;
    }
    
    .post-entry blockquote{
        background-position: 20px 20px;
        background-size: 40px;
        padding: 20px 20px 20px 70px;
        margin-bottom: 20px;
    }
    
    .post-entry blockquote p{
        font-size: 18px;
    }
    
    .post-tags{
        margin-bottom: 20px;
    }
    
    .post-tags .tag-links a{
        padding: 12px 15px;
    }
    
    .post-social-sharing ul{
        text-align: left;
    }

	.page-projects{
		padding: 50px 0 20px;
	}

	.page-project-single{
		padding: 50px 0;
	}

	.page-project-single .col-lg-8{
		padding-left: 15px;
	}

	.project-entry p{
		margin-bottom: 15px;
	}

	.project-entry h2{
		font-size: 38px;
		margin-bottom: 15px;
	}

	.project-why-choose-item{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.project-why-choose-item .icon-box{
		margin-bottom: 20px;
	}

	.page-team{
		padding: 50px 0 20px;
	}

	.page-team-single{
		padding: 50px 0;
	}

	.team-single-image{
		margin-bottom: 30px;
	}

	.team-single-image img{
		aspect-ratio: 1 / 1.02;
	}

	.team-contact-info-box{
		gap: 20px;
	}

	.team-contact-list-box{
		width: calc(100% - 120px);
	}

	.team-contact-info-box .contact-us-circle{
		width: auto;
	}

	.skills-progress-bar{
		margin-bottom: 20px;
	}

	.skills-progress-bar .skill-data .skill-title,
	.skills-progress-bar .skill-data .skill-no{
		font-size: 18px;
	}

	.contact-us-form.team-contact-form{
		padding: 30px;
	}

	.page-testimonials{
		padding: 50px 0 20px;
	}

	.page-testimonials .testimonial-item{
        padding: 20px;
        min-height: initial;
    }

	.page-testimonials .testimonial-item .testimonial-item-content p{
		font-size: 16px;
	}

	.page-testimonials .testimonial-item .testimonial-author-content{
		margin-top: 20px;
		padding-top: 20px;
	}

	.page-gallery{
        padding: 50px 0 20px;
    }

    .page-video-gallery{
        padding: 50px 0 20px;
    }

    .page-faqs{
        padding: 50px 0;
    }

    .page-faqs .page-single-faqs{
        margin-bottom: 40px;
    }

	.error-page{
		padding: 50px 0px;
	}
	
	.error-page-image{
		margin-bottom: 20px;
	}

	.page-contact-us{
		padding: 50px 0 25px;
	}

	.contact-us-content{
        padding: 20px;
    }

	.contact-info-list{
        padding-top: 30px;
    }

	.contact-us-content-footer{
        margin-top: 30px;
    }

	.google-map{
		padding: 25px 0 50px;
	}

	.google-map-iframe iframe{
		height: 400px;
	}
}

@media only screen and (max-width: 767px){

	.section-row{
		margin-bottom: 16px;
	}

	.section-title h1{
		font-size: 28px;
	}

	.section-title h2{
		font-size: 26px;
	}

	.section-title p{
		font-size: 16px;
	}

	.hero-content-btn{
		gap: 20px;
	}

	.hero-image-box{
        margin-top: 30px;
    }

	.hero-image{
        margin-bottom: -10px;
    }

	.hero-image-title{
        bottom: 0;
    }

	.hero-image-title h2{
        font-size: 110px;
    }

	.about-us-counter-list{
		gap: 30px;
	}

	.about-us-counter-item{
		width: 100%;
	}

	.about-us-counter-item::before{
		width: 100%;
		height: 1px;
		top: auto;
		right: 0;
		left: 0;
		bottom: -15px;
	}

	.about-us-counter-item:nth-child(2n + 2):before{
		display: block;
	}

	.about-us-counter-item:last-child:before{
		display: none;
	}

	.about-us-counter-item h2{
		font-size: 26px;
	}

	.about-us-counter-item p{
		margin: 5px 0 0;
	}

	.company-supports-slider-box{
		margin-top: 30px;
	}

	.company-supports-content{
		gap: 10px;
	}

	.company-supports-logo img{
		max-width: 160px;
		height: 34px;
	}	

	.amenity-item{
        padding: 20px;
        min-height: 300px;
    }

	.amenity-item-content h2{
		font-size: 24px;
	}

	.amenity-item-content p{
		margin-top: 10px;
	}
	
	.apartments-plan-item{
        padding: 20px;
    }

	.apartments-plan-item-content h3{
		font-size: 18px;
	}

	.intro-video-image img{
        height: 350px;
    }

	.play-video-circle a{
		width: 80px;
		height: 80px;
	}

	.why-choose-image-box,
	.why-choose-us-item{
		width: 100%;
	}

	.why-choose-image-box{
		padding: 0;
		height: auto;
	}

	.why-choose-image,
	.why-choose-image figure,
	.why-choose-image img{
		height: auto;
	}

	.why-choose-image{
		position: initial;
	}

	.why-choose-image-box .working-hour-box{
		background: var(--accent-color);
		max-width: 100%;
		margin-top: 30px;
	}

	.working-hour-box h3{
		font-size: 18px;
	}

	.why-choose-item-content{
		margin-top: 15px;
	}

	.why-choose-item-content h3{
		font-size: 18px;
	}

	.why-choose-counter-item{
		width: 100%;
	}

	.why-choose-counter-no h2{
        font-size: 26px;
    }

	.why-choose-counter-content h3{
		font-size: 18px;
	}

	.why-choose-footer-list ul{
        gap: 6px;
    }

	.why-choose-footer-list ul li{
        padding: 8px 10px 8px 24px;
    }

	.why-choose-footer-list ul li::before{
        left: 10px;
    }

	.project-item-content h2{
		font-size: 18px;
	}

	.project-item-btn a{
		width: 42px;
		height: 42px;
	}

	.project-item-btn a img{
		max-width: 12px;
	}

	.photo-gallery img{
		aspect-ratio: 1 / 1.04;
	}

	.cta-client-box-content h3{
		font-size: 18px;
	}

	.cta-client-box-content p{
		margin: 10px 0 0;
		padding: 10px 0 0;
	}

	.cta-form-box{
        padding: 20px;
    }

	.cta-form-title{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

	.cta-form-title h3{
        font-size: 22px;
    }

	.team-item-body{
        right: 20px;
        bottom: 20px;
        left: 20px;
    }

	.team-item-content h2{
		font-size: 18px;
	}

	.testimonial-image img{
		aspect-ratio: 1 / 1.1;
	}

	.testimonial-client-box{
		max-width: 100%;
		left: 15px;
		bottom: 15px;
		right: 15px;
		padding: 15px;
	}

	.testimonial-client-box .satisfy-client-image img{
		max-width: 34px;
	}

	.testimonial-client-box-content{
		margin-top: 10px;
	}

	.testimonial-client-box-content p{
		font-size: 14px;
	}

	.testimonial-client-box,
	.testimonial-slider-box{
		padding: 20px;
	}

	.testimonial-item{
		gap: 20px;
	}

	.testimonial-item-rating i{
		font-size: 18px;
	}

	.testimonial-item-content{
		margin-top: 15px;
	}

	.testimonial-item-content p{
		font-size: 16px;
	}
	
	.testimonial-author-content{
        margin-top: 20px;
        padding-top: 20px;
    }

	.testimonial-author-content h2{
		font-size: 18px;
	}

	.testimonial-btn{
		position: initial;
		margin-top: 20px;
		justify-content: center;
	}

	.testimonial-slider .testimonial-button-next,
	.testimonial-slider .testimonial-button-prev{
		width: 38px;
		height: 38px;
	}

	.testimonial-slider .testimonial-button-next::before,
	.testimonial-slider .testimonial-button-prev::before{
		background-size: 10px auto;
	}

	.post-item-content h2{
		font-size: 18px;
	}

	.main-footer{
		padding-bottom: 15px;
	}

	.footer-header-title h2{
        font-size: 20px;
    }

	.about-footer{
		padding: 20px;
	}

	.footer-social-links h3{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-links{
		max-width: 100%;
	}

	.footer-links h3{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-copyright{
		gap: 10px;
        padding-top: 15px;
		flex-direction: column-reverse;
    }

	.page-header-box h1{
		font-size: 28px;
	}

	.approach-image img{
        aspect-ratio: 1 / 1.218;
    }

	.approach-image-cta-box{
        right: 15px;
        bottom: 15px;
        left: 15px;
		gap: 10px;
        padding: 10px;
    }

	.approach-image-cta-content{
		width: calc(100% - 60px);
	}

	.approach-image-cta-content h3{
		font-size: 16px;
	}

	.approach-body{
		flex-direction: column-reverse;
	}

	.approach-body-image-btn,
	.approach-body-items-list{
		width: 100%;
	}

	.approach-body-image,
	.approach-body-image figure,
	.approach-body-image img{
		height: auto;
	}

	.approach-body-item{
		margin-bottom: 20px;
	}

	.approach-body-item-title h3{
		font-size: 18px;
	}

	.approach-body-item-content{
	    margin-top: 15px;
		padding-top: 15px;
	}

	.how-work-item{
		gap: 20px;
    }

	.how-work-item-content h3{
		font-size: 18px;
	}

	.how-work-item-content p{
		margin-top: 5px;
	}

	.how-work-item-content ul{
        margin-top: 15px;
        padding-top: 15px;
    }

	.features-image img{
        aspect-ratio: 1 / 1.3;
    }

	.features-image-box .working-hour-box{
		max-width: 100%;
		left: 15px;
		right: 15px;
		bottom: 15px;
		padding: 15px;
	}

	.features-item-content{
		width: 100%;
	}

	.features-item-content h3{
		font-size: 18px;
	}

	.features-item-content p{
		margin: 5px 0 0;
	}

	.faq-accordion .accordion-header .accordion-button{
		font-size: 16px;
        padding: 12px 40px 12px 15px;
    }

	.faq-accordion .accordion-item .accordion-body{
        padding: 12px 15px;
    }

	.page-category-list .page-category-list-title,
	.sidebar-cta-box-content h2{
		font-size: 18px;
	}

	.page-single-image{
        margin-bottom: 20px;
    }

	.page-single-image img{
		aspect-ratio: 1 / 0.65;
	}

	.amenity-entry h2{
		font-size: 26px;
	}

	.amenity-entry h3{
		font-size: 18px;
	}

	.amenity-feature-item-list{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.amenity-feature-item{
		width: 100%;
	}

	.amenity-feature-item-content{
		margin-top: 10px;
	}

	.amenity-entry-image-video-box img{
		aspect-ratio: 1 / 0.56;
	}

	.amenity-benefits-list{
		padding: 15px;
	}

	.post-single-meta ol li,
	.post-single-meta ol li i{
		font-size: 16px;
	}

	.post-image img{
		aspect-ratio: 1 / 0.7;
	}

	.post-entry blockquote{
		padding: 65px 20px 20px 20px;
	}

	.post-entry blockquote p{
		font-size: 16px;
	}

	.post-entry h2{
		font-size: 26px;
	}
	
	.tag-links{
		font-size: 18px;
	}

	.project-entry h2{
		font-size: 26px;
	}

	.project-entry h3{
		font-size: 18px;
	}

	.project-why-choose-image,
	.project-why-choose-item-list{
		width: 100%;
	}

	.project-entry .section-footer-text{
        margin-top: 20px;
    }

	.project-amenity-item{
		min-height: auto;
	}

	.project-amenity-item-header .icon-box{
		margin-bottom: 20px;
	}

	.project-amenity-pagination.swiper-pagination-bullets{
        margin-top: 20px;
    }

	.team-contact-list-box{
		width: 100%;
	}

	.team-contact-list-item{
		margin-bottom: 20px;
		padding: 0;
		border: none;
	}

	.team-contact-item-content h3{
		font-size: 18px;
	}

	.member-social-list{
        margin-top: 20px;
        padding-top: 20px;
    }

	.member-social-list h3{
		font-size: 18px;
	}

	.member-social-list ul{
		gap: 10px;
	}

	.skills-progress-bar{
        margin-bottom: 20px;
    }

	.skills-progress-bar .skill-data .skill-title,
	.skills-progress-bar .skill-data .skill-no{
		font-size: 16px;
	}

	.contact-us-form.team-contact-form{
        padding: 20px;
    }

	.contact-info-list{
		gap: 20px;
	}

	.contact-info-item{
		width: 100%;
	}

	.contact-info-item-content h3{
		font-size: 18px;
		margin-bottom: 5px;
	}

	.contact-us-content-btn{
		width: 100%;
	}

	.contact-us-content-footer-image{
		width: 100%;
		text-align: right;
	}

	.contact-us-content-footer-image figure{
        margin: -30px -70px -80px 0px;
    }

	.contact-us-content-footer-image img{
		max-width: 250px;
	}

	.google-map-iframe iframe{
		height: 350px;
	}
}

/************************************/
/***   33. Home - Version 2 css	  ***/
/************************************/

.hero-moon{
    position: relative;
	height: 100vh;
	min-height: 700px;
	align-content: end;
	/* full width, square corners: no rounded corners or side margin around the banner */
    padding: 210px 0 59px;
    overflow: hidden;
}

.hero-moon::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	background: linear-gradient(0deg, transparent 50%, rgba(26, 26, 26, 0.60) 100%), linear-gradient(180deg, transparent 55%, rgba(26, 26, 26, 0.60) 85%);
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-moon.hero-video .hero-bg-video{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.hero-moon.hero-video .hero-bg-video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-moon .container{
    position: relative;
    z-index: 2;
}

/* home: tinted background behind the hero (shows in its 15px margin) and the welcome section;
   flow-root stops the hero's top margin collapsing out of it, which would leave a white strip */
.home-intro-bg{
	display: flow-root;
	background: #ceba820f;
}

.home-intro-bg .trust-about-section,
.home-intro-bg .hero-anniversary-mobile{
	background: transparent;
}

/* 42 years logo: bottom-right of the banner, level with the hero text (bottom = the hero's bottom padding) */
.hero-moon-anniversary{
	position: absolute;
	right: 5%;
	bottom: 78px;
	width: 125px;
	max-width: 26%;
	height: auto;
	pointer-events: none;
	z-index: 2;
	/* thin golden line around the logo, no background, a little space inside */
	box-sizing: content-box;
	padding: 8px 10px;
	border: 1px solid #ceba82;
	border-radius: 14px;
}

/* mobile copy of the logo, shown between the banner and the welcome section */
.hero-anniversary-mobile{
	display: none;
}

@media only screen and (max-width: 991px){
	.hero-moon-anniversary{
		top: 130px;
		right: 20px;
		bottom: auto;
		width: 120px;
		max-width: 40%;
		padding: 7px 9px;
		border-radius: 12px;
	}
}

@media only screen and (max-width: 767px){
	.hero-moon-anniversary{
		display: none;
	}

	.hero-anniversary-mobile{
		display: block;
		padding: 30px 16px 0;
		text-align: center;
		background: var(--white-color);
	}

	/* the 42 years logo, same image as on the desktop banner */
	.hero-anniversary-mobile img{
		width: 150px;
		max-width: 80%;
		height: auto;
	}

	/* the logo already gives the gap above the welcome content */
	.hero-anniversary-mobile + .trust-about-section{
		padding-top: 30px;
	}
}

.hero-content-moon .section-title{
	margin-bottom: 0;
}

.hero-content-moon .section-title .section-sub-title{
	background: var(--dark-divider-color);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
}

.hero-info-box-moon{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 30px;
	max-width: 465px;
	background: var(--dark-divider-color);
	border-radius: 20px;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
	padding: 10px;
	margin-left: auto;
}

.hero-info-image-moon{
	width: 100%;
	max-width: 200px;
}

.hero-info-image-moon figure{
	height: 100%;
	display: block;
	border-radius: 10px;
}

.hero-info-image-moon img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 10px;
}

.hero-info-content-moon{
	width: calc(100% - 230px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 20px 20px 0;
}

.hero-info-content-moon p{
	color: var(--white-color);
	font-weight: 500;
	margin: 0;
}

.hero-info-btn{
	border-top: 1px solid var(--dark-divider-color);
	padding-top: 20px;
}

.hero-info-btn .readmore-btn{
	color: var(--white-color);
}

.about-us-moon{
	padding: 100px 0;
}

.about-us-image-box-moon{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	margin-right: 15px;
}

.about-us-image-box-1-moon{
	width: 36%;
	display: flex;
	flex-direction: column;
	gap: 30px;
	padding-bottom: 30px;
}

.about-us-image-box-2-moon{
	position: relative;
	width: 64%;
}

.about-us-image-moon figure{
	border-radius: 20px;
	overflow: hidden;
}

.about-us-image-moon figure img{
	width: 100%;
	aspect-ratio: 1 / 1.021;
	object-fit: cover;
	border-radius: 20px;
}

.about-us-image-box-1-moon .about-us-image-moon figure{
	margin-right: -200px;
}

.about-us-image-box-1-moon .about-us-image-moon figure img{
	aspect-ratio: 1 / 0.959;
}

.happy-customer-box-moon{
	margin-right: 20px;
}

.happy-customer-box-content-moon{
	margin-top: 20px;
}

.happy-customer-box-content-moon p{
	line-height: normal;
	margin: 0;
}

.about-us-image-box-2-moon .contact-us-circle-moon{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50% , -50%);
	z-index: 2;
}

.contact-us-circle-moon a{
	display: inline-block;
	background: var(--white-color);
	padding: 10px;
	border-radius: 16px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
	transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.contact-us-circle-moon a:hover{
	transform: translateY(-5px);
	box-shadow: 0 25px 45px rgba(0, 0, 0, 0.2);
}

.contact-us-circle-moon img{
	width: 100%;
	max-width: 170px;
	border-radius: 8px;
	display: block;
}

.about-us-body-moon{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.about-us-body-item-moon{
	width: calc(50% - 15px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 25px;
}

.about-us-body-item-content-moon{
	width: calc(100% - 70px);
}

.about-us-body-item-content-moon h2{
	font-size: 40px;
}

.about-us-body-item-content-moon p{
	margin: 5px 0 0;
}

.about-us-body-item-moon .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.about-us-body-item-moon .icon-box::before{
   	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

 .about-us-body-item-moon:hover .icon-box::before{
    transform: scale(1);
}

.about-us-body-item-moon .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
	transition: all 0.4s ease-in-out;
    z-index: 1;
}

.about-us-body-item-moon:hover .icon-box img{
	filter: brightness(0) invert(1);
}

.about-us-footer-moon{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	border-top: 1px solid var(--divider-color);
	margin-top: 40px;
	padding-top: 40px;
}

.about-author-Box-moon{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.about-author-image-moon figure{
	display: block;
	border-radius: 50%;
}

.about-author-image-moon img{
	width: 100%;
	max-width: 50px;
	border-radius: 50%;
}

.about-author-content-moon h3{
	font-size: 20px;
}

.about-author-content-moon p{
	margin: 5px 0 0;
}

.our-amenities.our-amenities-moon .amenity-item .amenity-item-btn{
	margin-top: 0;
}

/* two buttons at the bottom of each amenity card: gold "View Details" + white-outline "Download Brochure" */
.amenity-item-btns{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.amenity-btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 22px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2em;
	transition: all 0.3s ease-in-out;
}

.amenity-btn-primary{
	background: #ceba82;
	border: 1px solid #ceba82;
	color: var(--white-color);
}

.amenity-btn-primary:hover{
	background: #b39a55;
	border-color: #b39a55;
	color: var(--white-color);
}

.amenity-btn-outline{
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.7);
	color: var(--white-color);
}

.amenity-btn-outline:hover{
	background: var(--white-color);
	border-color: var(--white-color);
	color: var(--primary-color);
}

@media (max-width: 575px){
	.amenity-btn{
		padding: 10px 16px;
		font-size: 14px;
	}
}

.apartments-plans-moon{
	padding: 60px 0;
}

/* project page: Location Map / Location Highlights section when the project has no video section -
   the same video-bg background image as the homepage sections */
.pd2-section.pd2-location-video-bg{
	background-color: #F7F7F2;
	background-image: url('../img/video-bg.webp');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* homepage "Ventures of SFS Homes" section (after amenities): same video-bg image as the awards slider */
.apartments-plans-moon.home-ventures-section{
	background-color: #F7F7F2;
	background-image: url('../img/video-bg.webp');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.apartments-plan-item-moon{
	background-color: var(--secondary-color);
	border-radius: 20px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 10px;
}

.apartments-plan-item-image-moon{
	margin-bottom: 30px;
}

.apartments-plan-item-image-moon figure{
	display: block;
	border-radius: 10px;
}

.apartments-plan-item-image-moon img{
	width: 100%;
    aspect-ratio: 1 / 0.556;
	object-fit: cover;
	border-radius: 10px;
}

.apartments-plan-item-body-moon{
	padding: 0 20px 20px;
}

/* Ventures of SFS Homes cards: venture logo on a dark frosted badge at the image's bottom-right
   (dark because some logos, e.g. HomeBridge, have white text on a transparent background) */
.venture-item-image{
	position: relative;
	margin-bottom: 20px;
}

.venture-logo-badge{
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	padding: 6px 10px;
	background: rgba(26, 26, 26, 0.72);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 10px;
	pointer-events: none;
}

.apartments-plan-item-image-moon .venture-logo-badge img{
	display: block;
	width: 130px;
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
	border-radius: 0;
}

.venture-item .apartments-plan-item-content-moon h3{
	margin-bottom: 0;
	text-transform: uppercase;
	font-weight: 300;
}

/* name + 2-line text on the left, round arrow "view more" button on the right */
.venture-item-body{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.venture-item-body .apartments-plan-item-content-moon{
	min-width: 0;
}

.venture-item-text{
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.5em;
	color: var(--text-color);
	/* always exactly 2 lines: longer text is cut with "…", shorter text keeps the space */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 3em;
}

.venture-more-btn{
	flex-shrink: 0;
	width: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #ceba82;
	color: var(--white-color);
	font-size: 15px;
	transition: all 0.3s ease-in-out;
}

.venture-more-btn i{
	transform: rotate(-45deg);
	transition: transform 0.3s ease-in-out;
}

.venture-more-btn:hover{
	background: #b39a55;
	color: var(--white-color);
}

.venture-more-btn:hover i{
	transform: rotate(0deg);
}

/* black overlay on the venture photo (the logo badge stays above it) */
.venture-item-image figure::before{
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 10px;
	background: #00000017;
	pointer-events: none;
}

/* venture photo: fixed height (px) instead of the template's aspect ratio */
.venture-item-image figure > img{
	height: 340px;
	aspect-ratio: auto;
}

@media (max-width: 767px){
	.apartments-plan-item-image-moon .venture-logo-badge img{
		width: 110px;
	}

	.venture-item-image figure > img{
		height: 280px;
	}
}

.apartments-plan-item-content-moon ul{
	list-style: disc;
	margin: 0 0 15px 0;
	padding: 0 0 0 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 30px;
}

.apartments-plan-item-content-moon ul li{
	line-height: normal;
}

.apartments-plan-item-content-moon ul li::marker{
	color: var(--accent-color);
}

.apartments-plan-item-content-moon h3{
	font-size: 20px;
}

.apartments-plan-item-list-moon{
	margin-top: 30px;
}

.apartments-plan-item-list-moon ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.apartments-plan-item-list-moon ul li{
	color: var(--primary-color);
	font-weight: 500;
	line-height: 1.5em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 15px;
	padding-bottom: 15px;
}

.apartments-plan-item-list-moon ul li:last-child{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.apartments-plan-item-list-moon ul li span{
	color: var(--text-color);
	font-weight: 400;
}

.why-choose-us-moon{
	padding: 100px 0;
}

.why-choose-image-moon{
	text-align: center;
}

.why-choose-image-moon figure{
	display: block;
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	border-radius: 50%;
}

.why-choose-image-moon img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
}

.why-choose-header-moon p{
	color: var(--white-color);
	margin: 20px 0 0;
}

.why-choose-header-moon p:first-child{
	margin: 0;
}

.why-choose-body-moon{
	margin-top: 40px;
}

.why-choose-counter-list-moon{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	border-bottom: 1px solid var(--dark-divider-color);
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.why-choose-counter-list-moon:last-child{
	margin-bottom: 0px;
	padding-bottom: 0px;
	border-bottom: none;
}

.why-choose-counter-item-moon{
	width: calc(50% - 15px);
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.why-choose-counter-item-moon:last-child{
	margin-bottom: 0;
}

.why-choose-counter-item-moon .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.why-choose-counter-item-moon .icon-box::before{
   	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--white-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.why-choose-counter-item-moon:hover .icon-box::before{
    transform: scale(1);
}

.why-choose-counter-item-moon .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
	transition: all 0.4s ease-in-out;
}

.why-choose-counter-item-moon:hover .icon-box img{
    filter: brightness(0) invert(0);
}

.why-choose-counter-item-content-moon{
	width: calc(100% - 65px);
}

.why-choose-counter-item-content-moon h2{
	font-size: 40px;
	color: var(--white-color);
}

.why-choose-counter-item-content-moon p{
	color: var(--white-color);
	margin: 10px 0 0;
}

.why-choose-footer-moon{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 40px;
	padding-top: 40px;
}

.about-us-contact-box-moon{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.about-us-contact-box-moon .icon-box{
    position: relative;
    background: var(--accent-color);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about-us-contact-box-moon .icon-box::before{
    content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: var(--white-color);
	border-radius: 50%;
	width: 100%;
	height: 100%;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.about-us-contact-box-moon:hover .icon-box::before{
    transform: scale(1);
}

.about-us-contact-box-moon .icon-box img{
    position: relative;
    width: 100%;
    max-width: 24px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.about-us-contact-box-moon:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.about-us-conatct-content-moon h3{
	color: var(--white-color);
	font-size: 20px;
	line-height: normal;
}

.about-us-conatct-content-moon p{
	color: var(--white-color);
	margin: 5px 0 0;
}

.about-us-conatct-content-moon p a{
	color: inherit;
    transition: all 0.4s ease-in-out;
}

.about-us-conatct-content-moon p a:hover{
	color: var(--accent-color);
}

.what-we-do-moon{
	/* homepage Awards & Recognition slider: same video-bg image as the Trivandrum slider /
	   Homecare / Testimonials sections; the light gold shows while it loads */
	background-color: #ceba820f;
	background-image: url('../img/video-bg.webp');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
	padding: 80px 0;
}

.what-we-list-moon ul{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.what-we-list-moon ul li{
	width: calc(50% - 10px);
	position: relative;
	color: var(--primary-color);
	line-height: 1.5em;
	padding-left: 25px;
}

.what-we-list-moon ul li::before{
	content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 6 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.what-we-footer-moon{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	border-top: 1px solid var(--divider-color);
	margin-top: 40px;
	padding-top: 40px;
}

/* What We Do slider: the whole section (text + image) slides as one panel.
   Top padding keeps the round contact badge (it pokes 10px above the image) from being clipped. */
.what-we-do-slider{
	padding-top: 12px;
	padding-bottom: 12px;
}

/* What We Do slider arrows (replace the "Explore Homes" button): solid gold, deeper gold on hover */
.what-we-do-nav{
	display: flex;
	align-items: center;
	gap: 12px;
}

.what-we-do-nav button{
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: none;
	background: #ceba82;
	color: var(--white-color);
	font-size: 16px;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.what-we-do-nav button:hover{
	background: #b39a55;
	color: var(--white-color);
}

/* each slide's logo: same white box + position as the old Contact Us badge (top-left of the image);
   logos differ in shape, so they're fitted inside a fixed square */
.what-we-do-logo-badge span{
	display: inline-block;
	background: var(--white-color);
	padding: 8px;
	border: 1px solid rgba(206, 186, 130, 0.5);
	border-radius: 50%;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.what-we-do-logo-badge img{
	width: 120px;
	max-width: none;
	height: 120px;
	object-fit: contain;
	border-radius: 50%;
	padding: 10px;
}

/* heading in the slides: sentence case and larger than the other section h2s (reference design) */
.what-we-do-slider .section-title h2{
	font-size: 38px;
	line-height: 1.2;
	text-transform: none;
}

/* tick points under the text, two per row */
.what-we-do-points{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 30px;
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
}

/* each tick point on a light, slightly see-through card */
.what-we-do-points li{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(206, 186, 130, 0.25);
	border-radius: 14px;
	color: var(--primary-color);
	font-size: 16px;
	line-height: 1.4em;
}

.what-we-do-points li i{
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #ceba82;
	color: var(--white-color);
	font-size: 11px;
}

.what-we-do-slider .what-we-footer-moon{
	margin-top: 30px;
	padding-top: 30px;
}

@media (max-width: 991px){
	.what-we-do-slider .section-title h2{
		font-size: 30px;
	}
}

@media (max-width: 767px){
	.what-we-do-logo-badge img{
		width: 80px;
		height: 80px;
		padding: 6px;
	}

	.what-we-do-slider .section-title h2{
		font-size: 24px;
	}

	.what-we-do-points{
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

.what-we-footer-moon .about-us-contact-box-moon .icon-box::before{
	background: var(--primary-color);
}

.what-we-footer-moon .about-us-contact-box-moon:hover .icon-box img{
	filter: none;
}

.what-we-footer-moon .about-us-conatct-content-moon h3{
	color: var(--primary-color);
}

.what-we-footer-moon .about-us-conatct-content-moon p{
	color: var(--text-color);
}

.what-we-image-box{
	position: relative;
	margin-left: 20px;
	padding: 0 86px 27px 79px;
}

.what-we-image-box:before{
	position: absolute;
	content: '';
	right: 45px;
	bottom: -9px;
	width: 310px;
	height: 372px;
	background-color: var(--accent-color);
	border-radius: 20px;
}

.what-we-image-box .contact-us-circle-moon{
	position: absolute;
	top: 0;
	transform: translate(-50% , -10px);
	z-index: 2;
}

.what-we-image-box .contact-us-circle-moon a{
	border-color: var(--white-color);
}

.what-we-image-moon figure{
	display: block;
	border-radius: 20px;
}

.what-we-image-moon img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 20px;
}

/* Awards & Recognition slider: a light black overlay on the image (the logo badge sits outside
   it, so it stays bright; the hover shine of .image-anime still shows on top) */
.what-we-image-moon{
	position: relative;
}

.what-we-image-moon figure::before{
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0, 0, 0, 0.1); /* black at 10% */
	border-radius: 20px;
	pointer-events: none;
}

.our-faqs-moon{
	padding: 100px 0;
}

.faqs-content-moon{
	position: sticky;
	top: 30px;
	margin-right: 15px;
}

.faqs-cta-box-moon{
	position: relative;
	max-width: 450px;
}

.faqs-cta-box-img-moon figure{
	position: relative;
}

.faqs-cta-box-img-moon figure:before{
	position: absolute;
	content: '';
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	background: linear-gradient(180deg, transparent 50.16%, var(--primary-color) 100%);
}

.faqs-cta-box-img-moon img{
	width: 100%;
	aspect-ratio: 1 / 0.626;
	object-fit: cover;
	border-radius: 20px;
}

.faqs-cta-box-moon .about-us-contact-box-moon{
	position: absolute;
	bottom: 20px;
	left: 20px;
	z-index: 2;
}

.faq-accordion-moon .accordion-item{
	background: var(--white-color);
    border: none;
    border-radius: 20px;
    margin-bottom: 25px;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.faq-accordion-moon .accordion-item:last-child{
	margin-bottom: 0;
}

.faq-accordion-moon .accordion-header .accordion-button{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4em;
    color: var(--primary-color);
    padding: 20px 55px 20px 30px;
    transition: all 0.3s ease-in-out;
}

.faq-accordion-moon .accordion-item .accordion-button::after,
.faq-accordion-moon .accordion-item .accordion-button.collapsed::after{
    content: '\2b';
    font-family: 'FontAwesome';
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
	font-size: 20px;
	color: var(--primary-color);
    transition: all 0.4s ease-in-out;
}

.faq-accordion-moon .accordion-button:not(.collapsed)::after{
    content: '\f068';
}

.faq-accordion-moon .accordion-item .accordion-body{
    border-top: 1px solid var(--divider-color);
    padding: 20px 30px;
}

.faq-accordion-moon .accordion-item .accordion-body p{
    margin-bottom: 0;
}

.our-testimonials-moon{
	position: relative;
	padding: 100px 0;
	background-image: url('../images/testimonial-bg-image-moon.jpg');
	background-position: center center;
	overflow: hidden;
}

.our-testimonials-moon:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--primary-color);
	opacity: 80%;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.our-testimonials-moon .container{
	position: relative;
	z-index: 2;
}

.testimonial-slider-moon .swiper-wrapper{
	cursor: none;
}

.testimonial-slider-moon .swiper-wrapper .swiper-slide.swiper-slide-next .testimonial-item-moon{
	transform: scale(1);
}

.testimonial-item-moon{
	background-color: var(--dark-divider-color);
	backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
	border-radius: 20px;
	padding: 30px;
	text-align: center;
	transform: scale(0.95);
	transition: all 0.6s ease-in-out;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.testimonial-item-quotes-moon{
	margin-bottom: 30px;
}

.testimonial-item-quotes-moon img{
	width: 100%;
	max-width: 60px;
}

.testimonial-item-body-moon{
	display: flex;
	flex-direction: column;
	flex: 1;
}

.testimonial-item-content-moon{
	flex: 1;
}

.testimonial-item-content-moon p{
	font-size: 16px;
	font-weight: 500;
	color: var(--white-color);
	margin: 0;
}

.testimonial-item-author-moon{
	margin-top: 20px;
}

.testimonial-author-content-moon h2{
	font-size: 16px;
	color: var(--white-color);
}

.testimonial-author-content-moon p{
	color: var(--white-color);
	margin: 0px 0 0;
}

.testimonial-author-image-moon{
	margin-top: 20px;
}

.testimonial-author-image-moon figure{
	display: block;
	max-width: 60px;	
	border-radius: 50%;
	margin: 0 auto;
}

.testimonial-author-image-moon img{
	width: 100%;
	max-width: 60px;
	border-radius: 50%;
}

.our-testimonials-moon .section-footer-text{
	margin-top: 60px;
}

.footer-gallery-moon{
	background-color: transparent;
	margin-bottom: 20px;
}

.footer-gallery-list-moon{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.footer-gallery-list-moon .photo-gallery{
	width: calc(16.66% - 16.66px);
	margin: 0;
}

.footer-gallery-list-moon .photo-gallery a{
	cursor: none;
}

.footer-gallery-list-moon .photo-gallery figure{
	display: block;
	border-radius: 10px;
}

.footer-gallery-list-moon .photo-gallery figure img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 20px;
}

.main-footer-moon{
	padding: 100px 0 0;
	margin-bottom: 20px;
}

.footer-header-moon{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid var(--dark-divider-color);
	margin-bottom: 60px;
	padding-bottom: 60px;
}

.footer-header-moon .section-title{
	max-width: 850px;
	margin: 0;
}

.lets-talk-btn-moon a{
	color: var(--white-color);
	font-weight: 600;
	text-transform: uppercase;
	width: 120px;
	height: 120px;
	background-color: var(--accent-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	transition: all 0.4s ease-in-out;
}

.lets-talk-btn-moon a:hover{
	background-color: var(--white-color);
	color: var(--primary-color);
	letter-spacing: 0.02em;
}

.footer-logo-moon img{
	width: 100%;
	max-width: 133px;
}

.footer-contact-box-moon{
    display: flex;
    flex-wrap: wrap;
    gap: 30px 4.167vw;
}

.footer-contact-item-moon{
    position: relative;
    width: calc(30% - 2.778vw);
}

.footer-contact-item-moon.newsletter-form-moon{
	width: calc(40% - 2.778vw);
}

.footer-contact-item-moon::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: -2.083vw;
    background: var(--dark-divider-color);
    width: 1px;
    height: 100%;
}

.footer-contact-item-moon:last-child::before{
	display: none;
}

.footer-contact-item-moon h3{
	font-size: 20px;
	color: var(--white-color);
	margin-bottom: 30px;
}

.footer-contact-item-moon p{
	color: var(--white-color);
	margin: 0 0 2px 0;
}

.footer-contact-item-moon p:last-child{
	margin-bottom: 0;
}

.footer-contact-item-moon p a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.footer-contact-item-moon p a:hover{
	color: var(--accent-color);
}

.footer-newsletter-form-moon .form-group{
	display: flex;
    flex-wrap: wrap;
	background-color: var(--dark-divider-color);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
    border: none;
    border-radius: 10px;
    padding: 5px;
}

.footer-newsletter-form-moon .form-group .form-control{
	width: calc(100% - 50px);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--white-color);
    background: transparent;
    border: none;
    outline: none;
    box-shadow: none;
    padding: 6px 15px;
}

.footer-newsletter-form-moon .form-group .form-control::placeholder{
	color: var(--white-color);
}

.footer-newsletter-form-moon .form-group .newsletter-btn-moon{
	width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--accent-color);
    border: none;
    border-radius: 10px;
    outline: none;
    box-shadow: none;
    transition: all 0.3s ease-in-out;
}

.footer-newsletter-form-moon .form-group .newsletter-btn-moon:hover{
    background-color: var(--white-color);
}

.footer-newsletter-form-moon .form-group .newsletter-btn-moon i{
	font-size: 24px;
    color: var(--white-color);
    margin-right: 3px;
    transition: all 0.3s ease-in-out;
}

.footer-newsletter-form-moon .form-group .newsletter-btn-moon:hover i{
	color: var(--primary-color);
}

.footer-copyright-moon{
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 60px;
	padding: 60px 0;
}

.footer-copyright-box-moon{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.footer-menu-moon ul{
    display: flex;
    flex-wrap: wrap;
    gap: 10px 25px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-menu-moon ul li{
    text-transform: capitalize;
	font-weight: 600;
    color: var(--white-color);
    line-height: 1.5em;
}

.footer-menu-moon ul li a{
    color: inherit;
    transition: all 0.3s ease-in-out;
}

.footer-menu-moon ul li a:hover{
    color: var(--accent-color);
}

.footer-copyright-text-moon p{
    color: var(--white-color);
    margin: 0;
}

@media only screen and (max-width: 1024px){

	.hero-info-box-moon{
		margin: 30px 0 0 0;
	}

	.about-us-image-box-moon{
		max-width: 620px;
		margin: 0 auto 30px;
	}

	.why-choose-image-moon{
		max-width: 680px;
		margin: 0 auto 30px;
	}

	.what-we-do-content-moon{
		margin: 0 0 30px;
	}

	.what-we-footer-moon{
		margin-top: 30px;
		padding-top: 30px;
	}

	.what-we-image-box{
		max-width: 700px;
		margin: 0 auto;
	}
	
	.faqs-content-moon{
		position: initial;
		margin: 0 0 30px 0;
	}

	.testimonial-item-moon{
		transform: scale(1);
	}
	
	.our-testimonials-moon .section-footer-text{
		margin-top: 40px;
	}

	.about-footer-moon{
		margin-bottom: 30px;
	}

	.footer-contact-item-moon h3{
		margin-bottom: 20px;
	}
}

@media only screen and (max-width: 991px){

	.hero-moon{
		height: auto;
		border-radius: 0;
		align-content: center;
		padding: 140px 0 50px;
		margin: 0;
	}

	.about-us-moon{
		padding: 50px 0;
	}

	.contact-us-circle-moon img{
		max-width: 120px;
	}

	.about-us-body-item-moon{
		padding: 20px;
	}

	.about-us-body-item-content-moon h2{
		font-size: 34px;
	}

	.about-us-footer-moon{
		margin-top: 30px;
		padding-top: 30px;
	}

	.apartments-plans-moon{
		padding: 50px 0;
	}

	.apartments-plan-item-image-moon{
		margin-bottom: 20px;
	}

	.apartments-plan-item-body-moon{
        padding: 0 10px 10px;
    }

	.apartments-plan-item-content-moon ul{
		margin-bottom: 10px;
	}

	.apartments-plan-item-list-moon{
		margin-top: 20px;
	}

	.apartments-plan-item-list-moon ul li{
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	.why-choose-us-moon{
		padding: 50px 0;
	}

	.why-choose-body-moon{
		margin-top: 30px;
	}

	.why-choose-counter-list-moon{
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

	.why-choose-counter-item-content-moon h2{
		font-size: 34px;
	}

	.why-choose-footer-moon{
		gap: 20px 30px;
		margin-top: 30px;
		padding-top: 30px;
	}

	/* tablets / phones: the background image covers the whole section, as on desktop
	   (the template's small 250px corner image left most of the section without it) */
	.what-we-do-moon{
		background-position: center center;
		background-size: cover;
		padding: 50px 0;
	}

	.what-we-list-moon ul li::before{
		font-size: 16px;
	}

	.what-we-footer-moon{
		gap: 20px 30px;
		margin-top: 30px;
		padding-top: 30px;
	}

	.our-faqs-moon{
		padding: 50px 0;
	}

	.faq-accordion-moon .accordion-item{
		border-radius: 14px;
		margin-bottom: 20px;
	}

	.faq-accordion-moon .accordion-header .accordion-button{
		font-size: 18px;
		padding: 15px 45px 15px 20px;
	}

	.faq-accordion-moon .accordion-item .accordion-button::after,
	.faq-accordion-moon .accordion-item .accordion-button.collapsed::after{
		font-size: 18px;
		right: 20px;
	}

	.faq-accordion-moon .accordion-item .accordion-body{
		padding: 15px 20px;
	}

	.our-testimonials-moon{
		padding: 50px 0;
	}

	.testimonial-item-moon{
		padding: 20px;
	}

	.testimonial-item-quotes-moon{
		margin-bottom: 20px;
	}

	.testimonial-item-quotes-moon img{
		max-width: 50px;
	}

	.testimonial-item-author-moon{
		margin-top: 20px;
	}

	.testimonial-author-content-moon p{
		margin-top: 5px;
	}

	.testimonial-author-image-moon{
		margin-top: 15px;
	}

	.testimonial-author-image-moon figure,
	.testimonial-author-image-moon img{
		max-width: 50px;
	}

	.testimonials-client-section .testimonial-item-author-moon{
		justify-content: center;
	}

	.footer-gallery-moon{
		margin-bottom: 15px;
	}

	.footer-gallery-list-moon{
		gap: 15px;
	}

	.footer-gallery-list-moon .photo-gallery{
		width: calc(16.66% - 12.5px);
	}

	.main-footer-moon{
		padding: 50px 0 0;
		margin-bottom: 0;
	}

	.footer-header-moon{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.lets-talk-btn-moon a{
		height: 100px;
		width: 100px;
		font-size: 14px;
	}

	.footer-newsletter-form-moon .form-group .form-control{
		width: calc(100% - 40px);
	}

	.footer-newsletter-form-moon .form-group .newsletter-btn-moon{
		width: 40px;
		height: 40px;
	}

	.footer-newsletter-form-moon .form-group .newsletter-btn-moon i{
		font-size: 20px;
	}

	.footer-copyright-moon{
		margin-top: 30px;
		padding: 30px 0;
	}

	.footer-menu-moon ul{
		gap: 10px 15px;
	}
}

@media only screen and (max-width: 767px){

	.hero-info-image-moon{
		max-width: 100%;
	}

	.hero-info-image-moon img{
		aspect-ratio: 1 / 0.6;
	}

	.hero-info-content-moon{
		width: 100%;
		padding: 0 10px 10px;
	}

	.about-us-image-box-1-moon{
		gap: 10px;
		padding-bottom: 10px;
	}

	.happy-customer-box-moon{
		margin-right: 10px;
	}

	.happy-customer-box-content-moon{
		margin-top: 5px;
	}

	.about-us-image-box-1-moon .satisfy-client-image img{
		max-width: 34px;
	}

	.happy-customer-box-content-moon p{
		font-size: 14px;
	}

	.about-us-image-box-1-moon .about-us-image-moon figure{
        margin-right: -110px;
    }

	.about-us-image-box-2-moon .contact-us-circle-moon img{
		max-width: 80px;
	}

	.contact-us-circle-moon img{
        max-width: 100px;
    }

	.about-us-body-moon{
		gap: 20px;
	}

	.about-us-body-item-moon{
		width: 100%;
	}

	.about-us-body-item-content-moon h2{
		font-size: 28px;
	}

	.about-us-footer-moon{
		gap: 20px;
	}

	.about-author-content-moon h3{
		font-size: 18px;
	}

	.apartments-plan-item-content-moon h3{
		font-size: 18px;
	}

	.why-choose-counter-list-moon{
		gap: 20px;
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 20px;
	}

	.why-choose-counter-item-moon{
		width: 100%;
	}
	
	.why-choose-counter-item-content-moon h2{
        font-size: 28px;
    }

	.why-choose-counter-item-content-moon p{
        margin-top: 5px;
    }

	.why-choose-footer-moon{
		gap: 20px;
	}

	.about-us-conatct-content-moon h3{
		font-size: 18px;
	}

	.what-we-list-moon ul{
		gap: 10px;
	}

	.what-we-list-moon ul li{
		width: 100%;
	}

	.what-we-footer-moon{
		gap: 20px;
	}

	.what-we-image-box{
		padding: 0 25px 25px 50px;
	}

	.what-we-image-box:before{
		right: 0;
		bottom: 0;
		width: 210px;
    	height: 272px;
	}

	.faqs-cta-box-moon{
		max-width: 100%;
	}

	.faq-accordion-moon .accordion-header .accordion-button{
		font-size: 16px;
        padding: 12px 40px 12px 15px;
	}

	.faq-accordion-moon .accordion-item .accordion-body{
        padding: 12px 15px;
    }

	.testimonial-item-quotes-moon{
        margin-bottom: 15px;
    }

	.testimonial-item-content-moon p{
		font-size: 16px;
	}

	.testimonial-author-content-moon h2{
		font-size: 16px;
	}

	.testimonial-author-content-moon p{
		margin: 5px 0 0;
	}

	.footer-gallery-list-moon .photo-gallery{
		width: calc(33.33% - 10px);
	}

	.lets-talk-btn-moon{
		display: none;
	}

	.footer-contact-item-moon,
	.footer-contact-item-moon.newsletter-form-moon{
		width: 100%;
	}

	.footer-contact-box-moon{
		gap: 40px 30px;
	}

	.footer-contact-item-moon::before{
		top: auto;
		right: 0;
		bottom: -20px;
		left: 0;
		width: 100%;
		height: 1px;
	}

	.footer-contact-item-moon h3{
		font-size: 18px;
        margin-bottom: 15px;
    }

	.footer-copyright-moon{
        padding: 15px 0;
    }

	.footer-copyright-box-moon{
		justify-content: center;
	}

	.footer-menu-moon ul{
		gap: 10px;
	}
}

/************************************/
/***   34. Home - Version 3 css	  ***/
/************************************/

header.main-header.main-header-prime{
	position: initial;
	border: none;
	margin: 30px 15px 0;
}

header.main-header.main-header-prime .header-sticky{
	background: var(--white-color);
	border-radius: 20px;
}

header.main-header.main-header-prime .header-sticky.active{
	top: 15px;
	left: 15px;
	right: 15px;
	border: 1px solid var(--divider-color);
}

header.main-header.main-header-prime .container-fluid{
	padding: 0;
}

.main-header-prime .navbar{
	padding: 25px 30px;
	align-items: center;
}

header.main-header.main-header-prime .main-menu ul li a{
	color: var(--primary-color);
}

header.main-header.main-header-prime .main-menu ul li a:hover,
header.main-header.main-header-prime .main-menu ul li a:focus{
	color: var(--accent-color);
}

header.main-header.main-header-prime .main-menu ul ul li a{
	color: var(--white-color);
}

header.main-header.main-header-prime .main-menu ul ul li a:hover,
header.main-header.main-header-prime .main-menu ul ul li a:focus{
	color: var(--primary-color);
}

header.main-header.main-header-prime .slicknav_menu{
	border-radius: 20px;
	margin-top: 10px;
}

.hero-prime{
	background: transparent;
	margin-top: 30px;
}

.hero-box-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.hero-content-prime,
.hero-image-prime{
	position: relative;
	width: calc(50% - 15px);
}

.hero-content-prime{
	background-image: url('../images/hero-content-bg-image-prime.png');
	padding: 3.125vw;
	border-radius: 20px;
	align-content: center;
	text-align: center;
}

.hero-content-prime::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: url('../images/hero-content-building-image-prime.png') no-repeat;
	background-size: cover;
	background-position: center center;
	width: 100%;
	height: 195px;
	z-index: 0;
}

.hero-content-prime .section-title,
.hero-content-prime .hero-content-btn-prime,
.hero-content-prime .hero-body-item-list-prime{
	position: relative;
	z-index: 1;
}

.hero-content-prime .section-title h1 .hero-title-img-1-prime{
	display: inline-flex;
	position: relative;
	top: 3px;
}

.hero-content-prime .section-title h1 .hero-title-img-1-prime img{
	width: 100%;
	max-width: 40px;
	border-radius: 50%;
	border: 1px solid var(--white-color);
	margin-left: -8px;
}

.hero-content-prime .section-title h1 .hero-title-img-1-prime img:first-child{
	margin: 0;
}

.hero-content-prime .section-title h1 .hero-title-img-2-prime{
	display: inline-flex;
	position: relative;
	top: 10px;
	width: 60px;
	height: 60px;
	mask-image: url('../images/hero-title-img-shape-prime.svg');
    background-image: url('../images/hero-title-img-shape-prime.svg');
    mask-size: cover;
    mask-position: center center;
    mask-repeat: no-repeat;
}

.hero-content-prime .section-title h1 .hero-title-img-2-prime img{
	width: 100%;
	object-fit: cover;
}

.hero-content-btn-prime{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}

.hero-body-item-list-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 60px;
	padding-top: 60px;
}

.hero-body-item-prime{
	position: relative;
	width: calc(33.33% - 20px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	text-align: left;
	gap: 15px;
}

.hero-body-item-prime::before{
    content: '';
    position: absolute;
    top: 0;
    right: -15px;
    transform: rotate(10deg);
    background-color: var(--dark-divider-color);
    height: 100%;
    width: 1px;
}

.hero-body-item-prime:nth-child(3n + 3):before,
.hero-body-item-prime:last-child:before{
    display: none;
}

.hero-body-item-prime .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.hero-body-item-prime .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--white-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.hero-body-item-prime:hover .icon-box::before{
	transform: scale(1);
}

.hero-body-item-prime .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.hero-body-item-prime:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.hero-body-item-content-prime{
	width: calc(100% - 65px);
}

.hero-body-item-content-prime h2{
	font-size: 20px;
	line-height: 1.4em;
	color: var(--white-color);
}

.hero-image-prime figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.hero-image-prime img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 0.895;
	object-fit: cover;
	border-radius: 20px;
}

.about-us-prime{
	padding: 100px 0;
}

.about-image-content-box-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-right: 15px;
}

.about-image-box-prime{
	width: calc(50% - 15px);
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.about-us-image-prime{
	height: 100%;
}

.about-us-image-prime figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.about-us-image-prime img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1.733;
	object-fit: cover;
	border-radius: 20px;
}

.about-counter-box-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	background: var(--white-color);
	border-radius: 20px;
	padding: 30px;
}

.about-counter-box-prime .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.about-counter-box-prime .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.about-counter-box-prime:hover .icon-box::before{
	transform: scale(1);
}

.about-counter-box-prime .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.about-counter-item-content-prime{
	width: calc(100% - 65px);
}

.about-counter-item-content-prime h2{
	font-size: 50px;
	font-weight: 600;
	line-height: 1em;
}

.about-counter-item-content-prime h3{
	font-size: 20px;
	line-height: 1.4em;
	margin: 10px 0 0;
}

.about-image-box-prime.box-2{
	flex-direction: column-reverse;
}

.about-image-box-prime.box-2 .about-counter-box-prime{
	background: var(--primary-color);
}

.about-image-box-prime.box-2 .about-counter-box-prime .icon-box::before{
	background: var(--white-color);
}

.about-image-box-prime.box-2 .about-counter-box-prime:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.about-image-box-prime.box-2 .about-counter-box-prime .about-counter-item-content-prime h2,
.about-image-box-prime.box-2 .about-counter-box-prime .about-counter-item-content-prime h3{
	color: var(--white-color);
}

.about-us-content-prime{
	height: 100%;
	align-content: center;
}

.about-us-content-list-prime ul{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.about-us-content-list-prime ul li{
	width: calc(50% - 7.5px);
	position: relative;
	padding-left: 25px;
	line-height: 1.5em;
}

.about-us-content-list-prime ul li::before{
	content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 6 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.about-us-item-list-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	border-top: 1px solid var(--divider-color);
	margin-top: 40px;
	padding-top: 40px;
}

.about-us-item-prime{
	width: calc(50% - 15px);
	background: var(--white-color);
	border-radius: 20px;
	text-align: center;
	padding: 30px;
}

.about-us-item-prime .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.about-us-item-prime .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.about-us-item-prime:hover .icon-box::before{
	transform: scale(1);
}

.about-us-item-prime .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.about-us-item-content-prime{
	margin-top: 30px;
}

.about-us-item-content-prime h3{
	font-size: 20px;
}

.about-us-item-content-prime p{
	margin: 10px 0 0;
}

.our-amenities-prime{
	background-image: url('../images/section-bg-image-1.png');
    background-position: top -80px right -80px;
    background-repeat: no-repeat;
    background-size: auto;
    padding: 100px 0;
}

.amenity-item-prime{
	background: var(--bg-color);
	border-radius: 20px;
	min-height: 450px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 30px;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
}

.amenity-item-prime:hover{
	transform: translateY(-5px);
}

.amenity-item-header-prime{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
}

.amenity-item-header-prime .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.amenity-item-header-prime .icon-box::before{
   	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.amenity-item-prime:hover .amenity-item-header-prime .icon-box::before{
	transform: scale(1);
}

.amenity-item-header-prime .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	z-index: 1;
}

.amenity-item-tag-prime ul{
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.amenity-item-tag-prime ul li a{
	font-size: 14px;
    display: inline-block;
    line-height: 1em;
    color: var(--primary-color);
    border: 1px solid var(--divider-color);
    border-radius: 100px;
    padding: 8px 16px;
	transition: all 0.3s ease-in-out;
}

.amenity-item-tag-prime ul li a:hover{
	color: var(--white-color);
	background: var(--accent-color);
}

.amenity-item-body-prime{
	border-top: 1px solid var(--divider-color);
	padding-top: 20px;
}

.amenity-item-content-prime h2{
	font-size: 20px;
}

.amenity-item-content-prime h2 a{
	color: inherit;
}

.amenity-item-content-prime p{
	margin: 10px 0 0;
}

.amenity-item-footer-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 10px;
	margin-top: 10px;
}

.amenity-item-btn-prime a{
	width: 40px;
	height: 40px;
	background: var(--accent-color);
	border-radius: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.4s ease-in-out;
}

.amenity-item-btn-prime a:hover{
	background: var(--primary-color);
}

.amenity-item-btn-prime a img{
	width: 100%;
	max-width: 12px;
	transition: all 0.4s ease-in-out;
}

.amenity-item-btn-prime a:hover img{
	transform: rotate(45deg);
}

.amenity-item-image-prime figure{
	display: block;
	border-radius: 20px;
	margin: 0 -40px -40px 0;
}

.amenity-item-image-prime img{
	width: 100%;
	max-width: 180px;
	object-fit: cover;
	border-radius: 20px;
}

.what-we-do-prime{
	padding: 100px 0;
}

.what-we-do-image-box-prime{
	display: flex;
	flex-wrap: wrap;
}

.what-we-image-box-1-prime{
	width: 28%;
	padding-bottom: 30px;
}

.what-we-do-image-prime figure{
	display: block;
	border-radius: 20px;
}

.what-we-do-image-prime img{
	width: 100%;
	object-fit: cover;
	border-radius: 20px;
}

.what-we-image-box-1-prime .what-we-do-image-prime{
	position: relative;
	margin-right: -305px;
	z-index: 0;
}

.what-we-image-box-1-prime .what-we-do-image-prime img{
	aspect-ratio: 1 / 1.034;
}

.what-we-image-box-1-prime .contact-us-circle-prime{
	text-align: center;
	margin: 40px 10px 0 0;
}

.contact-us-circle-prime a{
	display: inline-block;
	border-radius: 50%;
	margin: 0 auto;
}

.contact-us-circle-prime a img{
	width: 100%;
	max-width: 140px;
	border-radius: 50%;
	animation: infiniterotate 20s infinite linear;
}

.contact-us-circle-prime a:hover img{
	animation-play-state: paused;	
}

.what-we-image-box-2-prime{
	width: 72%;
	align-content: end;
}

.what-we-image-box-2-prime .what-we-do-image-prime figure{
	border: 10px solid var(--bg-color);
	border-radius: 30px;
}

.what-we-image-box-2-prime .what-we-do-image-prime img{
	aspect-ratio: 1 / 1.16;
}

.what-we-do-item-list-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	background: var(--white-color);
	border-radius: 20px;
	padding: 30px;
}

.what-we-do-item-prime{
	width: calc(50% - 15px);
}

.what-we-do-item-header-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin-bottom: 20px;
}

.what-we-do-item-header-prime .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.what-we-do-item-header-prime .icon-box::before{
   	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.what-we-do-item-prime:hover .what-we-do-item-header-prime .icon-box::before{
    transform: scale(1);
}

.what-we-do-item-header-prime .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
    z-index: 1;
}

.what-we-do-item-title-prime{
	width: calc(100% - 65px);
}

.what-we-do-item-title-prime h3{
	font-size: 20px;
	line-height: 1.3em;
}

.what-we-do-item-content-prime p:last-child{
	margin: 0;
}

.what-we-do-body-list-prime{
	margin-top: 40px;
}

.what-we-do-body-list-prime ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 15px 20px;
}

.what-we-do-body-list-prime ul li{
	position: relative;
	width: calc(50% - 10px);
	padding-left: 25px;
	line-height: 1.5em;
}

.what-we-do-body-list-prime ul li:before{
    content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 6 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.what-we-do-footer-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	border-top: 1px solid var(--divider-color);
	margin-top: 40px;
	padding-top: 40px;
}

.what-we-do-author-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.what-we-do-author-image-prime figure{
	display: block;
	border-radius: 50%;
}

.what-we-do-author-image-prime img{
	width: 100%;
	max-width: 50px;
	border-radius: 50%;
}

.what-we-do-author-content-prime h3{
	font-size: 20px;
}

.what-we-do-author-content-prime p{
	margin: 5px 0 0;
}

.why-choose-us-prime{
	padding: 100px 0;
}

.why-choose-us-box-prime{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.why-choose-item-list-prime{
	width: calc(24% - 13.33px);
}

.why-choose-item-prime{
	background: var(--dark-divider-color);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-radius: 20px;
	text-align: center;
	margin-bottom: 30px;
	padding: 30px;
}

.why-choose-item-prime:last-child{
	margin-bottom: 0;
}

.why-choose-item-prime .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	overflow: hidden;
}

.why-choose-item-prime .icon-box::before{
   	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--white-color);
    border-radius: 100px;
    transform: scale(0);
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
	z-index: 0;
}

.why-choose-item-prime:hover .icon-box::before{
	transform: scale(1);
}

.why-choose-item-prime .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
	transition: all 0.4s ease-in-out;
    z-index: 1;
}

.why-choose-item-prime:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.why-choose-item-content-prime{
	margin-top: 30px;
}

.why-choose-item-content-prime h3{
	font-size: 20px;
	color: var(--white-color);
}

.why-choose-item-content-prime p{
	color: var(--white-color);
	margin: 10px 0 0;
}

.why-choose-image-prime{
	width: calc(52% - 13.33px);
	align-content: end;
}

.why-choose-image-prime figure{
	display: block;
	border-radius: 20px 20px 0 0;
}

.why-choose-image-prime figure img{
	width: 100%;
	aspect-ratio: 1 / 0.906;
	object-fit: cover;
	border-radius: 20px 20px 0 0;
	margin-bottom: -100px;
}

.our-team-prime{
	padding: 100px 0;
}

.team-item-prime{
	background: var(--white-color);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
	gap: 30px;
	height: calc(100% - 130px);
	margin: 100px 0 30px;
	padding: 20px;
}

.team-item-image-prime{
	margin-top: -120px;
}

.team-item-image-prime a,
.team-item-image-prime figure{
	display: inline-block;
	border-radius: 50%;
}

.team-item-image-prime a{
	border: 10px solid var(--bg-color);
	cursor: none;
}

.team-item-image-prime figure{
	max-width: 200px;
}

.team-item-image-prime img{
	width: 100%;
	object-fit: cover;
	max-width: 200px;
	border-radius: 50%;
	transition: all 0.6s ease-in-out;
}

.team-item-image-prime img{
	transition: all 0.6s ease-in-out;
}

.team-item-prime:hover .team-item-image-prime img{
	transform: scale(1.04);
}

.team-social-icon-prime ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 15px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.team-social-icon-prime ul li a{
	width: 36px;
	height: 36px;
	color: var(--primary-color);
    background: transparent;
    border: 1px solid var(--divider-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease-in-out;
}

.team-social-icon-prime ul li:hover a{
	background: var(--accent-color);
	color: var(--white-color);
}

.team-social-icon-prime ul li a i{
    font-size: 18px;
    color: inherit;
}

.team-item-content-prime,
.team-item-contact-info-prime{
	margin-top: 30px;
}

.team-item-content-prime h2{
	font-size: 20px;
}

.team-item-content-prime h2 a{
	color: inherit;
}

.team-item-content-prime p{
	margin: 5px 0 0;
}

.team-item-contact-info-prime{
	background: var(--bg-color);
	border-radius: 20px;
	padding: 20px;
}

.team-item-contact-info-prime ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.team-item-contact-info-prime ul li{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 15px;
	line-height: 1.5em;
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 15px;
	padding-bottom: 15px;
}

.team-item-contact-info-prime ul li:last-child{
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.team-item-contact-info-prime ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.team-item-contact-info-prime ul li a:hover{
	color: var(--accent-color);
}

.our-apartments-prime{
	padding: 100px 0;
}

.our-apartment-item-prime{
	position: relative;
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.apartment-item-image-prime{
	border-radius: 20px;
	overflow: hidden;
}

.apartment-item-image-prime figure{
	position: relative;
	display: block;
}

.apartment-item-image-prime figure::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(180deg, rgba(26, 26, 26, 0.00) -24.44%, var(--primary-color) 89.67%);
	width: 100%;
	height: 100%;
}

.apartment-item-image-prime img{
	width: 100%;
	aspect-ratio: 1 / 1.326;
	object-fit: cover;
}

.apartment-item-content-prime{
	position: absolute;
	bottom: 30px;
	left: 30px;
	right: 30px;
	z-index: 1;
}

.apartment-item-content-prime h3{
	font-size: 20px;
	color: var(--white-color);
}

.apartment-item-content-prime p{
	color: var(--white-color);
	margin: 10px 0 0;
}

.apartment-item-content-prime ul{
	border-top: 1px solid var(--dark-divider-color);
	padding: 15px 0 0;
	margin: 15px 0 0;
	list-style: none;
}

.apartment-item-content-prime ul li{
	position: relative;
	line-height: 1.5em;
	padding-left: 25px;
	color: var(--white-color);
	margin-bottom: 10px;
}

.apartment-item-content-prime ul li:last-child{
	margin-bottom: 0;
}

.apartment-item-content-prime ul li::before{
    content: '\f058';
    position: absolute;
    font-family: 'Font Awesome 6 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.our-faqs-prime{
	padding: 100px 0;
}

.faqs-content-prime{
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	margin-right: 15px;
}

.faqs-content-prime .section-title{
	margin-bottom: 0;
}

.faqs-image-prime{
	height: 100%;
}

.faqs-image-prime figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.faqs-image-prime img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 0.49;
	object-fit: cover;
	border-radius: 20px;
}

.faq-accordion-prime .accordion-item-prime{
	background: var(--white-color);
    border: none;
    border-radius: 20px;
    margin-bottom: 25px;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.faq-accordion-prime .accordion-item-prime:last-child{
	margin-bottom: 0;
}

.faq-accordion-prime .accordion-header .accordion-button{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4em;
    color: var(--primary-color);
    padding: 20px 55px 20px 30px;
    transition: all 0.3s ease-in-out;
}

.faq-accordion-prime .accordion-item-prime .accordion-button::after,
.faq-accordion-prime .accordion-item-prime .accordion-button.collapsed::after{
    content: '\2b';
    font-family: 'FontAwesome';
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
	font-size: 20px;
	color: var(--primary-color);
    transition: all 0.4s ease-in-out;
}

.faq-accordion-prime .accordion-button:not(.collapsed)::after{
    content: '\f068';
}

.faq-accordion-prime .accordion-item-prime .accordion-body{
    border-top: 1px solid var(--divider-color);
    padding: 20px 30px;
}

.faq-accordion-prime .accordion-item-prime .accordion-body p{
    margin-bottom: 0;
}

.our-testimonials-prime{
	padding: 100px 0;
	background-image: url('../images/section-bg-image-1.png');
    background-position: top -80px right -80px;
    background-repeat: no-repeat;
    background-size: auto;
}

.testimonial-slider-prime .swiper-wrapper{
	cursor: none;
}

.testimonial-item-prime{
	background-color: var(--bg-color);
	border-radius: 20px;
	text-align: center;
	padding: 30px;
}

.testimonial-item-rating-prime{
	margin-bottom: 20px;
}

.testimonial-item-rating-prime i{
	color: var(--accent-color);
	font-size: 18px;
}

.testimonial-item-content-prime p{
	font-size: 18px;
	font-weight: 600;
	color: var(--primary-color);
	margin: 0;
}

.testimonial-item-author-prime{
	border-top: 1px solid var(--divider-color);
	margin-top: 30px;
	padding-top: 30px;
}

.testimonial-author-image-prime{
	margin-bottom: 15px;
}

.testimonial-author-image-prime figure{
	display: block;
	max-width: 50px;	
	border-radius: 50%;
	margin: 0 auto;
}

.testimonial-author-image-prime img{
	width: 100%;
	max-width: 50px;
	border-radius: 50%;
}

.testimonial-author-content-prime h2{
	font-size: 20px;
}

.testimonial-author-content-prime p{
	margin: 5px 0 0;
}

.testimonial-pagination-prime.swiper-pagination-bullets{
	text-align: center;
	margin-top: 40px;
}

.testimonial-pagination-prime .swiper-pagination-bullet{
	border-radius: 100px;
	height: 10px;
	width: 10px;
	background: var(--divider-color);
	opacity: 1;
	margin: 0 3px;
	transition: all 0.3s ease-in-out;
}

.testimonial-pagination-prime .swiper-pagination-bullet-active{
	width: 20px;
	background: var(--accent-color);
}

.our-testimonials-prime .section-footer-text{
	margin-top: 60px;
}

.main-footer-prime{
	padding: 100px 0 0;
	margin-bottom: 20px;
}

.footer-contact-list-prime{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 30px 11.979vw;
	border-bottom: 1px solid var(--dark-divider-color);
	margin-bottom: 60px;
	padding-bottom: 60px;
}

.footer-contact-item-prime{
	width: calc(33.33% - 7.986vw);
	position: relative;
	display: flex;
	flex-wrap: wrap;
    align-items: center;
	gap: 15px;
}

.footer-contact-item-prime::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: -5.99vw;
	transform: rotate(10deg);
	background: var(--dark-divider-color);
	width: 1px;
	height: 100%;
}

.footer-contact-item-prime:nth-child(3n + 3)::before,
.footer-contact-item-prime:last-child::before{
	display: none;
}

.footer-contact-item-prime .icon-box{
	position: relative;
	height: 50px;
	width: 50px;
	background-color: var(--accent-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.footer-contact-item-prime .icon-box:before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: var(--white-color);
	border-radius: 50%;
	width: 100%;
	height: 100%;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.footer-contact-item-prime:hover .icon-box:before{
	transform: scale(1);
}

.footer-contact-item-prime .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.footer-contact-item-prime:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.footer-contact-item-content-prime{
	width: calc(100% - 65px);
}

.footer-contact-item-content-prime h3{
	font-size: 20px;
	color: var(--white-color);
}

.footer-contact-item-content-prime p{
	margin: 5px 0 0;
	color: var(--white-color);
}

.footer-contact-item-content-prime p a{
    color: inherit;
    transition: all 0.4s ease-in-out;
}

.footer-contact-item-content-prime p a:hover{
    color: var(--accent-color);
}

.about-footer-prime{
	max-width: 350px;
}

.footer-logo-prime{
	margin-bottom: 20px;
}

.footer-logo-prime img{
	width: 100%;
	max-width: 133px;
}

.about-footer-content-prime p{
	color: var(--white-color);
	margin: 0;
}

.footer-social-links-prime{
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 30px;
	padding-top: 30px;
}

.footer-social-links-prime h3{
	color: var(--white-color);
	font-size: 20px;
	margin-bottom: 20px;
}

.footer-social-links-prime ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px 15px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.footer-social-links-prime ul li a{
	width: 36px;
	height: 36px;
    color: var(--white-color);
	border: 1px solid var(--dark-divider-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.4s ease-in-out;
}

.footer-social-links-prime ul li a:hover{
    background-color: var(--accent-color);
}

.footer-social-links-prime ul li a i{
	font-size: 18px;
	color: inherit;
}

.footer-links-box-prime{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
}

.footer-links-prime{
	max-width: 42%;
}

.footer-links-prime h3{
	font-size: 20px;
	color: var(--white-color);
	margin-bottom: 30px;
}

.footer-links-prime p{
    color: var(--white-color);
	margin: 0;
}

.footer-links-prime ul{
    margin: 0;
    padding: 0 0 0 20px;
}

.footer-links-prime ul li{
    position: relative;
    color: var(--white-color);
    line-height: 1.5em;
    margin-bottom: 15px;
}

.footer-links-prime ul li:last-child{
	margin-bottom: 0;
}

.footer-links-prime ul li::marker{
	color: var(--accent-color);
}

.footer-links-prime ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.footer-links-prime ul li a:hover{
	color: var(--accent-color);
}

.footer-newsletter-form-prime form{
	margin-top: 30px;
}

.footer-newsletter-form-prime .form-group{
	display: flex;
    flex-wrap: wrap;
    background-color: var(--dark-divider-color);
    border-radius: 10px;
    padding: 5px;
}

.footer-newsletter-form-prime .form-group .form-control{
	width: calc(100% - 50px);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--white-color);
    background: transparent;
    border: none;
    outline: none;
    box-shadow: none;
    padding: 6px 15px;
}

.footer-newsletter-form-prime .form-group .form-control::placeholder{
	color: var(--white-color);
}

.footer-newsletter-form-prime .form-group .newsletter-btn-prime{
	width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--accent-color);
    border: none;
    border-radius: 10px;
    outline: none;
    box-shadow: none;
    transition: all 0.3s ease-in-out;
}

.footer-newsletter-form-prime .form-group .newsletter-btn-prime:hover{
    background-color: var(--white-color);
}

.footer-newsletter-form-prime .form-group .newsletter-btn-prime i{
	font-size: 24px;
    color: var(--white-color);
    margin-right: 3px;
    transition: all 0.3s ease-in-out;
}

.footer-newsletter-form-prime .form-group .newsletter-btn-prime:hover i{
	color: var(--primary-color);
}

.footer-copyright-prime{
    display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
    border-top: 1px solid var(--dark-divider-color);
    margin-top: 60px;
    padding: 60px 0;
}

.footer-copyright-text-prime{
    color: var(--white-color);
}

.footer-copyright-text-prime p{
    margin-bottom: 0;
}

.footer-privacy-policy-prime ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px 46px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-privacy-policy-prime ul li{
	position: relative;
	line-height: 1.5em;
	color: var(--white-color);
}

.footer-privacy-policy-prime ul li::before{
	content: '';
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: -26px;
    background: var(--accent-color);
	border-radius: 50%;
	width: 6px;
	height: 6px;
}

.footer-privacy-policy-prime ul li:last-child::before{
	display: none;
}

.footer-privacy-policy-prime ul li a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.footer-privacy-policy-prime ul li a:hover{
	color: var(--accent-color);
}

@media only screen and (max-width: 1366px){

	.hero-content-prime{
		padding: 50px 15px;
	}

	.hero-body-item-list-prime{
		margin-top: 40px;
		padding-top: 40px;
	}

	.hero-body-item-prime{
		justify-content: center;
		text-align: center;
	}

	.hero-body-item-content-prime{
		width: 100%;
	}
}

@media only screen and (max-width: 1024px){

	.hero-content-prime,
	.hero-image-prime{
		width: 100%;
	}

	.hero-image-prime figure{
		height: auto;
	}

	.hero-image-prime img{
		height: auto;
		aspect-ratio: 1 / 0.65;
	}
	
	.about-image-content-box-prime{
		max-width: 840px;
		margin: 0 auto 30px;
	}

	.about-us-image-prime img{
		aspect-ratio: 1 / 1.4;
	}

	.about-us-content-prime{
		height: auto;
	}

	.amenity-item-prime{
		min-height: auto;
	}
	
	.what-we-do-image-box-prime{
		max-width: 750px;
		margin: 0 auto 30px;
	}

	.what-we-image-box-2-prime .what-we-do-image-prime img{
		aspect-ratio: 1 / 1.03;
	}

	.why-choose-us-box-prime{
		gap: 30px;
	}

	.why-choose-item-list-prime{
		width: calc(50% - 15px);
		order: 1;
	}

	.why-choose-image-prime{
		width: 100%;
		order: 2;
	}
	
	.why-choose-image-prime figure{
		max-width: 650px;
		margin: 0 auto;
	}

	.apartment-item-image-prime img{
		aspect-ratio:1 / 1.2;
	}

	.faqs-content-prime{
		height: auto;
		margin: 0 0 30px 0;
	}

	.faqs-image-prime,
	.faqs-image-prime figure,
	.faqs-image-prime img{
		height: auto;
	}

	.footer-contact-list-prime{
		gap: 30px 60px;
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.footer-contact-item-prime{
		width: calc(33.33% - 40px);
	}

	.footer-contact-item-prime::before{
		right: -30px;
	}

	.about-footer-prime{
		max-width: 100%;
		margin-bottom: 30px;
	}

	.footer-links-prime h3{
		margin-bottom: 20px;
	}

	.footer-copyright-prime{
		margin-top: 30px;
		padding: 30px 0;
	}
}

@media only screen and (max-width: 991px){

	header.main-header.main-header-prime{
		margin-top: 15px;
	}
	
	header.main-header.main-header-prime .header-sticky{
		margin: 0;
	}

	header.main-header.main-header-prime .header-sticky.active{
		top: 0;
		left: 0;
		right: 0;
		border-radius: 0;
		border-left: none;
		border-right: none;
		border-top: none;
	}

	.main-header-prime .navbar{
    	padding: 20px 15px;
	}

	.hero-prime{
		margin-top: 20px;
	}

	.hero-box-prime{
		gap: 20px;
	}

	.hero-content-prime .section-title h1 .hero-title-img-2-prime{
		width: 45px;
		height: 45px;
	}
	
	.hero-body-item-list-prime{
		margin-top: 30px;
		padding-top: 30px;
	}

	.about-us-prime{
		padding: 50px 0;
	}

	.about-counter-box-prime{
		padding: 20px;
	}

	.about-counter-item-content-prime h2{
		font-size: 38px;
	}

	.about-us-content-list-prime ul li::before{
		font-size: 16px;
	}

	.about-us-item-list-prime{
		margin-top: 30px;
		padding-top: 30px;
	}
	
	.our-amenities-prime{
		background-position: top -40px right -40px;
        background-size: 250px auto;
        padding: 50px 0;
    }

	.amenity-item-tag-prime ul li a{
		padding: 6px 12px;
	}

	.amenity-item-image-prime img{
		max-width: 150px;
	}

	.what-we-do-prime{
		padding: 50px 0;
	}

	.contact-us-circle-prime a img{
		max-width: 120px;
	}

	.what-we-do-item-list-prime{
		padding: 20px;
	}

	.what-we-do-body-list-prime{
		margin-top: 30px;
	}

	.what-we-do-body-list-prime ul li:before{
		font-size: 16px;
	}

	.what-we-do-footer-prime{
		margin-top: 30px;
		padding-top: 30px;
	}

	.why-choose-us-prime{
		padding: 50px 0;
	}

	.why-choose-image-prime figure img{
		margin-bottom: -50px;
	}
	
	.our-team-prime{
		padding: 50px 0;
	}

	.team-item-prime{
		margin-top: 80px;
		height: calc(100% - 110px);
	}

	.team-item-image-prime{
		margin-top: -100px;
	}

	.team-item-image-prime img{
		max-width: 160px;
	}

	.our-apartments-prime{
		padding: 50px 0;
	}

	.apartment-item-content-prime ul li::before{
		font-size: 16px;
	}

	.our-faqs-prime{
		padding: 50px 0;
	}

	.faq-accordion-prime .accordion-item-prime{
		border-radius: 14px;
		margin-bottom: 20px;
	}

	.faq-accordion-prime .accordion-header .accordion-button{
		font-size: 18px;
		padding: 15px 45px 15px 20px;
	}

	.faq-accordion-prime .accordion-item-prime .accordion-button::after,
	.faq-accordion-prime .accordion-item-prime .accordion-button.collapsed::after{
		font-size: 18px;
		right: 20px;
	}

	.faq-accordion-prime .accordion-item-prime .accordion-body{
		padding: 15px 20px;
	}

	.our-testimonials-prime{
        background-position: top -40px right -40px;
		background-size: 250px auto;
		padding: 50px 0;
	}

	.testimonial-item-prime{
		min-height: inherit;
		gap: 20px;
		padding: 20px;
	}

	.testimonial-item-author-prime{
	    margin-top: 20px;
    	padding-top: 20px;
	}

	.testimonial-pagination-prime.swiper-pagination-bullets{
		margin-top: 20px;
	}

	.our-testimonials-prime .section-footer-text{
		margin-top: 40px;
	}

	.main-footer-prime{
		padding: 50px 0 0;
		margin-bottom: 0px;
	}

	.footer-contact-item-prime{
		width: calc(50% - 30px);
	}

	.footer-contact-item-prime::before{
		right: -30px;
	}

	.footer-contact-item-prime:nth-child(3n + 3)::before,
	.footer-contact-item-prime:last-child::before{
		display: block;
	}

	.footer-contact-item-prime:nth-child(2n + 2)::before,
	.footer-contact-item-prime:last-child::before{
		display: none;
	}

	.footer-logo-prime{
		margin-bottom: 15px;
	}

	.footer-social-links-prime{
		margin-top: 20px;
		padding-top: 20px;
	}

	.footer-links-prime ul li{
		margin-bottom: 10px;
	}

	.footer-newsletter-form-prime form{
		margin-top: 20px;
	}

	.footer-newsletter-form-prime .form-group .form-control{
		width: calc(100% - 40px);
	}

	.footer-newsletter-form-prime .form-group .newsletter-btn-prime{
		height: 40px;
		width: 40px;
	}

	.footer-newsletter-form-prime .form-group .newsletter-btn-prime i{
		font-size: 20px;
	}
}

@media only screen and (max-width: 767px){
	
	.hero-content-prime{
		padding: 30px 15px;
    }

	.hero-content-prime .section-title h1 .hero-title-img-1-prime{
		top: 5px;
	}

	.hero-content-prime .section-title h1 .hero-title-img-1-prime img{
		max-width: 30px;
	}

	.hero-content-prime .section-title h1 .hero-title-img-2-prime{
		width: 30px;
		height: 30px;
		top: 6px;
	}

	.hero-content-btn-prime{
		gap: 15px;
	}

	.hero-body-item-list-prime{
		gap: 20px;
	}

	.hero-body-item-prime{
		width: calc(33.33% - 13.33px);
		gap: 10px;
	}

	.hero-body-item-prime::before{
		transform: rotate(6deg);
	}

	.hero-body-item-content-prime{
		width: 100%;
	}

	.hero-body-item-content-prime h2{
		font-size: 16px;
	}

	.hero-image-prime img{
		aspect-ratio: 1 / 0.895;
	}

	.about-image-content-box-prime,
	.about-image-box-prime{
		gap: 20px;
	}

	.about-image-content-box-prime{
		margin: 0;
	}

	.about-image-box-prime{
		width: 100%;
	}
	
	.about-counter-item-content-prime h2{
		font-size: 26px;
	}

	.about-counter-item-content-prime h3{
		font-size: 18px;
	}

	.about-image-box-prime.box-2{
		flex-direction: column;
	}

	.about-us-content-prime{
		margin-bottom: 30px;
	}

	.about-us-content-list-prime ul{
		gap: 10px;
	}

	.about-us-content-list-prime ul li{
		width: 100%;
	}

	.about-us-item-prime{
		width: 100%;
		padding: 20px;
	}

	.about-us-item-content-prime{
		margin-top: 20px;
	}

	.about-us-item-content-prime h3{
		font-size: 18px;
	}

	.about-us-item-content-prime p{
		margin: 5px 0 0;
	}

	.amenity-item-prime{
		padding: 20px;
	}

	.amenity-item-image-prime figure{
		margin: 0 -30px -30px 0;
	}

	.amenity-item-content-prime h2{
		font-size: 18px;
	}

	.what-we-image-box-1-prime{
		padding-bottom: 10px;
	}

	.what-we-image-box-1-prime .what-we-do-image-prime{
		margin-right: -170px;
	}

	.what-we-image-box-1-prime .contact-us-circle-prime{
		margin: 10px 10px 0 0;
	}

	.contact-us-circle-prime a img{
        max-width: 100px;
    }

	.what-we-image-box-2-prime .what-we-do-image-prime figure{
		border-width: 5px;
	}

	.what-we-do-item-prime{
		width: 100%;
	}

	.what-we-do-item-header-prime{
		margin-bottom: 10px;
	}

	.what-we-do-item-title-prime h3{
		font-size: 18px;
	}

	.what-we-do-body-list-prime ul{
		gap: 10px;
	}

	.what-we-do-body-list-prime ul li{
		width: 100%;
	}

	.what-we-do-footer-prime{
		gap: 20px;
	}

	.what-we-do-author-content-prime h3{
		font-size: 18px;
	}

	.why-choose-item-list-prime{
		width: 100%;
	}

	.why-choose-item-prime{
		padding: 20px;
	}

	.why-choose-item-content-prime{
		margin-top: 20px;
	}

	.why-choose-item-content-prime h3{
		font-size: 18px;
	}

	.team-item-prime{
		gap: 20px;
	}

	.team-item-content-prime,
	.team-item-contact-info-prime{
		margin-top: 20px;
	}

	.team-item-content-prime h2{
		font-size: 18px;
	}

	.team-item-contact-info-prime{
		padding: 15px;
	}

	.apartment-item-content-prime{
		bottom: 20px;
		left: 20px;
		right: 20px;
	}

	.apartment-item-content-prime h3{
		font-size: 18px;
	}

	.faq-accordion-prime .accordion-header .accordion-button{
		font-size: 16px;
		padding: 12px 40px 12px 15px;
	}

	.faq-accordion-prime .accordion-item-prime .accordion-button::after,
	.faq-accordion-prime .accordion-item-prime .accordion-button.collapsed::after{
		font-size: 16px;
		right: 15px;
	}

	.faq-accordion-prime .accordion-item-prime .accordion-body{
		padding: 12px 15px;
	}

	.testimonial-item-rating-prime{
		margin-bottom: 15px;
	}

	.testimonial-item-content-prime p{
		font-size: 16px;
	}

	.testimonial-author-content-prime h2{
		font-size: 18px;
	}

	.footer-contact-list-prime{
		gap: 20px;
	}

	.footer-contact-item-prime{
		width: 100%;
	}

	.footer-contact-item-prime::before{
		display: none;
	}

	.footer-contact-item-content-prime h3{
		font-size: 18px;
	}

	.footer-social-links-prime h3{
		font-size: 18px;
		margin-bottom: 10px;
	}

	.footer-links-prime h3{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-links-prime{
		max-width: 100%;
	}

	.footer-newsletter-form-prime form{
		margin-top: 15px;
	}

	.footer-copyright-prime{
		padding: 15px 0;
		flex-direction: column-reverse;
	}

	.footer-privacy-policy-prime ul{
		gap: 10px 34px;
	}

	.footer-privacy-policy-prime ul li::before{
		right: -20px;
	}
}

/************************************/
/*** 	  Trust About Section	  ***/
/************************************/

.trust-about-section{
	padding: 100px 0;
	background: var(--white-color);
	overflow: hidden;
}

.trust-about-heading-row{
	align-items: flex-start;
	margin-bottom: 20px;
}

.trust-about-badge{
	display: inline-block;
	padding: 8px 22px;
	margin-bottom: 20px;
	border: 1px solid var(--divider-color);
	border-radius: 30px;
	font-size: 14px;
	color: var(--text-color);
}

.trust-about-title{
	font-size: 50px;
	line-height: 1.2em;
	font-weight: 300;
	color: #7b7575;
}

.trust-about-accent{
	/* font-style: italic; */
	font-weight: 300;
	color: #a59568;
	font-size: 50px;
}

.trust-about-badge-col{
	display: flex;
	justify-content: flex-end;
}

.trust-about-42-badge{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 210px;
	height: 210px;
	padding: 15px;
	background: var(--white-color);
	border-radius: 20px;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

.trust-about-42-badge img{
	display: block;
	width: auto;
	height: auto;
	max-width: 180px;
	max-height: 180px;
}

.trust-about-image{
	height: 100%;
	border-radius: 20px;
	overflow: hidden;
}

.trust-about-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.trust-about-content{
	padding-left: 40px;
}

.trust-about-content p{
	margin-bottom: 20px;
	color: var(--text-color);
	font-size: 19px;
	font-weight: 200;
}

/* centered layout (no image): text centered, enquiry line above the two phone numbers side by side */
.trust-about-content.trust-about-content-center{
	padding-left: 0;
	margin-top: 0;
	text-align: center;
}

.trust-about-content-center .trust-about-cta-text{
	margin-bottom: 20px;
}

.trust-about-content-center .trust-about-phone-list{
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px 40px;
	padding-top: 20px;
}

.trust-about-content p:last-of-type{
	margin-bottom: 0;
}

.trust-about-cta{
	margin-top: 20px;
	padding-top: 50px;
	border-top: 1px solid var(--divider-color);
}

.trust-about-cta-text{
	margin-bottom: 0;
	font-size: 15px;
}

.trust-about-phone-list{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

/* each number is a white card: thin border + soft shadow so it lifts off the white section */
.trust-about-phone{
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 26px 14px 14px;
	background: var(--white-color);
	border: 1px solid rgba(206, 186, 130, 0.35);
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(26, 26, 26, 0.07);
	color: #7b7575;
	font-weight: 500;
	transition: all 0.3s ease-in-out;
}

.trust-about-phone:hover{
	color: #a59568;
	border-color: #ceba82;
	box-shadow: 0 14px 34px rgba(26, 26, 26, 0.1);
	transform: translateY(-3px);
}

@media (max-width: 767px){
	.trust-about-phone{
		width: 100%;
		max-width: 340px;
		padding: 12px 18px 12px 12px;
	}
}

/* gold call icon: outlined ring with a soft gold halo, fills solid gold on hover */
.trust-about-phone-icon{
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid #ceba82;
	background: rgba(206, 186, 130, 0.12);
	box-shadow: 0 0 0 5px rgba(206, 186, 130, 0.12);
	color: #b39a55;
	font-size: 15px;
	transition: all 0.3s ease-in-out;
}

.trust-about-phone-icon i{
	transform: rotate(-12deg);
	transition: transform 0.3s ease-in-out;
}

.trust-about-phone:hover .trust-about-phone-icon{
	background: #ceba82;
	color: var(--white-color);
	box-shadow: 0 0 0 7px rgba(206, 186, 130, 0.18);
}

.trust-about-phone:hover .trust-about-phone-icon i{
	transform: rotate(0deg);
}

@media (max-width: 991px){
	.trust-about-title{
		font-size: 30px;
	}

	.trust-about-badge-col{
		justify-content: flex-start;
		margin-top: 20px;
	}

	.trust-about-42-badge{
		width: 160px;
		height: 160px;
	}

	.trust-about-42-badge img{
		max-width: 100px;
		max-height: 100px;
	}

	.trust-about-content{
		padding-left: 0;
		margin-top: 30px;
	}
}

@media (max-width: 767px){
	.trust-about-section{
		padding: 60px 0;
	}

	.trust-about-title{
		font-size: 26px;
	}

	.trust-about-cta .col-md-5,
	.trust-about-cta .col-md-7{
		width: 100%;
	}

	.trust-about-cta-text{
		margin-bottom: 20px;
	}
}

/************************************/
/*** 	 City Project Sliders	  ***/
/*** (Trivandrum Projects / Kochi Projects) ***/
/************************************/

.tp-hero-slider-area{
	padding: 100px 0;
	background: var(--white-color);
}

.tp-hero-slider-area .section-title{
	margin-bottom: 30px;
}

.tp-hero-slider-area .swiper{
	border-radius: 20px;
	overflow: hidden;
}

.tp-hero-slider-area .swiper-slide{
	border-radius: 20px;
	overflow: hidden;
}

.tp-hero-slider-area img{
	/* each project banner at its own size/shape (full width, natural height - nothing cropped);
	   the slider takes the height of the current slide (Swiper autoHeight in home.php) */
	width: 100%;
	height: auto;
	display: block;
	border-radius: 20px;
}

/* City name heading links to the city page (/trivandrum) but keeps the heading look */
/* city name ("Trivandrum") a bit heavier than the gold "Projects" beside it */
.city-slider-title-link{
	color: inherit;
	font-weight: 400;
}

.city-slider-title-link:hover{
	color: var(--accent-color);
}

/* "Projects" in "Trivandrum Projects" / "Kochi Projects" */
.city-slider-title-accent{
	color: #a59568;
	font-weight: 300;
}

/* Alternating backgrounds (1st city light, 2nd white...) - each section keeps its own
   top/bottom padding so the colour band has space around the slider */
.tp-hero-slider-area.city-slider-light{
	/* Same background image as the Homecare / Testimonials sections; colour shows while it loads */
	background-color: #F7F7F2;
	background-image: url('../img/video-bg.webp');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* Heading row: title left, "View All Projects" right */
.city-slider-head{
	margin-bottom: 30px;
}

.city-slider-head .section-title{
	margin-bottom: 0;
}

/* gold "View All Projects": gold fill + white text, deeper gold sweeps in on hover */
/* "View All Projects": gold (#ceba82); a deeper gold slides in on hover */
.city-slider-viewall{
	white-space: nowrap;
	background: #ceba82;
	color: var(--white-color);
}

.city-slider-viewall::after{
	background: #b39a55;
}

.city-slider-viewall:hover{
	color: var(--white-color);
}

.city-slider-viewall i{
	font-size: 13px;
	transition: transform 0.3s ease-in-out;
}

.city-slider-viewall:hover i{
	transform: translateX(3px);
}

@media (max-width: 767px){
	.city-slider-head{
		margin-bottom: 20px;
	}

	/* On phones the button goes under the heading */
	.city-slider-viewall{
		margin-top: 16px;
	}
}

/* Navigation */
.tp-hero-slider-area .hero-prev,
.tp-hero-slider-area .hero-next,
.tp-hero-slider-area .hero-prev-kochi,
.tp-hero-slider-area .hero-next-kochi{
	width: 65px;
	height: 65px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.25);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	margin-top: 0;
	top: 50%;
	transform: translateY(-50%);
}

.tp-hero-slider-area .hero-prev,
.tp-hero-slider-area .hero-prev-kochi{
	left: 25px;
}

.tp-hero-slider-area .hero-next,
.tp-hero-slider-area .hero-next-kochi{
	right: 25px;
}

.tp-hero-slider-area .hero-prev:hover,
.tp-hero-slider-area .hero-next:hover,
.tp-hero-slider-area .hero-prev-kochi:hover,
.tp-hero-slider-area .hero-next-kochi:hover{
	background: var(--accent-color);
	color: var(--primary-color);
	transform: translateY(-50%) scale(1.08);
}

.tp-hero-slider-area .hero-prev::after,
.tp-hero-slider-area .hero-next::after,
.tp-hero-slider-area .hero-prev-kochi::after,
.tp-hero-slider-area .hero-next-kochi::after{
	font-size: 18px;
}

/* Pagination */
.tp-hero-slider-area .swiper-pagination{
	bottom: 25px;
}

.tp-hero-slider-area .swiper-pagination-bullet{
	width: 12px;
	height: 12px;
	background: #fff;
	opacity: 0.5;
}

.tp-hero-slider-area .swiper-pagination-bullet-active{
	opacity: 1;
	background: var(--accent-color);
}

@media (max-width: 767px){
	.tp-hero-slider-area{
		padding: 40px 0;
	}

	.tp-hero-slider-area .hero-prev,
	.tp-hero-slider-area .hero-next,
	.tp-hero-slider-area .hero-prev-kochi,
	.tp-hero-slider-area .hero-next-kochi{
		width: 45px;
		height: 45px;
	}

	.tp-hero-slider-area .hero-prev,
	.tp-hero-slider-area .hero-prev-kochi{
		left: 12px;
	}

	.tp-hero-slider-area .hero-next,
	.tp-hero-slider-area .hero-next-kochi{
		right: 12px;
	}
}

/************************************/
/*** 	 Blog Sidebar Widget	  ***/
/************************************/

.blog-sidebar-recent{
	background: var(--bg-color);
}

.blog-sidebar-recent ul li a{
	display: flex;
	align-items: center;
	gap: 15px;
	padding-right: 0;
}

.blog-sidebar-recent ul li a::before{
	display: none;
}

.blog-sidebar-recent ul li a figure{
	flex-shrink: 0;
	width: 70px;
	height: 70px;
	margin: 0;
	border-radius: 12px;
	overflow: hidden;
}

.blog-sidebar-recent ul li a img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog-sidebar-recent-content span{
	display: block;
	font-size: 13px;
	font-weight: 400;
	color: var(--text-color);
	margin-bottom: 4px;
	text-transform: none;
}

.blog-sidebar-recent-content h3{
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4em;
	color: var(--primary-color);
	text-transform: none;
	transition: all 0.3s ease-in-out;
}

.blog-sidebar-recent ul li a:hover .blog-sidebar-recent-content h3{
	color: var(--accent-color);
}

/************************************/
/*** 	 Section Nav Buttons	  ***/
/*** (heading left / carousel nav right, e.g. Trivandrum Projects) ***/
/************************************/

.section-nav-buttons{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 15px;
}

.section-nav-btn{
	width: 55px;
	height: 55px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--divider-color);
	color: var(--primary-color);
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.section-nav-btn:hover{
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}

.section-nav-btn.swiper-button-disabled{
	opacity: 0.4;
	cursor: default;
	pointer-events: none;
}

.trivandrumProjectsSwiper{
	overflow: hidden;
}

@media (max-width: 991px){
	.section-nav-buttons{
		justify-content: flex-start;
		margin-top: 20px;
	}
}

/************************************/
/*** 	 SFS Logo Page	  ***/
/************************************/

.logo-page .features-image img{
	object-fit: cover;
	padding-right: 0;
	height: 600px;
}

/* tablets / phones: a shorter image (600px is too tall on a small screen) */
@media (max-width: 991px){
	.logo-page .features-image img{
		height: 420px;
	}
}

@media (max-width: 767px){
	.logo-page .features-image img{
		height: 320px;
	}
}

.logo-page .features-content{
	margin-left: 60px;
}

/* tablets / phones: the text sits under the logo (columns stacked), so no left gap */
@media (max-width: 1199px){
	.logo-page .features-content{
		margin-left: 0;
	}
}

.logo-page-mark{
	display: block;
	max-width: 220px;
	height: auto;
	margin-bottom: 30px;
}

.logo-page .features-content .section-title p{
	color: #737b83;
	line-height: 1.8em;
	/* text-align: justify; */
}

.logo-page .features-content .section-title p.lead{
	font-size: 20px;
	color: var(--primary-color);
	font-weight: 400;
	text-align: left;
	margin-top: 0;
}

/************************************/
/*** 	 SFS Homecare Page	  ***/
/************************************/

.homecare-page{
	padding: 0;
}

.homecare-sections-list{
	margin-top: 0;
}

.homecare-section-wrap{
	padding: 30px 0;
}

.homecare-section-wrap-alt{
	background-image: url('../img/video-bg.webp');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.homecare-section-card{
	display: flex;
	/* stretch: the image column is as tall as the text column next to it */
	align-items: stretch;
	gap: 60px;
}

.homecare-section-card-reverse{
	flex-direction: row-reverse;
}

.homecare-section-image{
	position: relative;
	flex: 0 0 42%;
	width: 42%;
	/* height comes from the text beside it; min-height keeps short sections from a thin image */
	min-height: 320px;
	/* same 45px as .homecare-section-body's padding, so the image runs from the title
	   to the last line of content */
	margin: 45px 0;
	overflow: hidden;
}

.homecare-section-image img{
	/* fill the column whatever its height (cropped to fit), without setting the height itself */
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease-in-out;
}

.homecare-section-card:hover .homecare-section-image img{
	transform: scale(1.06);
}

.homecare-section-body{
	flex: 0 1 620px;
	max-width: 620px;
	padding: 45px 0;
}

@media (max-width: 767px){
	.homecare-section-card{
		flex-direction: column;
	}

	.homecare-section-card-reverse{
		flex-direction: column;
	}

	/* Stacked on phones: image on top with its own shape */
	.homecare-section-image{
		flex: 0 0 auto;
		width: 100%;
		min-height: 0;
		margin: 0;
		aspect-ratio: 1 / 0.7;
	}

	.homecare-section-body{
		padding: 30px 26px;
	}
}

.homecare-section-heading{
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 15px;
}

.homecare-section-icon{
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #dedec7;
	color: var(--primary-color);
	border-radius: 50%;
	font-size: 18px;
}

.homecare-section-title{
	font-size: 24px;
	font-weight: 300;
	margin-bottom: 0;
	color: #918259;
}

.homecare-section-content{
	color: #737b83;
	line-height: 1.8em;
}

.homecare-section-content p:last-child{
	margin-bottom: 0;
}

.homecare-section-content ul{
	list-style: none;
	margin: 15px 0 0;
	padding: 0;
}

.homecare-section-content ul li{
	position: relative;
	padding-left: 22px;
	margin-bottom: 8px;
	line-height: 1.6em;
}

.homecare-section-content ul li:before{
	content: '\f105';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 1px;
	color: var(--accent-color);
}

.homecare-section-contacts{
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 25px;
}

.homecare-contact-pill{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	align-self: flex-start;
	padding: 12px 24px;
	background: #ceba8242;
	color: var(--primary-color);
	border-radius: 100px;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	transition: all 0.3s ease-in-out;
}

.homecare-contact-pill:hover{
	background: var(--accent-color);
	color: var(--white-color);
}

.homecare-contact-pill i{
	font-size: 13px;
}

.homecare-contacts-box{
	margin-top: 60px;
	padding: 40px;
	background: #F7F7F2;
	border-radius: 20px;
}

.homecare-contacts-box h3{
	font-size: 22px;
	font-weight: 400;
	margin-bottom: 25px;
}

.homecare-contacts-list{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
}

.homecare-contact-item{
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	background: var(--white-color);
	border-radius: 14px;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.06);
}

.homecare-contact-name{
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
}

.homecare-contact-phone{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--accent-color);
	font-size: 14px;
	font-weight: 500;
}

.homecare-contact-phone:hover{
	color: var(--primary-color);
}

/************************************/
/*** 	 Leadership Page	  ***/
/************************************/

.leadership-page .row{
	align-items: stretch;
}

.leadership-page .row > div{
	padding-bottom: 30px;
}

.leadership-card{
	display: flex;
	height: 100%;
	background: var(--white-color);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.07);
	transition: all 0.35s ease-in-out;
}

.leadership-card:hover{
	transform: translateY(-6px);
	box-shadow: 0 25px 45px rgba(26, 26, 26, 0.14);
}

.leadership-card-image{
	position: relative;
	flex: 0 0 40%;
	width: 40%;
	align-self: stretch;
	overflow: hidden;
	margin-top: 34px;
	margin-bottom: 34px;
}

.leadership-card-image figure{
	height: 100%;
	margin: 0;
	padding: 15px;
	/* background: #F7F7F2; */
	border-radius: 10px;
	overflow: hidden;
}

.leadership-card-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 10px;
	transition: transform 0.6s ease-in-out;
}

.leadership-card:hover .leadership-card-image img{
	transform: scale(1.06);
}

.leadership-card-body{
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 34px 32px;
}

.leadership-card-body h2{
	font-size: 26px;
	font-weight: 400;
	margin-bottom: 10px;
}

.leadership-card-designation{
	display: inline-block;
	align-self: flex-start;
	padding: 6px 16px;
	margin-bottom: 18px;
	background: #ceba8221;
	color: var(--primary-color);
	border-radius: 100px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.leadership-card-bio p{
	color: #737b83;
	line-height: 1.7em;
	margin-bottom: 16px;
}

.leadership-card-bio p:last-child{
	margin-bottom: 0;
}

@media (max-width: 767px){
	.leadership-card{
		flex-direction: column;
	}

	.leadership-card-image{
		flex: 0 0 auto;
		width: 100%;
		aspect-ratio: 1 / 1.4;
		margin-bottom: 0px;
	}

	.leadership-card-body{
		padding: 26px;
	}
}

/************************************/
/*** 	 Blog Post FAQ Section	  ***/
/************************************/

.post-faq-section{
	margin-top: 50px;
	padding: 45px 40px;
	background: #F7F7F2;
	border-radius: 20px;
}

.post-faq-eyebrow{
	display: inline-block;
	color: var(--accent-color);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.post-faq-section > h2{
	margin-bottom: 30px;
	font-size: 30px;
}

.post-faq-accordion .post-faq-item{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	margin-bottom: 16px;
	overflow: hidden;
	transition: all 0.3s ease-in-out;
}

.post-faq-accordion .post-faq-item:last-child{
	margin-bottom: 0;
}

.post-faq-accordion .post-faq-item:hover{
	border-color: var(--accent-color);
	box-shadow: 0 10px 30px rgba(26, 26, 26, 0.08);
}

.post-faq-header{
	margin: 0;
}

.post-faq-button{
	display: flex;
	align-items: center;
	width: 100%;
	gap: 20px;
	padding: 22px 26px;
	background: transparent;
	border: none;
	text-align: left;
	cursor: pointer;
}

.post-faq-index{
	flex-shrink: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--accent-color);
}

.post-faq-question{
	flex-grow: 1;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.4em;
	color: var(--primary-color);
}

.post-faq-icon{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #dedec7;
	color: var(--primary-color);
	font-size: 13px;
	transition: transform 0.3s ease-in-out;
}

.post-faq-button:not(.collapsed) .post-faq-icon{
	transform: rotate(135deg);
}

.post-faq-button:not(.collapsed) .post-faq-question{
	color: var(--accent-color);
}

.post-faq-body{
	padding: 0 26px 24px 66px;
}

.post-faq-body p{
	margin-bottom: 0;
	color: #555555;
	line-height: 1.7em;
}

@media (max-width: 575px){
	.post-faq-section{
		padding: 30px 20px;
	}

	.post-faq-button{
		gap: 14px;
		padding: 18px;
	}

	.post-faq-question{
		font-size: 16px;
	}

	.post-faq-body{
		padding: 0 18px 20px 48px;
	}
}

/************************************/
/*** 	 News & Events Page	  ***/
/************************************/

.news-event-description-wrap{
	margin-bottom: 0;
}

.news-event-description{
	color: #737b83;
	line-height: 1.7em;
	margin-bottom: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
}

.news-event-description-wrap.expanded .news-event-description{
	-webkit-line-clamp: unset;
	overflow: visible;
}

/* Read More: at the end of the last visible line, over the cut-off text (white fade behind it).
   Read Less (expanded): simply follows the last sentence. */
.news-event-description-wrap{
	position: relative;
}

.news-event-readmore-toggle{
	position: absolute;
	right: 0;
	bottom: 0;
	display: inline-block;
	padding: 0 0 0 34px;
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--white-color) 26px);
	border: none;
	color: var(--accent-color);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.7em;
	cursor: pointer;
}

.news-event-description-wrap.expanded .news-event-readmore-toggle{
	position: static;
	padding: 0;
	background: transparent;
}

.news-event-readmore-toggle:hover{
	text-decoration: underline;
}

.news-event-gallery-hidden{
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}

.news-events-page .row{
	align-items: stretch;
	/* 50px gap between the two items in a row. The theme fixes column padding at 15px
	   (".row > *" above), so the gap is set with padding/margins, not Bootstrap's --bs-gutter-x. */
	margin-left: -25px;
	margin-right: -25px;
}

.news-events-page .row > div{
	padding-left: 25px;
	padding-right: 25px;
	padding-bottom: 35px;
}

/* One item per row below 992px: back to the theme's normal side spacing */
@media (max-width: 991px){
	.news-events-page .row{
		margin-left: -15px;
		margin-right: -15px;
	}

	.news-events-page .row > div{
		padding-left: 15px;
		padding-right: 15px;
	}
}

.news-event-card{
	display: flex;
	flex-direction: row;
	height: 100%;
	background: var(--white-color);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.07);
	transition: all 0.35s ease-in-out;
}

.news-event-card-image-only{
	height: auto;
}

.news-event-card:hover{
	transform: translateY(-6px);
	box-shadow: 0 25px 45px rgba(26, 26, 26, 0.14);
}

.news-event-card-thumb{
	position: relative;
	overflow: hidden;
	cursor: none;
	flex: 0 0 42%;
	width: 42%;
}

.news-event-card-thumb img{
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease-in-out;
}

.news-event-card:hover .news-event-card-thumb img{
	transform: scale(1.08);
}

/* City page (/{city}): project cards in the home page design, with location / status / RERA */
.city-projects-page{
	padding: 80px 0 50px;
}

.city-project-meta{
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.city-project-meta li{
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 14px;
	line-height: 1.4em;
}

.city-project-meta li i{
	flex-shrink: 0;
	width: 14px;
	margin-top: 3px;
	color: var(--accent-color);
	font-size: 12px;
	text-align: center;
}

.city-project-noimage{
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1.347; /* same shape as .project-item-image img */
	background: #2a2a2a;
	color: rgba(255, 255, 255, 0.25);
	font-size: 56px;
}

/* Top-left of the image: status badge (and the admin-only draft note under it) */
.city-project-badges{
	position: absolute;
	top: 20px;
	left: 20px;
	right: 90px; /* keep clear of the arrow button on the right */
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	pointer-events: none;
}

.city-project-status{
	padding: 7px 14px;
	border-radius: 100px;
	background: var(--accent-color);
	color: var(--white-color);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
	text-transform: uppercase;
}

.city-project-draft{
	padding: 5px 12px;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.92);
	color: #9a6a00;
	font-size: 12px;
	font-weight: 600;
}

@media (max-width: 767px){
	.city-projects-page{
		padding: 50px 0 20px;
	}

	.city-project-meta li{
		font-size: 13px;
	}
}

/* =========================================================
   Completed projects (/completed, /completed/{city})
   ========================================================= */
.completed-projects-page{
	padding: 80px 0 50px;
}

/* City filter: All / Cochin / Trivandrum ... */
.completed-city-filter{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 40px;
}

.completed-city-filter button{
	padding: 9px 22px;
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	background: transparent;
	color: var(--primary-color);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.4;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.completed-city-filter button:hover,
.completed-city-filter button.active{
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}

/* Cards of other cities while a city filter is on */
.completed-projects-page .completed-col[hidden]{
	display: none;
}

.completed-projects-page .row > div{
	padding-bottom: 30px;
}

.completed-card{
	height: 100%;
	display: flex;
	flex-direction: column;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.05);
	transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.completed-card:hover{
	transform: translateY(-4px);
	box-shadow: 0 16px 34px rgba(26, 26, 26, 0.1);
}

.completed-card-image{
	position: relative;
	overflow: hidden;
}

.completed-card-image img,
.completed-card-noimage{
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.6s ease-in-out;
}

.completed-card:hover .completed-card-image img{
	transform: scale(1.05);
}

.completed-card-noimage{
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F7F7F2;
	color: #d9d4c4;
	font-size: 52px;
}

/* Year of completion on the image (top left; the Sold Out ribbon is top right) */
.completed-year{
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	padding: 6px 14px;
	border-radius: 100px;
	background: rgba(26, 26, 26, 0.72);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	color: var(--white-color);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.2;
	pointer-events: none;
}

/* "Sold Out" badge: gold ribbon across the top-right corner of the image */
.completed-soldout{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	width: 150px;
	height: 150px;
	overflow: hidden;
	pointer-events: none;
}

.completed-soldout span{
	position: absolute;
	top: 34px;
	right: -44px;
	width: 200px;
	padding: 9px 0;
	background: var(--accent-color);
	color: var(--white-color);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-align: center;
	text-transform: uppercase;
	transform: rotate(45deg);
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

.completed-card-body{
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 24px 26px 26px;
}

.completed-card-title{
	font-size: 18px;
	font-weight: 300;
	margin: 0 0 6px;
}

/* 4 cards per row: slightly slimmer padding and ribbon so nothing feels cramped */
@media (min-width: 1200px){
	.completed-card-body{
		padding: 20px 20px 22px;
	}

	.completed-soldout{
		width: 130px;
		height: 130px;
	}

	.completed-soldout span{
		top: 28px;
		right: -50px;
		font-size: 12px;
		padding: 7px 0;
	}
}

.completed-card-location{
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 6px;
	color: #737b83;
	font-size: 14px;
}

/* RERA line sits right under the location; the last line keeps space above the button */
.completed-card-rera{
	display: block;
	overflow-wrap: anywhere;
}

/* The RERA number itself in the accent (gold/orange) colour */
.completed-card-rera span{
	color: var(--accent-color);
	font-weight: 500;
}

.completed-card-body > .completed-card-location:last-of-type{
	margin-bottom: 18px;
}

.completed-card-location i{
	margin-top: 4px;
	color: var(--accent-color);
	font-size: 13px;
}

.completed-card-footer{
	margin-top: auto;
}

@media (max-width: 767px){
	.completed-projects-page{
		padding: 50px 0 20px;
	}

	.completed-city-filter{
		margin-bottom: 25px;
	}

	.completed-card-body{
		padding: 20px;
	}

	.completed-card-title{
		font-size: 18px;
	}
}

/* City label on the news & event image (City chosen in the dashboard) */
.news-event-city{
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: calc(100% - 28px);
	padding: 6px 12px;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--primary-color);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
	pointer-events: none;
}

.news-event-city i{
	color: var(--accent-color);
	font-size: 12px;
}

.youtube-play-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 64px;
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
	transition: transform 0.3s ease-in-out;
	pointer-events: none;
}

.news-event-card:hover .youtube-play-icon{
	transform: translate(-50%, -50%) scale(1.1);
}

.news-event-card-body{
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 26px 26px 26px;
}

.news-event-card-title{
	font-size: 17px;
	font-weight: 300;
	line-height: 1.4em;
	color: var(--primary-color);
	margin-bottom: 12px;
}

.news-event-description-wrap{
	margin-bottom: 0;
}

.news-event-card-footer{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin-top: 20px;
	margin-bottom: 10px;
	/* padding-top: 18px; */
}

/* "View Images" + "View PDF" buttons on one line
   (the buttons get smaller in the media queries further down so both always fit). */
.news-event-card-actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	max-width: 100%;
}

.news-event-pdf-btn,
.news-event-pdf-btn:hover,
.news-event-pdf-btn:focus{
	color: var(--white-color);
	text-decoration: none;
}

.news-event-gallery-btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	background: var(--accent-color);
	color: var(--white-color);
	border: none;
	border-radius: 100px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2em;
	white-space: nowrap;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.news-event-gallery-btn:hover{
	background: var(--primary-color);
}

.news-event-gallery-btn i{
	font-size: 13px;
}

/* Narrower cards (two per row below 1400px) and small phones: smaller buttons so
   "View Images" and "View PDF" stay on the same line */
@media (max-width: 1399px){
	.news-event-card-actions{
		gap: 8px;
	}

	.news-event-gallery-btn{
		gap: 6px;
		padding: 10px 14px;
		font-size: 13px;
	}

	.news-event-gallery-btn i{
		font-size: 12px;
	}
}

@media (min-width: 992px) and (max-width: 1199px){
	.news-event-gallery-btn{
		padding: 9px 12px;
		font-size: 12px;
	}

	.news-event-gallery-btn i{
		display: none;
	}
}

@media (min-width: 576px) and (max-width: 991px){
	.news-event-card-actions{
		gap: 10px;
	}

	.news-event-gallery-btn{
		gap: 8px;
		padding: 11px 18px;
		font-size: 14px;
	}

	.news-event-gallery-btn i{
		font-size: 13px;
	}
}

@media (max-width: 575px){
	.news-event-gallery-btn{
		padding: 10px 12px;
	}
}

@media (max-width: 767px){
	.news-event-card{
		flex-direction: column;
	}

	.news-event-card-thumb{
		flex: 0 0 auto;
		width: 100%;
	}

	.news-event-card-thumb img{
		aspect-ratio: 1 / 0.72;
	}

	.news-event-card-body{
		padding: 26px 26px 26px;
	}
}

/************************************/
/*** 	 SFS Media Page	          ***/
/************************************/

.sfs-media-page .row{
	align-items: stretch;
}

.sfs-media-page .row > div{
	padding-bottom: 35px;
}

.sfs-media-card{
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--white-color);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.07);
	transition: all 0.35s ease-in-out;
}

.sfs-media-card-image-only{
	height: auto;
	align-self: flex-start;
}

.sfs-media-page .sfs-media-card-image-only{
	height: 100%;
	align-self: stretch;
}

.sfs-media-card:hover{
	transform: translateY(-6px);
	box-shadow: 0 25px 45px rgba(26, 26, 26, 0.14);
}

.sfs-media-card-thumb{
	overflow: hidden;
	cursor: none;
}

.sfs-media-card-thumb img{
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.6s ease-in-out;
}

/* Award with a YouTube video: its thumbnail (16:9) with the play icon in the middle */
.sfs-media-card-thumb-video{
	position: relative;
}

.sfs-media-card-thumb-video a{
	display: block;
}

.sfs-media-card-thumb-video img{
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.sfs-media-card:hover .sfs-media-card-thumb img{
	transform: scale(1.08);
}

.sfs-media-card-body{
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 26px;
}

.sfs-media-card-title{
	font-size: 15px;
	font-weight: 300;
	line-height: 1.4em;
	color: var(--primary-color);
	margin-bottom: 8px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.sfs-media-description-wrap{
	margin-bottom: 0;
}

.sfs-media-content{
	color: #737b83;
	line-height: 1.7em;
	margin-bottom: 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 15px;
}

.sfs-media-description-wrap.expanded .sfs-media-content{
	-webkit-line-clamp: unset;
	overflow: visible;
}

.sfs-media-readmore-toggle{
	display: inline-block;
	flex-shrink: 0;
	padding: 0;
	background: transparent;
	border: none;
	color: var(--accent-color);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
}

.sfs-media-readmore-toggle:hover{
	text-decoration: underline;
}

.sfs-media-gallery-hidden{
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}

.sfs-media-card-footer{
	display: flex;
	flex-wrap: wrap; /* e.g. "View Video" + "Read More" on a narrow card */
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-top: auto;
	padding-top: 18px;
}

.sfs-media-btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	background: var(--accent-color);
	color: var(--white-color);
	border: none;
	border-radius: 100px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.sfs-media-btn:hover{
	background: var(--primary-color);
	color: var(--white-color);
}

.sfs-media-btn i{
	font-size: 13px;
}

/************************************/
/*** 	 Testimonials Page	      ***/
/************************************/

.testimonials-page .row{
	align-items: stretch;
}

.testimonials-page .row > div{
	padding-bottom: 20px;
}

.testimonial-card{
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 30px;
	background: var(--white-color);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.07);
	transition: all 0.35s ease-in-out;
}

.testimonial-card:hover{
	transform: translateY(-6px);
	box-shadow: 0 25px 45px rgba(26, 26, 26, 0.14);
}

.testimonial-card-quote{
	width: 46px;
	margin-bottom: 18px;
}

.testimonial-card-quote img{
	width: 100%;
}

.testimonial-card-text{
	color: #555555;
	line-height: 1.7em;
	margin-bottom: 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.testimonial-card-thumb{
	margin: -30px -30px 20px;
	overflow: hidden;
	cursor: none;
}

.testimonial-card-video .testimonial-card-thumb{
	position: relative;
}

/* img = thumbnail; video = a frame of an uploaded video that has no thumbnail yet */
.testimonial-card-video .testimonial-card-thumb img,
.testimonial-card-video .testimonial-card-thumb video{
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease-in-out;
}

.testimonial-card-video .testimonial-card-thumb video{
	background: #1a1a1a;
	pointer-events: none;
}

.testimonial-card-video:hover .testimonial-card-thumb img,
.testimonial-card-video:hover .testimonial-card-thumb video{
	transform: scale(1.08);
}

.testimonial-card-video .youtube-play-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
	transition: transform 0.3s ease-in-out;
	pointer-events: none;
}

.testimonial-card-video:hover .youtube-play-icon{
	transform: translate(-50%, -50%) scale(1.1);
}

.testimonial-card-image .testimonial-card-thumb img{
	width: 100%;
	height: auto;
	display: block;
}

.testimonial-card-image-only{
	height: auto;
	align-self: flex-start;
	padding-bottom: 0;
}

.testimonial-card-image-only .testimonial-card-thumb{
	margin-bottom: 0;
}

.testimonial-card-author{
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: auto;
	padding-top: 20px;
}

.testimonial-card-author-image{
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	overflow: hidden;
}

.testimonial-card-author-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.testimonial-card-author-content h3{
	font-size: 16px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 2px;
}

.testimonial-card-author-content span{
	font-size: 14px;
	color: #777777;
}

.testimonials-client-section{
	background-image: none;
	padding: 60px 0;
}

.testimonials-client-section:before{
	display: none;
}

.testimonials-client-section .testimonial-item-moon{
	background-color: var(--white-color);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.07);
	border: 1px solid var(--divider-color);
	flex-direction: column;
	align-items: stretch;
	text-align: left;
	transform: none;
	transition: all 0.35s ease-in-out;
}

/* text testimonials (homepage + Testimonials page): text cut to 4 lines, "View more" / "View less"
   toggle added by assets/js/testimonial-readmore.js when the text is longer */
.testimonials-client-section .testimonial-item-content-moon p.is-clamped{
	display: -webkit-box;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.testimonial-readmore-btn{
	display: inline;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	color: #a59568;
	font-size: 14px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	transition: color 0.3s ease-in-out;
}

.testimonial-readmore-btn:hover{
	color: #7d6c3f;
}

/* The toggle is inside the text: while clamped, "View more" sits at the end of the 4th line itself,
   over the cut-off words, with a white fade behind it (the cards are white); when open,
   "View less" simply follows the last sentence on the same line */
.testimonials-client-section .testimonial-item-content-moon p.has-readmore{
	position: relative;
}

.testimonials-client-section .testimonial-item-content-moon p.has-readmore.is-clamped .testimonial-readmore-btn{
	position: absolute;
	right: 0;
	bottom: 0;
	padding-left: 48px;
	background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--white-color) 45%);
}

/* Testimonials page: all cards in the slider the same height (each slide stretches to the tallest card) */
.testimonials-client-section .testimonial-slider-moon .swiper-wrapper{
	align-items: stretch;
}

.testimonials-client-section .testimonial-slider-moon .swiper-slide{
	height: auto;
	display: flex;
}

.testimonials-client-section .testimonial-slider-moon .testimonial-item-moon{
	height: 100%;
	width: 100%;
}

.testimonials-client-section .testimonial-item-moon:hover{
	transform: translateY(-6px);
	box-shadow: 0 25px 45px rgba(26, 26, 26, 0.14);
	border-color: transparent;
}

.testimonials-client-section .testimonial-item-author-moon{
	display: flex;
	align-items: center;
	gap: 14px;
}

/* "View PDF": on its own line under the client's name and designation */
.testimonial-pdf-link{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	padding: 6px 14px;
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	color: var(--primary-color);
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	transition: all 0.3s ease-in-out;
}

.testimonial-pdf-link:hover{
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}

.testimonials-client-section .testimonial-item-avatar-col{
	flex-shrink: 0;
}

.testimonials-client-section .testimonial-author-image-moon{
	margin-top: 0;
}

.testimonials-client-section .testimonial-author-image-moon figure{
	max-width: 55px;
	margin: 0;
	border: 3px solid #F7F7F2;
}

.testimonials-client-section .testimonial-author-image-moon img{
	max-width: 55px;
}

.testimonials-client-section .testimonial-author-initials{
	width: 55px;
	height: 55px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--accent-color), #b89f66);
	color: var(--white-color);
	font-size: 18px;
	font-weight: 600;
	border: 3px solid #F7F7F2;
}

.testimonials-client-section .testimonial-item-quotes-moon{
	width: 44px;
	height: 44px;
	margin-bottom: 15px;
	border-radius: 50%;
	background: #ceba8221;
	display: flex;
	align-items: center;
	justify-content: center;
}

.testimonials-client-section .testimonial-item-quotes-moon img{
	max-width: 18px;
	filter: brightness(0);
	opacity: 0.45;
}

.testimonials-client-section .testimonial-item-content-moon p{
	color: #737b83;
	font-weight: 400;
	line-height: 1.7em;
}

.testimonials-client-section .testimonial-author-content-moon h2{
	color: var(--primary-color);
	font-weight: 400;
}

.testimonials-client-section .testimonial-author-content-moon p{
	color: #777777;
	font-size: 14px;
}

.testimonials-page.bg-section{
	background-image: url('../img/video-bg.webp');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 60px 0;
	border-radius: 0;
	max-width: 100%;
}

.main-footer-moon.bg-section{
	border-radius: 0;
	max-width: 100%;
}

@media (max-width: 991px){
	.testimonials-page.bg-section{
		background-position: center center;
		background-size: cover;
		padding: 60px 0;
	}
}

/************************************/
/*** 	 Awards Logo Strip	      ***/
/************************************/

.awards-logo-strip{
	padding: 60px 0;
	background: var(--white-color);
}

.awards-logo-row{
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	align-items: center;
	justify-items: center;
	gap: 20px;
	margin-top: 20px;
}

.awards-logo-item{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 190px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: var(--white-color);
	box-shadow: 0 15px 35px rgba(26, 26, 26, 0.1);
	padding: 16%;
	transition: all 0.4s ease-in-out;
}

.awards-logo-item:hover{
	transform: translateY(-10px);
	box-shadow: 0 25px 45px rgba(26, 26, 26, 0.18);
}

.awards-logo-item img{
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: all 0.4s ease-in-out;
}

.awards-logo-item:hover img{
	transform: scale(1.06);
}

@media (max-width: 575px){
	.awards-logo-row{
		gap: 10px;
	}
}

/************************************/
/*** 	 Project Videos Page	  ***/
/************************************/

.project-videos-page .row{
	align-items: stretch;
}

.project-videos-page .row > div{
	padding-bottom: 20px;
}

.project-video-card{
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--white-color);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.07);
	transition: all 0.35s ease-in-out;
}

.project-video-card:hover{
	transform: translateY(-6px);
	box-shadow: 0 25px 45px rgba(26, 26, 26, 0.14);
}

.project-video-card-thumb{
	position: relative;
	overflow: hidden;
	cursor: none;
}

.project-video-card-thumb img{
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease-in-out;
}

.project-video-card:hover .project-video-card-thumb img{
	transform: scale(1.08);
}

.project-video-card .youtube-play-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 64px;
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
	transition: transform 0.3s ease-in-out;
	pointer-events: none;
}

.project-video-card:hover .youtube-play-icon{
	transform: translate(-50%, -50%) scale(1.1);
}

.project-video-card-body{
	padding: 22px 26px;
}

.project-video-card-title{
	font-size: 18px;
	font-weight: 300;
	color: var(--primary-color);
	margin-bottom: 8px;
}

.project-video-card-location{
	font-size: 14px;
	color: #777777;
	margin: 0;
}

/************************************/
/*** 	 Property Listing Page	  ***/
/************************************/

.property-listing-page{
	padding: 80px 0;
}

.property-listing-eyebrow{
	display: block;
	color: var(--accent-color);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 25px;
}

.property-listing-title{
	font-size: 32px;
	color: var(--primary-color);
	margin-bottom: 30px;
}

.property-listing-card{
	background: var(--white-color);
	border-radius: 0;
	overflow: hidden;
	border: 1px solid var(--divider-color);
	box-shadow: 0 10px 20px rgba(26, 26, 26, 0.04);
}

.property-listing-table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 0;
}

.property-listing-table thead th{
	background: #ceba8242;
	color: #343434;
	font-weight: 400;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 35px 16px;
	white-space: nowrap;
	border: none;
	border-right: 1px solid var(--divider-color);
}

.property-listing-table thead th:last-child{
	border-right: none;
}

.property-listing-table tbody td{
	padding: 25px 16px;
	vertical-align: middle;
	border-bottom: 1px solid var(--divider-color);
	border-right: 1px solid var(--divider-color);
	color: #555b5d;
}

.property-listing-table tbody td:last-child{
	border-right: none;
}

.property-listing-table tbody tr:last-child td{
	border-bottom: none;
}

.property-listing-table tbody tr:nth-child(even){
	background: #F7F7F2;
}

.property-listing-table tbody tr{
	transition: background-color 0.25s ease-in-out;
}

.property-listing-table tbody tr:hover{
	background: #F2EFE3;
}

.property-details-pill{
	display: inline-block;
	padding: 5px 14px;
	background: rgba(156, 156, 85, 0.12);
	color: var(--accent-color);
	border-radius: 100px;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.property-amount{
	color: var(--accent-color);
	font-size: 16px;
}

.property-enquiry-btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	background: transparent;
	color: #555b5d;
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	transition: all 0.3s ease-in-out;
}

.property-enquiry-btn:hover{
	background: var(--accent-color);
	color: var(--white-color);
	border-color: var(--accent-color);
	transform: translateY(-2px);
}

.listing-contact-box{
	position: relative;
	background: var(--white-color);
	border-radius: 20px;
	padding: 40px 30px 30px;
	border: 1px solid var(--divider-color);
	box-shadow: 0 10px 20px rgba(26, 26, 26, 0.04);
	border-top: 4px solid var(--accent-color);
}

.listing-contact-icon{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #dedec7;
	color: var(--primary-color);
	font-size: 22px;
	margin-bottom: 18px;
}

.listing-contact-box h3{
	font-size: 22px;
	color: var(--primary-color);
	margin-bottom: 20px;
	line-height: 1.3em;
}

.listing-contact-box p{
	color: #555555;
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px dashed var(--divider-color);
	line-height: 1.5em;
}

.listing-contact-box p:last-child{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

@media (max-width: 991px){
	.property-listing-page{
		padding: 60px 0;
	}
}

@media (max-width: 767px){
	.property-listing-table thead th,
	.property-listing-table tbody td{
		padding: 14px 16px;
		font-size: 14px;
	}

	.listing-contact-box{
		margin-top: 30px;
		padding: 30px 24px 24px;
	}
}

/************************************/
/*** 	 Rental Enquiry Modal	  ***/
/************************************/

.rental-enquiry-modal{
	position: relative;
	border: none;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 30px 60px rgba(26, 26, 26, 0.25);
}

.rental-enquiry-modal:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: var(--accent-color);
}

.rental-enquiry-modal .modal-body{
	padding: 45px 40px 40px;
}

.rental-enquiry-close{
	position: absolute;
	top: 22px;
	right: 22px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: none;
	border-radius: 50%;
	background: #F7F7F2;
	color: var(--primary-color);
	font-size: 15px;
	transition: all 0.3s ease-in-out;
}

.rental-enquiry-close:hover{
	background: var(--accent-color);
	color: var(--white-color);
	transform: rotate(90deg);
}

.rental-enquiry-eyebrow{
	display: block;
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.rental-enquiry-modal h3{
	font-size: 26px;
	color: var(--primary-color);
	margin-bottom: 28px;
	line-height: 1.3em;
}

.rental-enquiry-modal .form-label{
	font-size: 13px;
	font-weight: 700;
	color: var(--primary-color);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 8px;
}

.rental-enquiry-modal .form-control{
	background: #F7F7F2;
	border: 1px solid transparent;
	border-radius: 12px;
	padding: 13px 18px;
	font-size: 15px;
	color: var(--primary-color);
	transition: all 0.3s ease-in-out;
}

.rental-enquiry-modal .form-control::placeholder{
	color: #999999;
}

.rental-enquiry-modal .form-control:focus{
	background: var(--white-color);
	border-color: var(--accent-color);
	box-shadow: 0 0 0 3px rgba(156, 156, 85, 0.15);
}

.rental-enquiry-readonly{
	color: #777777;
	font-weight: 600;
}

.rental-enquiry-check{
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--primary-color);
	font-size: 14px;
	cursor: pointer;
}

.rental-enquiry-check input{
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.rental-enquiry-checkmark{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border: 2px solid var(--divider-color);
	border-radius: 5px;
	transition: all 0.2s ease-in-out;
}

.rental-enquiry-check input:checked ~ .rental-enquiry-checkmark{
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.rental-enquiry-check input:checked ~ .rental-enquiry-checkmark:after{
	content: '\f00c';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	color: var(--white-color);
	font-size: 11px;
}

.rental-enquiry-submit{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--accent-color);
	color: var(--white-color);
	border: none;
	border-radius: 100px;
	padding: 15px;
	font-weight: 600;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.3s ease-in-out;
}

.rental-enquiry-submit:hover{
	background: var(--primary-color);
	color: var(--white-color);
	transform: translateY(-2px);
}

.rental-enquiry-submit:disabled{
	opacity: 0.7;
	transform: none;
}

.rental-enquiry-feedback{
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 12px;
}

.rental-enquiry-feedback.rental-enquiry-success{
	color: #2e7d32;
}

.rental-enquiry-feedback.rental-enquiry-error{
	color: #c62828;
}

@media (max-width: 575px){
	.rental-enquiry-modal .modal-body{
		padding: 40px 24px 30px;
	}
}

/************************************/
/*** 	 Vision & Mission Page	  ***/
/************************************/

.vision-mission-page{
	padding: 80px 0;
	background: radial-gradient(circle at 15% 10%, rgba(156, 156, 85, 0.06) 0%, rgba(156, 156, 85, 0) 45%);
}

@keyframes vmFloat{
	0%, 100%{ transform: translateY(0); }
	50%{ transform: translateY(-8px); }
}

@keyframes vmPop{
	0%{ transform: scale(0.6); opacity: 0; }
	100%{ transform: scale(1); opacity: 1; }
}

.vm-card{
	position: relative;
	background: var(--white-color);
	border-radius: 24px;
	padding: 45px 40px;
	margin-bottom: 30px;
	box-shadow: 0 20px 50px rgba(26, 26, 26, 0.08);
	height: calc(100% - 30px);
	overflow: hidden;
	perspective: 800px;
	transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease-in-out;
}

.vm-card:hover{
	transform: translateY(-12px);
	box-shadow: 0 35px 70px rgba(156, 156, 85, 0.28);
}

.vm-card:before{
	content: '';
	position: absolute;
	top: -70px;
	right: -70px;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(156, 156, 85, 0.14) 0%, rgba(156, 156, 85, 0) 70%);
	transition: transform 0.6s ease-in-out;
	pointer-events: none;
}

.vm-card:hover:before{
	transform: scale(1.4);
}

.vm-card-watermark{
	position: absolute;
	top: 15px;
	right: 30px;
	font-size: 90px;
	font-weight: 800;
	line-height: 1;
	color: var(--primary-color);
	opacity: 0.04;
	pointer-events: none;
}

.vm-card-icon-float{
	display: inline-block;
	animation: vmFloat 3.2s ease-in-out infinite;
}

.vm-card-icon{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	border-radius: 50%;
	background: #dedec7;
	color: var(--primary-color);
	font-size: 28px;
	margin-bottom: 26px;
	box-shadow:
		0 18px 30px rgba(156, 156, 85, 0.25),
		inset 0 -5px 10px rgba(0, 0, 0, 0.08),
		inset 0 4px 8px rgba(255, 255, 255, 0.5);
	transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
	transform-style: preserve-3d;
}

.vm-card:hover .vm-card-icon{
	transform: rotateY(360deg) scale(1.08);
}

.vm-card h2{
	position: relative;
	font-size: 26px;
	color: var(--primary-color);
	margin-bottom: 20px;
}

.vm-card p{
	position: relative;
	color: #555555;
	line-height: 1.8em;
	margin-bottom: 0;
	font-size: 16px;
}

.vm-list{
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px 20px;
}

.vm-list li{
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 12px 14px;
	border-radius: 14px;
	color: #555555;
	line-height: 1.6em;
	font-size: 16px;
	transition: all 0.35s ease-in-out;
}

.vm-list li:hover{
	background: #F7F7F2;
	transform: translateX(6px);
}

.vm-list-num{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(156, 156, 85, 0.12);
	color: var(--accent-color);
	font-weight: 700;
	font-size: 13px;
	margin-top: 1px;
	transition: all 0.35s ease-in-out;
}

.vm-list li:hover .vm-list-num{
	background: var(--accent-color);
	color: var(--white-color);
	transform: scale(1.15) rotate(-8deg);
}

.vm-list-text{
	padding-top: 5px;
}

@media (max-width: 767px){
	.vision-mission-page{
		padding: 50px 0;
	}

	.vm-card{
		padding: 30px 26px;
	}

	.vm-card-watermark{
		font-size: 60px;
	}

	.vm-list{
		grid-template-columns: 1fr;
	}
}

/************************************/
/*** 	 Project Single Page	  ***/
/************************************/

.pd-page-header-eyebrow{
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--accent-color);
	margin-bottom: 8px;
}

.pd-page-header-tagline{
	color: rgba(255, 255, 255, 0.75);
	font-size: 16px;
	line-height: 1.6em;
	white-space: nowrap;
	margin: 0 0 10px auto;
}

.btn-pd-outline{
	background: #ceba8226;
	color: #231b1b;
	border: 1px solid #ceba8226;
}

.btn-pd-outline::before{
	background-image: url('../images/arrow-primary.svg');
}

.btn-pd-outline:hover::before{
	background-image: url('../images/arrow-white.svg');
}

.btn-pd-outline::after{
	background: var(--accent-color);
}

.btn-pd-outline:hover{
	color: var(--white-color);
	border-color: var(--accent-color);
}

/* Hero: contained image + card overlapping its bottom edge */
.pd-hero{
	position: relative;
	padding-top: 60px;
}

.pd-hero-image{
	position: relative;
	height: 480px;
	border-radius: 20px;
	overflow: hidden;
}

.pd-hero-image-caption{
	margin-bottom: 15px;
}

.pd-hero-image-caption h3{
	color: var(--primary-color);
	font-size: 22px;
	font-weight: 400;
	margin-bottom: 6px;
}

.pd-hero-image-caption span{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #737b83;
	font-size: 14px;
}

.pd-hero-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pd-hero .container{
	position: relative;
}

.pd-hero-card{
	position: relative;
	margin: -140px 30px 0;
	background: #ceba8221;
	border-radius: 20px;
	box-shadow: 0 25px 50px rgba(26, 26, 26, 0.12);
	padding: 45px 50px;
}

.pd-hero-inline{
	padding-top: 0;
	margin-bottom: 40px;
}

.pd-hero-inline .pd-hero-image{
	height: auto;
	background: #F7F7F2;
}

.pd-hero-inline .pd-hero-image img{
	height: auto;
	object-fit: contain;
}

.pd-hero-inline .pd-hero-card{
	margin: 40px 0 0;
	padding: 30px 32px;
}

.pd-hero-card-title{
	font-size: 22px;
	font-weight: 400;
	margin-bottom: 16px;
}

.pd-hero-inline .pd-hero-title{
	font-size: 26px;
}

.pd-hero-title{
	font-size: 32px;
	font-weight: 300;
	line-height: 1.3em;
	margin: 8px 0 20px;
}

.pd-meta-row{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
}

.pd-meta-row span{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: #ceba8242;
	border-radius: 100px;
	font-size: 13px;
	font-weight: 500;
	color: var(--primary-color);
}

.pd-meta-row span i{
	color: var(--accent-color);
}

.pd-cta-row{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-bottom: 30px;
}

.pd-hero-card .pd-cta-row{
	flex-wrap: nowrap;
	gap: 10px;
}

.pd-hero-card .pd-cta-row .btn-default{
	flex: 1 1 0;
	font-size: 13px;
	padding: 14px 26px 14px 14px;
	text-align: center;
	white-space: nowrap;
}

.pd-hero-card .pd-cta-row .btn-default::before{
	right: 10px;
}

.pd-cta-row .btn-default i{
	margin-right: 8px;
}

.pd-hero-image-share{
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 3;
}

.pd-share-btn-round{
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.9);
	color: var(--primary-color);
	border: none;
	border-radius: 50%;
	font-size: 16px;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.pd-share-btn-round:hover{
	background: var(--accent-color);
	color: var(--white-color);
}

.pd-hero-image-share .pd-share-popover{
	left: auto;
	right: 0;
}

.pd-share-popover{
	position: absolute;
	top: 100%;
	left: 0;
	margin-top: 10px;
	display: none;
	align-items: center;
	gap: 10px;
	background: var(--white-color);
	border-radius: 100px;
	padding: 10px 14px;
	box-shadow: 0 15px 35px rgba(26, 26, 26, 0.14);
	z-index: 5;
}

.pd-share-popover.is-open{
	display: flex;
}

.pd-share-link{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #F7F7F2;
	color: var(--primary-color);
	border: none;
	font-size: 14px;
	transition: all 0.3s ease-in-out;
}

.pd-share-link:hover{
	background: var(--accent-color);
	color: var(--white-color);
}

.pd-block{
	margin-top: 60px;
}

/* RERA QR placeholder reusing the why-choose-image slot */
.pd-qr-figure{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 100%;
	min-height: 200px;
	background: #F7F7F2;
	border: 2px dashed var(--divider-color);
	border-radius: 20px;
	color: var(--primary-color);
	margin: 0;
}

.pd-qr-figure i{
	font-size: 54px;
	color: var(--accent-color);
}

.pd-qr-figure-image{
	border-style: solid;
	padding: 20px;
}

.pd-qr-figure-image img{
	width: 140px;
	height: 140px;
	object-fit: contain;
}

.pd-qr-figure span{
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.pd-rera-footer{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 30px;
}

/* Gallery */
.pd-gallery-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 25px;
}

.pd-gallery-item{
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	cursor: none;
	aspect-ratio: 1 / 0.75;
}

.pd-gallery-more-overlay{
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: rgba(26, 26, 26, 0.6);
	color: var(--white-color);
	cursor: pointer;
	z-index: 2;
}

.pd-gallery-more-overlay i{
	font-size: 26px;
}

.pd-gallery-more-overlay span{
	font-size: 15px;
	font-weight: 600;
}

.pd-gallery-item img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease-in-out;
}

.pd-gallery-item:hover img{
	transform: scale(1.08);
}

.pd-gallery-hidden{
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}


/* Overview list (reuses .page-category-list, just placed in main content) */
.pd-overview-list{
	background: #F7F7F2;
}

.project-category-list ul li a,
.pd-overview-list ul li a{
	text-transform: none;
	word-break: break-all;
}

.project-category-list ul{
	background: #ceba8212;
}

.pd-sidebar-rera-body{
	padding: 30px;
	background: #F7F7F2;
	text-align: center;
}

.pd-sidebar-rera-body .pd-qr-figure{
	background: var(--white-color);
	min-height: 160px;
	margin-bottom: 20px;
}

.pd-sidebar-rera-body .pd-qr-figure i{
	font-size: 40px;
}

.pd-sidebar-rera-body .pd-qr-figure span{
	font-size: 13px;
	color: #737b83;
}

.pd-sidebar-rera-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	text-align: center;
}

.pd-sidebar-enquiry-body{
	background: #F7F7F2;
}

.pd-sidebar-enquiry-body .pd-enquiry-form{
	background: transparent;
	padding: 30px;
	border-radius: 0;
}

.pd-sidebar-specs-body{
	padding: 30px 20px 20px 20px;
	background: #F7F7F2;
}

.pd-sidebar-specs-body .faq-accordion .accordion-item{
	margin-bottom: 12px;
	border-radius: 12px;
}

.pd-sidebar-specs-body .faq-accordion .accordion-header .accordion-button{
	font-size: 14px;
	padding: 14px 40px 14px 16px;
}

.pd-sidebar-specs-body .faq-accordion .accordion-item .accordion-button::after{
	right: 16px;
	font-size: 16px;
}

.pd-sidebar-specs-body .faq-accordion .accordion-item .accordion-body{
	padding: 10px;
	background: #F7F7F2;
}

.pd-sidebar-specs-body .pd-spec-list li{
	font-size: 13px;
	padding: 6px 0;
}

.pd-sidebar-status-body{
	padding: 20px 20px 40px 20px;
	background: #F7F7F2;
}

.pd-sidebar-status-body p{
	color: #737b83;
	font-size: 14px;
	line-height: 1.6em;
	margin-bottom: 20px;
}

.pd-status-completion-row{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--divider-color);
}

.pd-status-completion-row span{
	color: #737b83;
	font-size: 14px;
}

.pd-status-completion-row strong{
	color: var(--primary-color);
	font-size: 15px;
	font-weight: 500;
}

.pd-sidebar-status-body .pd-sidebar-rera-btn{
	margin-top: 20px;
}

.pd-sidebar-nearby-list{
	list-style: none;
	margin: 0;
	padding: 20px;
	background: #F7F7F2;
}

.pd-sidebar-nearby-list li{
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-bottom: 14px;
	margin-bottom: 14px;
	border-bottom: 1px solid var(--divider-color);
}

.pd-sidebar-nearby-list li:last-child{
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.pd-sidebar-nearby-name{
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
}

.pd-sidebar-nearby-meta{
	font-size: 12px;
	color: #737b83;
}

.pd-floorplan-tabs{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	list-style: none;
	margin: 25px 0 0;
	padding: 0;
}

.pd-floorplan-tabs li,
ul.pd-floorplan-tabs li{
	padding-left: 0;
	margin-bottom: 0;
}

ul.pd-floorplan-tabs li::before{
	content: none;
}

.pd-floorplan-tab{
	padding: 12px 26px;
	background: #F7F7F2;
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	color: var(--primary-color);
	font-size: 14px;
	font-weight: 500;
	transition: all 0.3s ease-in-out;
}

.pd-floorplan-tab:hover{
	border-color: var(--accent-color);
	color: var(--accent-color);
}

.pd-floorplan-tab.active{
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}

.pd-floorplan-content{
	margin-top: 25px;
}

.pd-floorplan-body{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.pd-floorplan-image{
	margin: 0;
	border-radius: 20px;
	overflow: hidden;
	background: #F7F7F2;
	text-align: center;
}

.pd-floorplan-image img{
	width: 100%;
	max-height: 640px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
	background: #f7f7f2;
	padding: 10px;
	border-radius: 10px;
}

.pd-floorplan-image-link{
	display: block;
	width: 100%;
}

.pd-floorplan-range-tabs{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.pd-floorplan-range-btn{
	padding: 10px 20px;
	background: #F7F7F2;
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	color: var(--primary-color);
	font-size: 12px;
	font-weight: 500;
	transition: all 0.3s ease-in-out;
}

.pd-floorplan-range-btn:hover{
	border-color: var(--accent-color);
	color: var(--accent-color);
}

.pd-floorplan-range-btn.active{
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}

/* Video */
.pd-video-box{
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	margin-top: 20px;
}

.pd-video-box img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pd-video-box::before{
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
}

.pd-video-caption{
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 40px;
	text-align: center;
	z-index: 2;
}

.pd-video-caption h2{
	color: var(--white-color);
	font-size: 28px;
	margin-bottom: 0;
	font-weight: 300;
}

.pd-video-caption p{
	color: rgba(255, 255, 255, 0.8);
	font-size: 15px;
	margin: 0;
}

.pd-video-play{
	width: 76px;
	height: 76px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 50%;
	font-size: 22px;
	transition: all 0.3s ease-in-out;
}

.pd-video-play:hover{
	background: var(--primary-color);
	transform: scale(1.08);
}

.pd-video-soon{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 24px;
	background: var(--white-color);
	color: var(--primary-color);
	border-radius: 100px;
	font-weight: 600;
	white-space: nowrap;
}

/* Amenities: icon-only cards (no description in the data) */
.pd-amenity-item{
	min-height: 0;
	background: #F7F7F2;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.06);
	transition: all 0.3s ease-in-out;
}

.pd-amenity-item:hover{
	background: var(--white-color);
	box-shadow: 0 15px 35px rgba(26, 26, 26, 0.1);
	transform: translateY(-6px);
}

.pd-amenity-item .project-amenity-item-header{
	margin-bottom: 0;
	border-bottom: none;
	padding-bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.pd-amenity-item .icon-box{
	width: 100px;
	height: 100px;
	margin-bottom: 20px;
	font-size: 22px;
}

.pd-amenity-item .icon-box i{
	position: relative;
	color: var(--white-color);
	z-index: 1;
}

.pd-amenity-item .project-amenity-item-title h3{
	font-size: 16px;
	font-weight: 500;
	margin: 0;
}

/* Project Status carousel */
.pd-status-slider{
	position: relative;
	margin-top: 25px;
}

.pd-status-slider .swiper{
	overflow: hidden;
	border-radius: 20px;
}

.pd-status-slide{
	position: relative;
	margin: 0;
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.pd-status-slide img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pd-status-slide figcaption{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 16px 20px;
	background: linear-gradient(to top, rgba(26, 26, 26, 0.75), rgba(26, 26, 26, 0));
	color: var(--white-color);
	font-size: 14px;
	font-weight: 600;
}

.pd-status-nav{
	position: absolute;
	top: 40%;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--white-color);
	color: var(--primary-color);
	border-radius: 50%;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.12);
	cursor: pointer;
	z-index: 5;
	transition: all 0.3s ease-in-out;
}

.pd-status-nav:hover{
	background: var(--accent-color);
	color: var(--white-color);
}

.pd-status-nav::after{
	font-family: 'FontAwesome';
	font-size: 16px;
}

.pd-status-nav{
	width: 38px;
	height: 38px;
}

.pd-status-prev{
	left: 10px;
}

.pd-status-prev::after{
	content: '\f104';
}

.pd-status-next{
	right: 10px;
}

.pd-status-next::after{
	content: '\f105';
}

.pd-status-nav.swiper-button-disabled{
	opacity: 0.4;
	cursor: default;
}

.pd-status-pagination{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 25px;
}

.pd-status-pagination .swiper-pagination-bullet{
	background: var(--divider-color);
	border-radius: 100px;
	width: 10px;
	height: 10px;
	margin: 0;
	opacity: 1;
	transition: all 0.3s ease-in-out;
}

.pd-status-pagination .swiper-pagination-bullet-active{
	width: 30px;
	background: var(--accent-color);
}

/* Specifications list inside the reused FAQ accordion */
.pd-spec-list{
	list-style: none;
	margin: 0;
	padding: 0;
}

.pd-spec-list li{
	padding: 8px 0;
	color: #737b83;
	line-height: 1.6em;
	border-bottom: 1px solid var(--divider-color);
}

.pd-spec-list li:last-child{
	border-bottom: none;
}

.pd-spec-label{
	font-weight: 600;
	color: var(--primary-color);
}

/* Location map */
.pd-map-embed{
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 7;
	border-radius: 20px;
	overflow: hidden;
	margin-top: 15px;
}

.pd-map-embed iframe{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Other Projects row spacing above the shared .project-item cards */
.pd-other-projects{
	margin-top: 20px;
	/* margin-bottom: 60px; */
}

.pd-other-projects-bg{
	background-image: url('../img/video-bg.webp');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 60px calc((100vw - 100%) / 2 + 40px);
	width: 100vw;
	margin-left: calc(-50vw + 50%);
}

/* Enquiry form */
.pd-enquiry-form{
	background: #F7F7F2;
	border-radius: 20px;
	padding: 40px;
}

.pd-enquiry-form .form-control{
	border: 1px solid var(--divider-color);
	border-radius: 10px;
	padding: 14px 18px;
	font-size: 14px;
	background: var(--white-color);
}

.pd-enquiry-form .form-control:focus{
	border-color: var(--accent-color);
	box-shadow: none;
}

.pd-captcha{
	display: flex;
	align-items: center;
	gap: 14px;
}

.pd-captcha span{
	flex-shrink: 0;
	padding: 14px 18px;
	background: var(--white-color);
	border-radius: 10px;
	font-weight: 600;
	color: var(--primary-color);
}

.pd2-robot-check{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 10px;
	cursor: pointer;
	user-select: none;
}

.pd2-robot-check input[type="checkbox"]{
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.pd2-robot-check-box{
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--white-color);
	border: 2px solid var(--divider-color);
	border-radius: 4px;
	color: transparent;
	font-size: 13px;
	transition: all 0.2s ease-in-out;
}

.pd2-robot-check input:checked ~ .pd2-robot-check-box{
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}

.pd2-robot-check-label{
	font-size: 14px;
	color: var(--primary-color);
	font-weight: 500;
}

@media (max-width: 991px){
	.pd-gallery-grid{
		grid-template-columns: repeat(2, 1fr);
	}

	.pd-hero-image{
		height: 420px;
	}

	.pd-hero-card{
		margin-top: -90px;
		padding: 30px 26px;
	}
}

@media (max-width: 767px){
	.pd-gallery-grid{
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	.pd-other-projects-bg{
		padding: 30px 20px;
	}

	.pd-status-prev{
		left: 10px;
	}

	.pd-status-next{
		right: 10px;
	}

	.pd-rera-footer{
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.pd-hero-image{
		height: 320px;
	}

	.pd-hero-card{
		margin-top: -60px;
		padding: 24px 20px;
	}

	.pd-hero-title{
		font-size: 24px;
	}

	.pd-page-header-tagline{
		white-space: normal;
	}

	.pd-hero-card .pd-cta-row{
		flex-direction: column;
		align-items: stretch;
	}

	.pd-hero-card .pd-cta-row .btn-default{
		flex: 1 1 auto;
		white-space: normal;
	}
}

@media only screen and (max-width: 1024px){
	.page-category-list .page-category-list-title{
		padding: 21px 20px;
	}
}

/************************************/
/*** 	Project Detail (Design 2) ***/
/************************************/

.pd2-hero-image-block{
	padding: 0;
}

.pd2-hero-image-inner{
	margin: 0;
}

.pd2-hero-media{
	position: relative;
	border-radius: 0;
	overflow: hidden;
}

.pd2-hero-media img{
	width: 100%;
	object-fit: cover;
	display: block;
	animation: pd2KenBurns 18s ease-in-out infinite alternate;
}

/* the banner is as tall as its image (no fixed height) */
.pd2-hero-media-banner img{
	height: auto;
}

.pd2-hero-media-banner::before{
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(19, 24, 35, 0.6) 0%, rgba(19, 24, 35, 0.2) 30%, rgba(19, 24, 35, 0) 50%);
	z-index: 1;
	pointer-events: none;
}

/* (the dark 190px band at the top of the banner was removed: the site header has its own
   see-through black band now, and two stacked bands looked like a double overlay) */

.pd2-hero-slider{
	position: relative;
}

.pd2-hero-slider .swiper-slide{
	height: auto;
}

/* Full-width strip at the bottom of the banner; its .container aligns caption + arrows with the page content */
.pd2-hero-overlay{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	background: linear-gradient(to top, rgba(19, 24, 35, 0.85), rgba(19, 24, 35, 0));
}

.pd2-hero-overlay-inner{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding-top: 40px;
	padding-bottom: 40px;
}

.pd2-hero-slider-controls{
	flex-shrink: 0;
	align-items: center;
	gap: 14px;
}

.pd2-hero-nav{
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	padding: 0;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.4);
	color: var(--white-color);
	border-radius: 50%;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.pd2-hero-nav:hover{
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.pd2-hero-nav.swiper-button-disabled{
	opacity: 0.4;
	cursor: default;
}

@keyframes pd2KenBurns{
	0%{
		transform: scale(1) translate(0, 0);
	}
	100%{
		transform: scale(1.12) translate(-1.5%, -1.5%);
	}
}

@media (prefers-reduced-motion: reduce){
	.pd2-hero-media img{
		animation: none;
	}
}

.pd2-hero-media-caption{
	min-width: 0;
	max-width: 70%;
}

.pd2-hero-media-caption h2{
	color: var(--white-color);
	font-size: 30px;
	margin-bottom: 8px;
	font-weight: 300;
}

.pd2-hero-media-caption p{
	display: flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 15px;
	margin: 0;
}

.pd2-hero-media-caption p i{
	color: var(--accent-color);
}

.pd2-hero-card{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 30px 15px 0;
	padding: 35px 40px;
	background: #F7F7F2;
	border-radius: 20px;
}

.pd2-hero-card h3{
	font-size: 24px;
	font-weight: 400;
	margin: 12px 0 8px;
}

.pd2-hero-card p{
	display: flex;
	align-items: center;
	gap: 8px;
	color: #737b83;
	font-size: 14px;
	margin: 0;
}

.pd2-hero-card p i{
	color: var(--accent-color);
}

.pd2-hero-badge{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 16px;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 100px;
	font-size: 12px;
	font-weight: 600;
}

.pd2-hero-cta{
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.pd2-share-btn{
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 3;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	color: var(--primary-color);
	border-radius: 50%;
	font-size: 16px;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.pd2-share-btn:hover{
	background: var(--accent-color);
	color: var(--white-color);
}

.pd2-share-popover{
	position: absolute;
	top: 78px;
	right: 20px;
	z-index: 3;
	display: none;
	align-items: center;
	gap: 10px;
	background: var(--white-color);
	border-radius: 100px;
	padding: 10px 14px;
	box-shadow: 0 15px 35px rgba(26, 26, 26, .14);
}

.pd2-share-popover.is-open{
	display: flex;
}

.pd2-share-link{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #F7F7F2;
	color: var(--primary-color);
	border: none;
	font-size: 14px;
	transition: all .3s ease-in-out;
}

.pd2-share-link:hover{
	background: var(--accent-color);
	color: var(--white-color);
}

/* Sticky sub nav */
.pd2-subnav{
	position: sticky;
	top: 0;
	z-index: 50;
	background: #F7F7F2;
	padding-bottom: 35px;
}

.pd2-subnav .container{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: var(--white-color);
	border-bottom: 1px solid var(--divider-color);
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.05);
	border-radius: 10px;
	padding: 15px;
}

.pd2-subnav-list{
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	scrollbar-width: none;
}

.pd2-subnav-list::-webkit-scrollbar{
	display: none;
}

.pd2-subnav-list a{
	display: block;
	padding: 20px 16px;
	color: #737b83;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	transition: all 0.3s ease-in-out;
}

.pd2-subnav-list a:hover{
	color: var(--primary-color);
	border-bottom-color: var(--accent-color);
}

.pd2-subnav-cta{
	flex-shrink: 0;
	padding: 10px 22px;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 100px;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	transition: all 0.3s ease-in-out;
}

.pd2-subnav-cta:hover{
	background: var(--primary-color);
	color: var(--white-color);
}

/* Toolbar Design Option 2 (comparison draft) */
.pd2-toolbar2-label{
	background: #F7F7F2;
	padding-top: 30px;
}

.pd2-toolbar2-label .container{
	display: flex;
	align-items: center;
	gap: 12px;
}

.pd2-toolbar2-label span{
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--accent-color);
}

.pd2-toolbar2-wrap{
	background: #F7F7F2;
	padding-bottom: 60px;
}

.pd2-toolbar2{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.05);
	border-radius: 100px;
	padding: 10px 12px 10px 30px;
}

.pd2-toolbar2-nav{
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pd2-toolbar2-nav a{
	position: relative;
	display: block;
	padding: 14px 0;
	color: #737b83;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	transition: color 0.3s ease-in-out;
}

.pd2-toolbar2-nav a::after{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 8px;
	height: 2px;
	background: var(--accent-color);
	transform: scaleX(0);
	transition: transform 0.3s ease-in-out;
}

.pd2-toolbar2-nav a:hover{
	color: var(--primary-color);
}

.pd2-toolbar2-nav a:hover::after{
	transform: scaleX(1);
}

.pd2-toolbar2-actions{
	display: flex;
	align-items: center;
	gap: 8px;
}

.pd2-toolbar2-icon-btn{
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F7F7F2;
	color: var(--primary-color);
	border-radius: 50%;
	font-size: 15px;
	transition: all 0.3s ease-in-out;
}

.pd2-toolbar2-icon-btn:hover{
	background: var(--accent-color);
	color: var(--white-color);
}

.pd2-toolbar2-cta{
	flex-shrink: 0;
	padding: 14px 28px;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 100px;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	transition: all 0.3s ease-in-out;
}

.pd2-toolbar2-cta:hover{
	background: var(--white-color);
	color: var(--primary-color);
}

/* Section rhythm */
.pd2-section{
	padding: 39px 0;
	scroll-margin-top: 80px;
}

.pd2-section-alt{
	background: #F7F7F2;
}

/* Overview */
.pd2-overview-intro{
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 50px;
	align-items: stretch;
	/* margin-top: 40px; */
	padding-top: 70px;
	padding-bottom: 50px;
}

.pd2-overview-image{
	margin: 0;
	height: 100%;
	border-radius: 20px;
	overflow: hidden;
}

.pd2-overview-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Project description title: tighter gap to the text below (site default is 40px) */
.pd2-overview-text .section-title{
	margin-bottom: 20px;
}

.pd2-overview-text .section-title h2{
	font-size: 18px;
	margin-bottom: 0;
	cursor: none;
	font-weight: 300;
	color: #645d5d;
	line-height: 1.5;
}

/* Project description written in the dashboard (CKEditor HTML) */
.pd2-rich-text{
	min-width: 0;
	overflow-wrap: anywhere;
}

.pd2-rich-text > :last-child{
	margin-bottom: 0;
}

.pd2-rich-text p{
	margin-bottom: 1em;
}

.pd2-rich-text h2,
.pd2-rich-text h3,
.pd2-rich-text h4{
	font-weight: 500;
	margin: 1.2em 0 0.5em;
}

.pd2-rich-text h2{ font-size: 24px; }
.pd2-rich-text h4{ font-size: 17px; }

.pd2-rich-text h3{
	font-size: 24px;
	font-weight: 300;
}

.pd2-rich-text > h2:first-child,
.pd2-rich-text > h3:first-child,
.pd2-rich-text > h4:first-child{
	margin-top: 0;
}

.pd2-rich-text ul,
.pd2-rich-text ol{
	margin: 0 0 1em;
	padding-left: 1.3em;
}

.pd2-rich-text li{
	margin-bottom: 0.4em;
}

.pd2-rich-text ul li::marker{
	color: var(--accent-color);
}

.pd2-rich-text a{
	color: var(--primary-color);
	text-decoration: underline;
	text-decoration-color: var(--accent-color);
	text-underline-offset: 3px;
}

.pd2-rich-text a:hover{
	color: var(--accent-color);
}

@media (max-width: 767px){
	.pd2-overview-text .section-title h2{ font-size: 16px; }

	.pd2-overview-intro{
		padding-top: 40px;
		padding-bottom: 20px;
	}
	.pd2-rich-text h2{ font-size: 21px; }
	.pd2-rich-text h3{ font-size: 20px; }
}

.pd2-fact-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr) 220px;
	gap: 20px 30px;
	/* margin-top: 40px; */
	padding: 30px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.05);
}

.pd2-fact-qr{
	grid-column: 4;
	grid-row: 1 / 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding-left: 30px;
	border-left: 1px solid var(--divider-color);
	text-align: center;
}

.pd2-fact-qr .pd2-qr-figure{
	width: 90px;
	height: 90px;
	margin: 0;
}

.pd2-fact-actions{
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 10px;
	padding-top: 30px;
	border-top: 1px solid var(--divider-color);
}

.pd2-fact-actions .btn-default{
	flex: 1 1 auto;
	white-space: nowrap;
}

.pd2-fact-share{
	position: relative;
	flex: 1 1 auto;
}

.pd2-fact-share .btn-default.pd2-share-btn{
	position: static;
	top: auto;
	right: auto;
	width: 100%;
	height: auto;
	border-radius: 8px;
	background: #ceba8226;
	border: 1px solid #ceba8226;
	color: #231b1b;
}

.pd2-fact-share .btn-default.pd2-share-btn:hover{
	background: var(--accent-color);
	color: var(--white-color);
}

.pd2-fact-share .pd2-share-popover{
	top: 100%;
	right: 0;
	left: auto;
	margin-top: 10px;
}

.pd2-fact{
	display: flex;
	align-items: center;
	gap: 14px;
}

.pd2-fact .icon-box{
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F7F7F2;
	color: var(--accent-color);
	border-radius: 50%;
	font-size: 17px;
}

.pd2-fact span{
	display: block;
	color: #737b83;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	margin-bottom: 6px;
}

.pd2-fact strong{
	color: var(--primary-color);
	font-size: 15px;
	font-weight: 500;
}

.pd2-fact strong a{
	color: inherit;
}

.pd2-qr-figure{
	width: 140px;
	height: 140px;
	margin: 0 auto 18px;
	padding: 12px;
	background: #F7F7F2;
	border-radius: 16px;
}

.pd2-qr-figure img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pd2-text-link{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--accent-color);
	font-weight: 600;
	font-size: 14px;
}

.pd2-text-link:hover{
	color: var(--primary-color);
}

.pd2-contact-card .icon-box{
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 50%;
	font-size: 20px;
	margin: 0 auto 18px;
}

.pd2-contact-card h3{
	font-size: 18px;
	margin-bottom: 10px;
}

.pd2-contact-card p{
	color: #737b83;
	font-size: 14px;
	margin-bottom: 16px;
}

.pd2-contact-card h4{
	margin: 0;
	font-size: 20px;
}

.pd2-contact-card h4 a{
	color: var(--primary-color);
}

/* Gallery strip */
.pd2-gallery-strip{
	display: flex;
	gap: 20px;
	overflow-x: auto;
	margin-top: 35px;
	padding-bottom: 10px;
	scroll-snap-type: x mandatory;
}

.pd2-gallery-strip-item{
	position: relative;
	flex: 0 0 auto;
	width: 340px;
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	overflow: hidden;
	scroll-snap-align: start;
}

.pd2-gallery-strip-item img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease-in-out;
}

.pd2-gallery-strip-item:hover img{
	transform: scale(1.06);
}

.pd2-gallery-strip-item span{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 14px 18px;
	background: linear-gradient(to top, rgba(26, 26, 26, 0.75), rgba(26, 26, 26, 0));
	color: var(--white-color);
	font-size: 13px;
	font-weight: 500;
}

/* Gallery mosaic (design option 2) */
.pd2-gallery-mosaic{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 314px;
	gap: 3px;
	margin-top: 35px;
}

.pd2-gallery-mosaic-item{
	position: relative;
	grid-column: span 1;
	border-radius: 0px;
	overflow: hidden;
}

.pd2-gallery-mosaic-wide{
	grid-column: span 2;
}

.pd2-gallery-mosaic-item img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease-in-out;
}

.pd2-gallery-mosaic-item:hover img{
	transform: scale(1.06);
}

/* light black overlay on every gallery image, lifts a little on hover */
.pd2-gallery-mosaic-item::after{
	content: '';
	position: absolute;
	inset: 0;
	background: rgb(0 0 0 / 5%);
	z-index: 1;
	pointer-events: none;
	transition: background 0.4s ease-in-out;
}

.pd2-gallery-mosaic-item:hover::after{
	background: rgba(0, 0, 0, 0);
}

/* caption and "+N More" stay above the overlay */
.pd2-gallery-mosaic-item span,
.pd2-gallery-mosaic-more{
	z-index: 2;
}

.pd2-gallery-mosaic-item span{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 14px 18px;
	background: linear-gradient(to top, rgba(26, 26, 26, 0.75), rgba(26, 26, 26, 0));
	color: var(--white-color);
	font-size: 13px;
	font-weight: 500;
}

.pd2-gallery-mosaic-more{
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: rgba(26, 26, 26, 0.6);
	color: var(--white-color);
	font-size: 15px;
	font-weight: 600;
}

.pd2-gallery-mosaic-more i{
	font-size: 24px;
}

.pd2-gallery-hidden{
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}


/* Floor plan accordion */
.pd2-floorplan-grid{
	display: grid;
	grid-template-columns: calc((100% - -17px) * 8 / 13) minmax(0, 1fr);
	gap: 78px;
	align-items: start;
}

/* Specifications sit to the right of the floor plans; a project without specifications
   gives the floor plans the full width */
.pd2-floorplan-grid.pd2-floorplan-grid-single{
	grid-template-columns: minmax(0, 1fr);
}

/* a project without floor plans shows the Specifications card under the map / status instead */
.pd2-specs-under-map{
	margin-top: 50px;
}

.pd2-specs-left > .pd2-specs-under-map:first-child{
	margin-top: 0;
}

/* Available Banks, after the Project Status (left of the enquiry form) */
.pd2-specs-banks{
	margin-top: 50px;
	scroll-margin-top: 80px;
}

.pd2-specs-left > .pd2-specs-banks:first-child{
	margin-top: 0;
}

.pd2-specs-banks .section-title p{
	margin-top: 8px;
}

@media (max-width: 991px){
	.pd2-specs-banks,
	.pd2-specs-under-map{
		margin-top: 40px;
	}
}

/* Floor plan main categories (only with 2+ categories): a row of tabs above the plan tiles,
   e.g. UNIT A / UNIT B / SITE PLAN - the selected one dark-underlined */
.pd2-floorplan-cats{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}

.pd2-floorplan-cat{
	padding: 12px 16px;
	background: var(--white-color);
	border: 1px solid #ceba82;
	border-radius: 4px;
	color: #a59568;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2em;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.pd2-floorplan-cat:hover{
	border-color: var(--primary-color);
	color: var(--primary-color);
}

.pd2-floorplan-cat.active{
	border-color: var(--divider-color);
	border-bottom: 2px solid var(--primary-color);
	color: var(--primary-color);
	box-shadow: 0 6px 16px rgba(26, 26, 26, 0.06);
}

@media (max-width: 767px){
	.pd2-floorplan-cats{
		gap: 8px;
		margin-bottom: 16px;
	}

	.pd2-floorplan-cat{
		padding: 10px 12px;
		font-size: 13px;
	}
}

.pd2-floorplan-pillgroup{
	background: #F7F7F2;
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 25px;
	margin-bottom: 25px;
}

.pd2-floorplan-pills{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)); /* minmax(0,…): columns never grow past the box for a long plan name */
	gap: 12px;
	margin: 0;
	padding: 0;
	transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.pd2-floorplan-pills-fade{
	opacity: 0;
	transform: translateY(8px);
}

.pd2-floorplan-pill-prev,
.pd2-floorplan-pill-next{
	background: #ceba8226;
	border: 1px dashed var(--accent-color);
}

.pd2-floorplan-pill-prev .pd2-floorplan-pill-badge,
.pd2-floorplan-pill-next .pd2-floorplan-pill-badge{
	background: var(--accent-color);
	color: var(--white-color);
}

.pd2-floorplan-pill-prev:hover,
.pd2-floorplan-pill-next:hover{
	background: var(--accent-color);
}

.pd2-floorplan-pill-prev:hover .pd2-floorplan-pill-text span,
.pd2-floorplan-pill-next:hover .pd2-floorplan-pill-text span{
	color: var(--white-color);
}

.pd2-floorplan-pill-prev:disabled,
.pd2-floorplan-pill-next:disabled{
	opacity: 0.4;
	cursor: default;
	pointer-events: none;
}

.pd2-floorplan-pill{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	color: var(--primary-color);
	text-align: left;
	box-shadow: 0 4px 12px rgba(26, 26, 26, 0.04);
	transition: all 0.3s ease-in-out;
}

.pd2-floorplan-pill:hover{
	border-color: var(--accent-color);
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(26, 26, 26, 0.08);
}

.pd2-floorplan-pill-badge{
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ceba8226;
	color: var(--accent-color);
	border-radius: 50%;
	font-size: 12px;
	font-weight: 700;
	transition: all 0.3s ease-in-out;
}

.pd2-floorplan-pill-text{
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

/* plan names wrap onto 2 lines (then "…") instead of forcing the button wider */
.pd2-floorplan-pill-text span{
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: anywhere;
}

.pd2-floorplan-pill{
	min-width: 0;
}

.pd2-floorplan-pill-text small{
	font-size: 11px;
	font-weight: 400;
	color: #737b83;
	line-height: 1.3em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pd2-floorplan-pill.active{
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.pd2-floorplan-pill.active .pd2-floorplan-pill-badge{
	background: var(--white-color);
	color: var(--accent-color);
}

.pd2-floorplan-pill.active .pd2-floorplan-pill-text span{
	color: var(--white-color);
}

.pd2-floorplan-pill.active .pd2-floorplan-pill-text small{
	color: rgba(255, 255, 255, 0.7);
}

.pd2-floorplan-image{
	background: #F7F7F2;
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	overflow: hidden;
	text-align: center;
	padding: 20px;
}

.pd2-floorplan-image-link{
	display: block;
}

.pd2-floorplan-image img{
	width: 100%;
	max-height: 620px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

/* Details of the selected floor plan, under the image: "Balcony Area  1148 sq.ft" tiles */
.pd2-floorplan-details{
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	text-align: left;
}

.pd2-floorplan-details[hidden]{
	display: none;
}

.pd2-floorplan-details li{
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 16px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 12px;
}

.pd2-floorplan-details span{
	font-size: 13px;
	line-height: 1.4em;
	color: #737b83;
	text-transform: capitalize;
}

.pd2-floorplan-details strong{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4em;
	color: var(--primary-color);
}

@media (max-width: 991px){
	.pd2-floorplan-details{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px){
	.pd2-floorplan-details{
		gap: 8px;
	}

	.pd2-floorplan-details li{
		padding: 10px 12px;
	}

	.pd2-floorplan-details strong{
		font-size: 15px;
	}
}

.pd2-floorplan-form-card{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	padding: 35px;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.05);
}

.pd2-floorplan-form-card h3{
	font-size: 26px;
	margin-bottom: 10px;
	font-weight: 300;
	color: #918259;
}

.pd2-floorplan-form-card > p{
	color: #737b83;
	font-size: 14px;
	margin-bottom: 25px;
}

/* "Send Enquiry" in the floor plan form: gold button; hover fills dark (a gold hover would be invisible) */
.pd2-floorplan-form-card .btn-default{
	background: var(--accent-color);
	color: var(--white-color);
}

.pd2-floorplan-form-card .btn-default::after{
	background: var(--primary-color);
}

.pd2-floorplan-form-card .btn-default:hover{
	color: var(--white-color);
}

.pd2-floorplan-form-card .pd2-enquiry-form{
	background: transparent;
	padding: 0;
}

/* Specifications grid */
/* Amenities slider after the overview (reuses the project_single slider) */
#pd2-amenity-slider,
#pd2-floorplans,
#pd2-gallery,
#pd2-sample-gallery{
	padding: 50px 0;
}

#pd2-amenity-slider .section-title p{
	margin-top: 8px;
}

#pd2-amenity-slider .pd2-amenity-slider{
	margin: 35px 0 0;
}

/* Section has the light background, so cards go white to stand out */
#pd2-amenity-slider .pd-amenity-item{
	background: var(--white-color);
}

/* Amenity icons: the usual gold circle + white icon, drawn with thin Tabler line icons (200 weight) */
#pd2-amenity-slider .project-amenity-item-header .icon-box i.ti{
	font-size: 44px;
	line-height: 1;
}

/* Amenity card size - adjust the px values here.
   height = the card. Width: from 768px up the slider shares the row equally (5 / 4 / 3 cards,
   set in project_single.php); on phones each card keeps the px width below. */
#pd2-amenity-slider .pd-amenity-item{
	height: 270px;
	justify-content: center;
	padding-left: 12px;
	padding-right: 12px;
}

@media (max-width: 767px){
	#pd2-amenity-slider .pd2-amenity-slider .swiper-slide{
		width: 190px;
	}

	#pd2-amenity-slider .pd-amenity-item{
		height: 240px;
	}

	#pd2-amenity-slider .pd-amenity-item .icon-box{
		width: 84px;
		height: 84px;
	}

	#pd2-amenity-slider .project-amenity-item-header .icon-box i.ti{
		font-size: 38px;
	}
}

/* Uploaded project video in the lightbox */
.pd2-video-file-popup{
	position: relative;
	max-width: 960px;
	margin: 0 auto;
	padding: 0 16px;
}

.pd2-video-file-popup video{
	display: block;
	width: 100%;
	max-height: 80vh;
	border-radius: 12px;
	background: #000;
}

/* Two or more project videos: full-width band (Video Background Image, darkened) with one
   outlined card per video - round white play button + project name / video title */
.pd2-video-band{
	position: relative;
	padding: 70px 0;
	background-color: var(--primary-color);
	background-size: cover;
	background-position: center;
}

.pd2-video-band::before{
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(20, 16, 12, 0.72);
}

.pd2-video-band .container{
	position: relative;
	z-index: 1;
}

.pd2-video-band-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 38px;
}

/* two videos: two centred cards, not stretched over the whole width */
.pd2-video-band-count-2{
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 900px;
	margin: 0 auto;
}

.pd2-video-band-count-4{
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
}

.pd2-video-band-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 26px;
	min-height: 335px;
	padding: 40px 24px;
	border: 1px solid rgba(206, 186, 130, 0.75);
	border-radius: 14px;
	text-align: center;
	transition: all 0.3s ease-in-out;
}

.pd2-video-band-card:hover{
	background: rgba(206, 186, 130, 0.12);
	border-color: #ceba82;
	transform: translateY(-4px);
}

/* white disc with a thin ring around it */
.pd2-video-band-play{
	width: 100px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--white-color);
	color: var(--primary-color);
	border-radius: 50%;
	font-size: 20px;
	box-shadow: 0 0 0 12px rgba(0, 0, 0, 0.25), 0 0 0 13px rgba(255, 255, 255, 0.35);
	transition: all 0.3s ease-in-out;
}

.pd2-video-band-play i{
	margin-left: 4px; /* the triangle looks centred */
}

.pd2-video-band-card:hover .pd2-video-band-play{
	background: #ceba82;
	color: var(--white-color);
	transform: scale(1.06);
}

.pd2-video-band-title{
	color: #ceba82; /* on the dark band the lighter gold reads better than the text gold */
	font-size: 26px;
	font-weight: 600;
	line-height: 1.35em;
}

@media (max-width: 1199px){
	.pd2-video-band-grid{
		gap: 24px;
	}

	.pd2-video-band-count-4{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pd2-video-band-card{
		min-height: 290px;
	}

	.pd2-video-band-title{
		font-size: 22px;
	}
}

@media (max-width: 991px){
	.pd2-video-band{
		padding: 50px 0;
	}

	.pd2-video-band-grid{
		gap: 16px;
	}

	.pd2-video-band-card{
		min-height: 240px;
		gap: 22px;
		padding: 30px 14px;
	}

	.pd2-video-band-play{
		width: 76px;
		height: 76px;
		font-size: 17px;
		box-shadow: 0 0 0 9px rgba(0, 0, 0, 0.25), 0 0 0 10px rgba(255, 255, 255, 0.35);
	}

	.pd2-video-band-title{
		font-size: 18px;
	}
}

/* phones: one card per row */
@media (max-width: 767px){
	.pd2-video-band-grid,
	.pd2-video-band-count-2,
	.pd2-video-band-count-4{
		grid-template-columns: minmax(0, 1fr);
		max-width: 420px;
		margin: 0 auto;
	}

	.pd2-video-band-card{
		min-height: 210px;
	}

	.pd2-video-band-title{
		font-size: 20px;
	}
}

/* Video section without a background image: dark card behind the title + play button */
#pd2-video .pd-video-box:not(:has(> img)){
	background: var(--primary-color);
}

/* Amenity with an uploaded icon image (instead of a picked icon) */
.pd-amenity-item .icon-box.icon-box-image{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px;
}

.pd-amenity-item .icon-box.icon-box-image img{
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Location map + Project Status (left) + Specifications card (right, reuses the project_single sidebar card) */
.pd2-specs-left{
	min-width: 0;
}

.pd2-specs-left .section-title{
	margin-bottom: 25px;
}

.pd2-specs-map{
	min-height: 420px;
}

.pd2-specs-status{
	margin-top: 50px;
	scroll-margin-top: 80px;
}

/* No map for this project: Project Status is first in the column */
.pd2-specs-left > .pd2-specs-status:first-child{
	margin-top: 0;
}

/* No specifications for this project: the left column takes the full width */
.pd2-amenity-specs-grid.pd2-amenity-specs-single{
	grid-template-columns: minmax(0, 1fr);
}

/* Specification content (CKEditor HTML) inside the compact dropdowns */
.pd2-spec-content{
	font-size: 14px;
	line-height: 1.6em;
	color: #737b83;
}

.pd2-spec-content p{
	margin-bottom: 0.6em;
}

.pd2-spec-content strong{
	color: var(--primary-color);
}

.pd2-spec-content h3,
.pd2-spec-content h4{
	font-size: 15px;
	font-weight: 600;
	margin: 0.8em 0 0.4em;
}

.pd2-spec-content ul,
.pd2-spec-content ol{
	margin-bottom: 0.6em;
}

/* Horizontal line from the CKEditor "Horizontal line" button: a thin divider between parts */
.pd2-rich-text hr{
	border: 0;
	border-top: 1px solid var(--divider-color);
	opacity: 1;
	margin: 1em 0;
}

.pd2-spec-content hr{
	margin: 0.7em 0;
	border-top-color: #1a1a1a1a;
}

.pd2-specs-status .pd2-status-head{
	align-items: center;
	gap: 15px 30px;
}

.pd2-specs-status .pd2-status-head .section-title{
	margin-bottom: 0;
}

.pd2-specs-status .pd2-status-slider-wrap{
	margin-top: 25px;
}

.pd2-video-col .pd-video-box{
	margin-top: 0;
	aspect-ratio: auto;
	height: 400px;
}

.pd2-amenity-specs-grid{
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 80px;
	align-items: start;
}

.pd2-specs-card-box{
	margin-bottom: 0;
	scroll-margin-top: 80px;
}

/* Status */
.pd2-status-head{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 30px;
}

.pd2-status-slider-wrap{
	position: relative;
}

/* Arrows sit over the photos, vertically centred on the left/right edges */
.pd2-status-nav{
	position: absolute;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: var(--accent-color);
	border: 1px solid var(--accent-color);
	color: var(--white-color);
	border-radius: 50%;
	font-size: 14px;
	transition: all 0.3s ease-in-out;
}

.pd2-status-prev{
	left: 14px;
}

.pd2-status-next{
	right: 14px;
}

.pd2-status-nav:hover{
	background: var(--white-color);
	color: var(--accent-color);
}

.pd2-status-nav.swiper-button-disabled{
	opacity: 0.4;
	cursor: default;
	pointer-events: none;
}

.pd2-status-slider{
	margin-top: 35px;
}

.pd2-status-thumb{
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	overflow: hidden;
}

.pd2-status-thumb img{
	transition: transform 0.4s ease-in-out;
}

.pd2-status-thumb:hover img{
	transform: scale(1.05);
}

.pd2-status-footer{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 25px;
	padding-top: 25px;
	border-top: 1px solid var(--divider-color);
}

.pd2-status-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pd2-status-thumb span{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 8px 12px;
	background: linear-gradient(to top, rgba(26, 26, 26, 0.75), rgba(26, 26, 26, 0));
	color: var(--white-color);
	font-size: 11px;
	font-weight: 600;
}

/* Location map */
.pd2-map-embed{
	position: relative;
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	min-height: 380px;
}

/* Location Map section: 10px white frame around the map (and around the graphical map image
   when it is shown in the map's place) */
#pd2-banks .pd2-map-embed,
#pd2-banks .pd2-map-graphic-image{
	border: 10px solid var(--white-color);
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.06);
}

.pd2-map-embed iframe{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Available banks (left) + Location highlights (right) */
.pd2-banks-highlights-grid{
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 80px;
	align-items: start;
}

/* Only one of the two parts: it takes the full width */
.pd2-banks-highlights-grid.pd2-bh-highlights-only,
.pd2-banks-highlights-grid.pd2-bh-banks-only{
	grid-template-columns: minmax(0, 1fr);
}

/* More than 4 location highlight categories (class set in project_single.php): the map column is
   stretched to the height of the highlights column and the map fills it. Desktop only - below
   992px the two parts are stacked and the map keeps its own height. */
@media (min-width: 992px){
	.pd2-banks-highlights-grid.pd2-bh-equal-height{
		align-items: stretch;
	}

	.pd2-bh-equal-height .pd2-map-col{
		display: flex;
		flex-direction: column;
	}

	.pd2-bh-equal-height .pd2-map-col .pd2-map-embed{
		flex: 1 1 auto;
	}

	/* so the map's bottom edge lines up with the last dropdown, not with its bottom margin */
	.pd2-bh-equal-height .pd2-highlights-accordion .accordion-item:last-child{
		margin-bottom: 0;
	}
}

/* No location highlights: the location map takes the full width of the section, and is a little taller */
@media (min-width: 992px){
	.pd2-bh-banks-only .pd2-specs-map{
		min-height: 480px;
	}
}

/* Highlights only: the category dropdowns in two columns */
.pd2-bh-highlights-only .pd2-highlights-accordion{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
	align-items: start;
}

.pd2-bh-highlights-only .pd2-highlights-accordion .accordion-item{
	margin-bottom: 0;
}

/* Banks only: 5 banks per row */
.pd2-bh-banks-only .pd2-bank-grid{
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 991px){
	.pd2-bh-banks-only .pd2-bank-grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px){
	.pd2-bh-highlights-only .pd2-highlights-accordion{
		grid-template-columns: minmax(0, 1fr);
	}

	.pd2-bh-banks-only .pd2-bank-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.pd2-banks-highlights-grid .section-title{
	margin-bottom: 25px;
}

.pd2-banks-highlights-grid .section-title p{
	margin-top: 8px;
}

/* Location Map heading (left) + "View Graphical Map" button (right); the button drops below on narrow screens */
.pd2-map-head{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin-bottom: 25px;
}

.pd2-banks-highlights-grid .pd2-map-head .section-title{
	margin-bottom: 0;
}

.pd2-map-graphic-btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	padding: 11px 20px;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 100px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2em;
	white-space: nowrap;
	transition: all 0.3s ease-in-out;
}

.pd2-map-graphic-btn:hover,
.pd2-map-graphic-btn:focus{
	background: var(--primary-color);
	color: var(--white-color);
}

.pd2-map-graphic-btn i{
	font-size: 13px;
}

/* no Google map set: the graphical map image is shown in its place */
.pd2-map-graphic-image{
	display: block;
	border-radius: 20px;
	overflow: hidden;
	cursor: zoom-in;
}

.pd2-map-graphic-image img{
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 575px){
	.pd2-map-graphic-btn{
		padding: 10px 16px;
		font-size: 13px;
	}
}

.pd2-bank-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.pd2-bank-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 140px;
	padding: 22px 16px;
	background: #F7F7F2;
	border: 1px solid var(--divider-color);
	border-radius: 16px;
	text-align: center;
	transition: all 0.3s ease-in-out;
}

.pd2-bank-card:hover{
	background: var(--white-color);
	border-color: var(--accent-color);
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.06);
	transform: translateY(-4px);
}

.pd2-bank-card img{
	max-width: 100%;
	max-height: 48px;
	object-fit: contain;
}

.pd2-bank-card .icon-box{
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 50%;
	font-size: 18px;
}

.pd2-bank-card span{
	color: var(--primary-color);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4em;
}

/* "View Details": the bank's PDF for this project, under the bank name */
.pd2-bank-details{
	margin-top: -6px;
	color: #a59568;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4em;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.3s ease-in-out;
}

.pd2-bank-details:hover{
	color: var(--primary-color);
}

/* Location highlights: one dropdown per category (reuses the site .faq-accordion) */
.pd2-highlights-accordion .accordion-item{
	background: #F7F7F2;
	border: 1px solid var(--divider-color);
	margin-bottom: 12px;
	border-radius: 14px;
}

.pd2-highlights-accordion .accordion-header .accordion-button{
	gap: 12px;
	font-size: 16px;
	padding: 14px 50px 14px 16px;
}

.pd2-highlights-accordion .accordion-item .accordion-button::after{
	right: 18px;
	font-size: 16px;
}

.pd2-highlight-cat-icon{
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ceba8226;
	color: var(--accent-color);
	border-radius: 50%;
	font-size: 14px;
	transition: all 0.3s ease-in-out;
}

.pd2-highlight-count{
	margin-left: auto;
	min-width: 26px;
	padding: 3px 8px;
	background: var(--white-color);
	color: var(--accent-color);
	border-radius: 100px;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
}

/* Open state: the header turns accent (from .faq-accordion) - keep icon + count readable */
.pd2-highlights-accordion .accordion-button:not(.collapsed) .pd2-highlight-cat-icon{
	background: var(--white-color);
}

.pd2-highlights-accordion .accordion-item .accordion-body{
	padding: 6px 16px 10px;
	background: var(--white-color);
}

.pd2-highlight-list{
	list-style: none;
	margin: 0;
	padding: 0;
}

.pd2-highlight-list li{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 11px 0;
	border-bottom: 1px solid var(--divider-color);
	font-size: 14px;
}

.pd2-highlight-list li:last-child{
	border-bottom: none;
}

.pd2-highlight-name{
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--primary-color);
	min-width: 0;
}

.pd2-highlight-name i{
	flex-shrink: 0;
	color: var(--accent-color);
	font-size: 12px;
}

/* Amenities in 2+ categories: dropdowns per category (same look as Location Highlights),
   with the optional Amenities Image on the right */
.pd2-amenity-cats{
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

/* with the image: image column a little wider, and as tall as the dropdowns column */
.pd2-amenity-cats-with-image{
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	align-items: stretch;
}

/* no image: the dropdowns in two columns, like Location Highlights on its own */
.pd2-amenity-cats:not(.pd2-amenity-cats-with-image) .pd2-amenity-cats-accordion{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
	align-items: start;
}

.pd2-amenity-cats:not(.pd2-amenity-cats-with-image) .pd2-amenity-cats-accordion .accordion-item{
	margin-bottom: 0;
}

.pd2-amenity-cats-accordion .accordion-item{
	background: var(--white-color);
}

.pd2-amenity-cat-list .pd2-highlight-name img{
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	object-fit: contain;
}

.pd2-amenity-cat-list .pd2-highlight-name i{
	font-size: 16px;
}

/* the image fills its column; it is positioned absolutely so the dropdowns alone set the
   height (it grows / shrinks with them as they open and close) */
.pd2-amenity-cats-image{
	position: relative;
	border-radius: 20px;
	overflow: hidden;
}

.pd2-amenity-cats-image img{
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* the last dropdown's bottom margin would leave the image taller than the dropdowns */
.pd2-amenity-cats-with-image .pd2-amenity-cats-accordion .accordion-item:last-child{
	margin-bottom: 0;
}

@media (max-width: 991px){
	.pd2-amenity-cats-with-image{
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}

	/* stacked under the dropdowns: a fixed-height photo instead */
	.pd2-amenity-cats-image{
		height: 340px;
	}
}

@media (max-width: 575px){
	.pd2-amenity-cats-image{
		height: 260px;
	}
}

@media (max-width: 767px){
	.pd2-amenity-cats:not(.pd2-amenity-cats-with-image) .pd2-amenity-cats-accordion{
		grid-template-columns: minmax(0, 1fr);
	}
}

.pd2-highlight-distance{
	flex-shrink: 0;
	color: #737b83;
	font-weight: 600;
	font-size: 13px;
	white-space: nowrap;
}

/* Other projects strip */
.pd2-other-strip{
	display: flex;
	gap: 24px;
	overflow-x: auto;
	margin-top: 35px;
	padding-bottom: 10px;
}

.pd2-other-item{
	flex: 0 0 auto;
	width: 340px;
}

/* Enquiry */
.pd2-enquiry{
	padding: 90px 0;
}

.pd2-enquiry-grid{
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 60px;
	align-items: center;
}

.pd2-enquiry-intro .section-sub-title{
	color: var(--accent-color);
}

.pd2-enquiry-intro h2{
	color: var(--white-color);
	margin-bottom: 16px;
}

.pd2-enquiry-intro p{
	color: rgba(255, 255, 255, 0.75);
	margin-bottom: 25px;
}

.pd2-enquiry-phone{
	margin: 0;
}

.pd2-enquiry-phone i{
	color: var(--accent-color);
	margin-right: 8px;
}

.pd2-enquiry-phone a{
	color: var(--white-color);
}

.pd2-enquiry-form{
	background: var(--white-color);
	border-radius: 20px;
	padding: 40px;
}

/* Responsive */
@media (max-width: 1199px){
	/* The fixed desktop floor plan width + 78px gap is too tight here: share the space and use 3 tile columns */
	.pd2-floorplan-grid{
		grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
		gap: 40px;
	}

	.pd2-floorplan-pills{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pd2-amenity-specs-grid,
	.pd2-banks-highlights-grid{
		gap: 50px;
	}

	.pd2-bank-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px){
	.pd2-toolbar2{
		border-radius: 20px;
		flex-direction: column;
		align-items: stretch;
		padding: 20px;
	}

	.pd2-toolbar2-nav{
		gap: 16px;
		overflow-x: auto;
		flex-wrap: nowrap;
	}

	.pd2-toolbar2-actions{
		justify-content: space-between;
	}

	.pd2-toolbar2-cta{
		flex: 1;
		text-align: center;
	}

	.pd2-overview-intro{
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.pd2-overview-image img{
		aspect-ratio: 16 / 9;
	}

	.pd2-floorplan-grid{
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.pd2-floorplan-pills{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pd2-amenity-specs-grid,
	.pd2-banks-highlights-grid{
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.pd2-bank-grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pd2-specs-map{
		min-height: 320px;
	}

	.pd2-specs-status{
		margin-top: 40px;
	}

	/* 314px desktop rows get too tall/narrow on tablets */
	.pd2-gallery-mosaic{
		grid-auto-rows: 220px;
	}

	.pd2-enquiry-grid{
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px){
	.pd2-section,
	#pd2-amenity-slider,
	#pd2-floorplans,
	#pd2-gallery,
	#pd2-sample-gallery{
		padding: 30px 0;
	}

	.pd2-gallery-mosaic{
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 160px;
	}

	.pd2-hero-card{
		padding: 25px;
	}

	.pd2-hero-cta{
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.pd2-fact-grid{
		grid-template-columns: 1fr;
	}

	/* On mobile the QR + certificate link sits after "RERA Website", before the action buttons */
	.pd2-fact-qr{
		order: 1;
		grid-column: 1;
		grid-row: auto;
		padding-left: 0;
		padding-top: 20px;
		border-left: none;
		border-top: 1px solid var(--divider-color);
	}

	.pd2-fact-actions{
		order: 2;
		flex-direction: column;
		align-items: stretch;
	}

	.pd2-fact-actions .btn-default{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 100%;
		padding: 16px 20px;
	}

	.pd2-fact-actions .btn-default::before{
		display: none;
	}

	.pd2-bank-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.pd2-bank-card{
		min-height: 120px;
		padding: 18px 12px;
	}

	/* 16:9 is too short on phones for the heading + text + play button */
	.pd2-video-col .pd-video-box{
		aspect-ratio: auto;
		height: auto;
		min-height: 320px;
	}

	.pd2-video-col .pd-video-box > img{
		position: absolute;
		inset: 0;
	}

	.pd2-video-col .pd-video-caption{
		gap: 12px;
		padding: 25px 20px;
	}

	.pd2-video-col .pd-video-caption h2{
		font-size: 22px;
	}

	.pd2-video-col .pd-video-caption p{
		font-size: 13px;
	}

	.pd2-video-col .pd-video-play{
		width: 60px;
		height: 60px;
		font-size: 18px;
	}

	.pd2-floorplan-pillgroup{
		padding: 15px;
	}

	.pd2-floorplan-form-card{
		padding: 25px 20px;
	}

	.pd2-floorplan-form-card h3{
		font-size: 22px;
	}

	.pd2-hero-overlay-inner{
		padding-top: 20px;
		padding-bottom: 20px;
		gap: 15px;
	}

	.pd2-hero-media-caption{
		max-width: none;
		flex: 1;
	}

	.pd2-hero-media-caption h2{
		font-size: 22px;
	}

	.pd2-hero-slider-controls{
		gap: 10px;
	}

	.pd2-hero-nav{
		width: 36px;
		height: 36px;
		font-size: 12px;
	}
}


/************************************/
/***         Contact page         ***/
/************************************/

.contact-page{
	padding: 70px 0 80px;
	background: #ceba820f;
}

/* region tabs: gold pills, the active one filled */
.contact-tabs{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-bottom: 40px;
}

.contact-tab{
	padding: 12px 26px;
	border: 1px solid #ceba82;
	border-radius: 100px;
	background: var(--white-color);
	color: #a59568;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2em;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.contact-tab:hover{
	background: #ceba8226;
}

.contact-tab.is-active{
	background: #ceba82;
	border-color: #ceba82;
	color: var(--white-color);
	box-shadow: 0 10px 25px rgba(206, 186, 130, 0.35);
}

.contact-panel{
	animation: contactFadeIn 0.4s ease-in-out;
}

@keyframes contactFadeIn{
	from{ opacity: 0; transform: translateY(8px); }
	to{ opacity: 1; transform: none; }
}

/* all cards in a tab the same height: the offices column stretches to the executives card
   (Bootstrap rows already stretch their columns), and its inner row fills that column */
.contact-offices-col{
	display: flex;
	flex-direction: column;
}

.contact-offices-col > .row{
	flex: 1;
}

/* office + executives cards */
.contact-office-card,
.contact-exec-card{
	height: 100%;
	display: flex;
	flex-direction: column;
	background: var(--white-color);
	border: 1px solid rgba(206, 186, 130, 0.35);
	border-radius: 20px;
	padding: 34px 32px;
	box-shadow: 0 15px 35px rgba(26, 26, 26, 0.06);
	transition: all 0.35s ease-in-out;
}

.contact-office-card:hover{
	transform: translateY(-4px);
	box-shadow: 0 22px 45px rgba(26, 26, 26, 0.1);
	border-color: #ceba82;
}

.contact-office-icon{
	width: 54px;
	height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(206, 186, 130, 0.15);
	box-shadow: 0 0 0 6px rgba(206, 186, 130, 0.08);
	color: #a59568;
	font-size: 20px;
	margin-bottom: 22px;
}

.contact-office-label{
	display: block;
	color: #a59568;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 4px;
}

.contact-office-name{
	font-size: 24px;
	font-weight: 400;
	line-height: 1.25em;
	margin-bottom: 16px;
}

.contact-office-address{
	color: var(--text-color);
	line-height: 1.7em;
	margin-bottom: 20px;
}

.contact-office-links{
	list-style: none;
	margin: 0 0 24px;
	padding: 18px 0 0;
	border-top: 1px solid var(--divider-color);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.contact-office-links li{
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--text-color);
	word-break: break-word;
}

.contact-office-links a{
	color: var(--primary-color);
	transition: color 0.3s ease-in-out;
}

.contact-office-links a:hover{
	color: #a59568;
}

.contact-office-links strong{
	font-weight: 500;
	color: var(--primary-color);
	margin-right: 6px;
}

.contact-link-icon{
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #ceba82;
	color: var(--white-color);
	font-size: 12px;
}

/* "Get Directions" sits at the bottom of every card, so buttons line up */
.contact-map-btn{
	margin-top: auto;
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 22px;
	border-radius: 8px;
	border: 1px solid #ceba82;
	color: #a59568;
	font-size: 15px;
	transition: all 0.3s ease-in-out;
}

.contact-map-btn:hover{
	background: #ceba82;
	color: var(--white-color);
}

/* executives: light cream card, one row per person with a round call button */
.contact-exec-card{
	background: #F7F4EC;
}

.contact-exec-list{
	list-style: none;
	margin: 0;
	padding: 0;
}

.contact-exec-list li{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 13px 0;
	border-bottom: 1px solid rgba(165, 149, 104, 0.25);
}

.contact-exec-list li:last-child{
	border-bottom: none;
	padding-bottom: 0;
}

.contact-exec-avatar{
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--white-color);
	border: 1px solid #ceba82;
	color: #a59568;
	font-size: 16px;
	font-weight: 500;
}

.contact-exec-info{
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	line-height: 1.4em;
}

.contact-exec-info strong{
	font-weight: 500;
	color: var(--primary-color);
}

.contact-exec-info a{
	color: var(--text-color);
	font-size: 15px;
}

.contact-exec-call{
	flex-shrink: 0;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #ceba82;
	color: var(--white-color);
	font-size: 14px;
	transition: all 0.3s ease-in-out;
}

.contact-exec-call:hover{
	background: #b39a55;
	color: var(--white-color);
	transform: scale(1.06);
}

@media (max-width: 767px){
	.contact-page{
		padding: 50px 0 60px;
	}

	/* tabs scroll sideways instead of stacking into a tall block */
	.contact-tabs{
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		padding-bottom: 6px;
		margin-bottom: 28px;
		-webkit-overflow-scrolling: touch;
	}

	.contact-tab{
		flex-shrink: 0;
		padding: 10px 20px;
		font-size: 14px;
	}

	.contact-office-card,
	.contact-exec-card{
		padding: 26px 22px;
	}

	.contact-office-name{
		font-size: 21px;
	}
}

/************************************/
/***     RERA Approved Projects    ***/
/************************************/

.rera-page-section{
	padding: 70px 0;
	background: var(--white-color);
}

/* alternate city sections on the light gold background */
.rera-page-section-alt{
	background: #ceba820f;
}

@media (max-width: 767px){
	.rera-page-section{
		padding: 50px 0;
	}
}

/************************************/
/***          Careers page        ***/
/************************************/

.careers-page{
	padding: 60px 0 80px;
	background: #ceba820f;
}

/* city switch at the top */
.careers-city-switch{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 16px;
	margin-bottom: 36px;
	color: var(--text-color);
}

.careers-city-pills{
	display: flex;
	gap: 10px;
}

.careers-city-pill{
	padding: 10px 24px;
	border: 1px solid #ceba82;
	border-radius: 100px;
	background: var(--white-color);
	color: #a59568;
	font-size: 15px;
	line-height: 1.2em;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.careers-city-pill:hover{
	background: #ceba8226;
}

.careers-city-pill.is-active{
	background: #ceba82;
	color: var(--white-color);
	box-shadow: 0 10px 25px rgba(206, 186, 130, 0.35);
}

.careers-panel{
	animation: contactFadeIn 0.4s ease-in-out;
}

/* intro + HR contact card, and the resume form card */
.careers-intro-card,
.careers-form-card{
	background: var(--white-color);
	border: 1px solid rgba(206, 186, 130, 0.35);
	border-radius: 20px;
	padding: 36px 34px;
	box-shadow: 0 15px 35px rgba(26, 26, 26, 0.06);
}

.careers-intro-title{
	font-size: 28px;
	font-weight: 300;
	line-height: 1.25em;
	margin-bottom: 14px;
}

.careers-intro-text{
	color: var(--text-color);
	line-height: 1.7em;
	margin-bottom: 24px;
}

.careers-hr-links{
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.careers-hr-link{
	flex: 1 1 240px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 21px 16px;
	border-radius: 14px;
	background: #F7F4EC;
	color: var(--primary-color);
	font-weight: 500;
	overflow-wrap: anywhere;
	transition: all 0.3s ease-in-out;
}

.careers-hr-link:hover{
	background: #ceba8233;
	color: var(--primary-color);
}

.careers-hr-link small{
	display: block;
	color: #a59568;
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 8px;
}

/* current openings */
.careers-openings{
	margin-top: 34px;
}

.careers-openings-title{
	font-size: 26px;
	font-weight: 300;
	margin-bottom: 18px;
}

.careers-group + .careers-group{
	margin-top: 26px;
}

.careers-group-title{
	color: #a59568;
	font-size: 15px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 12px;
}

.careers-job{
	background: var(--white-color);
	border: 1px solid rgba(206, 186, 130, 0.35);
	border-radius: 14px;
	margin-bottom: 10px;
	overflow: hidden;
	transition: box-shadow 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.careers-job[open]{
	border-color: #ceba82;
	box-shadow: 0 12px 30px rgba(26, 26, 26, 0.07);
}

.careers-job summary{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
	cursor: pointer;
	list-style: none;
}

.careers-job summary::-webkit-details-marker{
	display: none;
}

.careers-job-title{
	flex: 1;
	min-width: 0;
	color: var(--primary-color);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.35em;
}

.careers-job-meta{
	flex-shrink: 0;
	padding: 5px 12px;
	border-radius: 100px;
	background: #F7F4EC;
	color: #a59568;
	font-size: 13px;
}

.careers-job-arrow{
	flex-shrink: 0;
	color: #a59568;
	transition: transform 0.3s ease-in-out;
}

.careers-job[open] .careers-job-arrow{
	transform: rotate(180deg);
}

.careers-job-body{
	list-style: none;
	margin: 0 20px;
	padding: 16px 0 6px;
	border-top: 1px solid var(--divider-color);
	display: flex;
	flex-direction: column;
	gap: 10px;
	color: var(--text-color);
	line-height: 1.6em;
}

.careers-job-body strong{
	color: var(--primary-color);
	font-weight: 500;
}

.careers-apply-btn{
	margin: 10px 20px 20px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	border: 1px solid #ceba82;
	border-radius: 8px;
	background: transparent;
	color: #a59568;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.careers-apply-btn:hover{
	background: #ceba82;
	color: var(--white-color);
}

/* resume form */
/* right column: the resume form (with the optional city image on top), sticking while the openings scroll */
.careers-side{
	position: sticky;
	top: 120px;
}

/* inside the form card, above the "Submit your Resume" title */
.careers-side-image{
	margin-bottom: 24px;
	border-radius: 14px;
	overflow: hidden;
}

.careers-side-image img{
	display: block;
	width: 100%;
	height: auto;
}

.careers-form-card{
	background: #F7F4EC;
}

.careers-form-title{
	font-size: 26px;
	font-weight: 300;
	margin-bottom: 6px;
}

.careers-form-sub{
	color: var(--text-color);
	margin-bottom: 22px;
}

.careers-form{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.careers-form .form-control,
.careers-form .form-select{
	padding: 13px 16px;
	border: 1px solid rgba(165, 149, 104, 0.35);
	border-radius: 10px;
	background-color: var(--white-color);
	font-size: 15px;
	box-shadow: none;
}

.careers-form .form-control:focus,
.careers-form .form-select:focus{
	border-color: #ceba82;
	box-shadow: 0 0 0 3px rgba(206, 186, 130, 0.2);
}

.careers-hp{
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

/* file upload box - the real file input lies invisibly on top, so the whole box is clickable */
.careers-file{
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px;
	border: 1px dashed #ceba82;
	border-radius: 12px;
	background: var(--white-color);
	cursor: pointer;
	transition: background 0.3s ease-in-out;
}

.careers-file:hover{
	background: #ceba8214;
}

.careers-file input{
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}

.careers-file-icon{
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #ceba82;
	color: var(--white-color);
	font-size: 17px;
}

.careers-file-text{
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.careers-file-name{
	color: var(--primary-color);
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.careers-file-text small{
	color: var(--text-color);
	font-size: 13px;
}

.careers-submit{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 24px;
	border: none;
	border-radius: 10px;
	background: #ceba82;
	color: var(--white-color);
	font-size: 16px;
	cursor: pointer;
	transition: background 0.3s ease-in-out;
}

.careers-submit:hover{
	background: #b39a55;
}

.careers-alert{
	padding: 14px 16px;
	border-radius: 10px;
	margin-bottom: 16px;
	font-size: 15px;
}

.careers-alert ul{
	margin: 0;
	padding-left: 18px;
}

.careers-alert-success{
	background: #e8f3e8;
	color: #2f6b34;
}

.careers-alert-error{
	background: #fbeaea;
	color: #9b2c2c;
}

/* city popup */
body.careers-modal-open{
	overflow: hidden;
}

.careers-modal{
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(15, 15, 15, 0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.careers-modal[hidden]{
	display: none;
}

.careers-modal-box{
	width: 100%;
	max-width: 520px;
	padding: 40px 36px;
	border-radius: 22px;
	background: #F7F4EC;
	text-align: center;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.3);
	animation: contactFadeIn 0.35s ease-in-out;
}

.careers-modal-box h3{
	font-size: 30px;
	font-weight: 300;
	margin-bottom: 6px;
}

.careers-modal-box p{
	color: var(--text-color);
	margin-bottom: 26px;
}

.careers-modal-cities{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.careers-modal-city{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 26px 16px;
	border: 1px solid rgba(206, 186, 130, 0.5);
	border-radius: 16px;
	background: var(--white-color);
	color: var(--primary-color);
	font-size: 18px;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.careers-modal-city i{
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(206, 186, 130, 0.15);
	color: #a59568;
	font-size: 20px;
	transition: all 0.3s ease-in-out;
}

.careers-modal-city:hover{
	border-color: #ceba82;
	transform: translateY(-3px);
	box-shadow: 0 15px 30px rgba(26, 26, 26, 0.1);
}

.careers-modal-city:hover i{
	background: #ceba82;
	color: var(--white-color);
}

@media (max-width: 1199px){
	.careers-side{
		position: static;
	}
}

@media (max-width: 767px){
	.careers-page{
		padding: 40px 0 60px;
	}

	.careers-intro-card,
	.careers-form-card{
		padding: 26px 20px;
	}

	.careers-intro-title{
		font-size: 23px;
	}

	.careers-job summary{
		padding: 16px;
		flex-wrap: wrap;
	}

	.careers-job-title{
		flex-basis: calc(100% - 30px);
		font-size: 16px;
	}

	.careers-modal-box{
		padding: 30px 20px;
	}

	.careers-modal-box h3{
		font-size: 25px;
	}
}

/************************************/
/***  Enquiry forms + popups      ***/
/*** (brochure, callback, home)   ***/
/************************************/

body.enq-modal-open{
	overflow: hidden;
}

.enq-modal{
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(15, 15, 15, 0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	overflow-y: auto;
}

.enq-modal[hidden]{
	display: none;
}

.enq-modal-box{
	position: relative;
	width: 100%;
	max-width: 440px;
	margin: auto;
	padding: 36px 32px 30px;
	border-radius: 22px;
	background: #F7F4EC;
	text-align: center;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.3);
	animation: contactFadeIn 0.3s ease-in-out;
}

.enq-modal-wide .enq-modal-box{
	max-width: 820px;
	padding: 0;
	overflow: hidden;
	text-align: left;
}

.enq-modal-close{
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 50%;
	background: var(--white-color);
	color: var(--primary-color);
	font-size: 16px;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
}

.enq-modal-close:hover{
	background: #ceba82;
	color: var(--white-color);
}

.enq-modal-icon{
	width: 58px;
	height: 58px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #ceba82;
	color: var(--white-color);
	font-size: 22px;
	margin-bottom: 14px;
	box-shadow: 0 0 0 7px rgba(206, 186, 130, 0.2);
}

.enq-modal-box h3{
	font-size: 26px;
	font-weight: 300;
	margin-bottom: 6px;
}

.enq-modal-box p{
	color: var(--text-color);
	margin-bottom: 20px;
}

.enq-brochure-project{
	color: #a59568;
	font-weight: 500;
}

.enq-form{
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-align: left;
}

.enq-form .form-control,
.enq-form .form-select{
	padding: 12px 15px;
	border: 1px solid rgba(165, 149, 104, 0.35);
	border-radius: 10px;
	background-color: var(--white-color);
	font-size: 15px;
	box-shadow: none;
}

.enq-form .form-control:focus,
.enq-form .form-select:focus{
	border-color: #ceba82;
	box-shadow: 0 0 0 3px rgba(206, 186, 130, 0.2);
}

.enq-form.was-validated .form-control:invalid,
.enq-form.was-validated .form-select:invalid{
	border-color: #d9534f;
}

.enq-submit{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 14px 22px;
	border: none;
	border-radius: 10px;
	background: #ceba82;
	color: var(--white-color);
	font-size: 16px;
	cursor: pointer;
	transition: background 0.3s ease-in-out;
}

.enq-submit:hover{
	background: #b39a55;
}

.enq-submit:disabled{
	opacity: 0.7;
	cursor: wait;
}

/* honeypot - hidden from people */
.enq-hp{
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
}

/* success / error message under a form */
.enq-form-message{
	display: none;
}

.enq-form-message.is-success,
.enq-form-message.is-error{
	display: block;
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.5em;
}

.enq-form-message.is-success{
	background: #e8f3e8;
	color: #2f6b34;
}

.enq-form-message.is-error{
	background: #fbeaea;
	color: #9b2c2c;
}

.enq-form-message ul{
	margin: 0;
	padding-left: 18px;
}

/* homepage popup: dark side panel + form */
.enq-popup-grid{
	display: grid;
	grid-template-columns: 1fr 1.15fr;
}

.enq-popup-side{
	padding: 40px 34px;
	background: linear-gradient(160deg, #1a1a1a 0%, #2d2a24 100%);
	color: var(--white-color);
}

.enq-popup-tag{
	display: inline-block;
	padding: 5px 14px;
	border-radius: 100px;
	background: rgba(206, 186, 130, 0.2);
	color: #ceba82;
	font-size: 13px;
	margin-bottom: 14px;
}

.enq-popup-side h3{
	color: var(--white-color);
	font-size: 28px;
}

.enq-popup-side p{
	color: rgba(255, 255, 255, 0.75);
}

.enq-popup-side ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.enq-popup-side li{
	display: flex;
	align-items: center;
	gap: 10px;
	color: rgba(255, 255, 255, 0.9);
}

.enq-popup-side li i{
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #ceba82;
	color: var(--primary-color);
	font-size: 10px;
}

.enq-popup-grid .enq-form{
	padding: 40px 32px 32px;
	justify-content: center;
}

/* floating "Request a Call Back" button on every page */
.enq-callback-fab{
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 990;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 20px 13px 14px;
	border: none;
	border-radius: 100px;
	background: #ceba82;
	color: var(--white-color);
	font-size: 15px;
	font-weight: 500;
	box-shadow: 0 12px 30px rgba(26, 26, 26, 0.25);
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.enq-callback-fab i{
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.25);
	animation: enqRing 2.5s ease-in-out infinite;
}

.enq-callback-fab:hover{
	background: #b39a55;
	transform: translateY(-2px);
}

@keyframes enqRing{
	0%, 70%, 100%{ transform: rotate(0); }
	75%{ transform: rotate(-15deg); }
	80%{ transform: rotate(15deg); }
	85%{ transform: rotate(-10deg); }
	90%{ transform: rotate(10deg); }
}

@media (prefers-reduced-motion: reduce){
	.enq-callback-fab i{
		animation: none;
	}
}

@media (max-width: 767px){
	/* phones: a round icon button only */
	.enq-callback-fab{
		right: 16px;
		bottom: 16px;
		padding: 10px;
	}

	.enq-callback-fab span{
		display: none;
	}

	.enq-modal-box{
		padding: 30px 20px 24px;
	}

	.enq-popup-grid{
		grid-template-columns: 1fr;
	}

	.enq-popup-side{
		padding: 28px 22px 22px;
	}

	.enq-popup-side ul{
		display: none;
	}

	.enq-popup-side h3{
		font-size: 23px;
	}

	.enq-popup-side p{
		margin-bottom: 0;
	}

	.enq-popup-grid .enq-form{
		padding: 22px 20px 24px;
	}
}

/* Home "Showcase" heading: on phones the line breaks after "Inspired," */
@media (max-width: 767px){
	.showcase-title-line{
		display: block;
	}
}

/* Home testimonials heading on phones: centred, "Voice of Trust" on its own line */
@media (max-width: 767px){
	.home-testimonials-title{
		text-align: center;
	}

	.home-testimonials-title .testimonials-title-line{
		display: block;
	}
}

/************************************/
/***   Site footer (partials/footer.php)   ***/
/************************************/
/* logo + social links on top, then rows of link columns, then the bottom bar */
.sfs-footer{
	padding: 60px 0 0;
	color: rgba(255, 255, 255, 0.78);
}

.sfs-footer-top{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 25px 60px;
	padding-bottom: 35px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.sfs-footer-logo img{
	display: block;
	max-width: 190px;
	height: auto;
}

.sfs-footer-social{
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sfs-footer-social a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 50%;
	color: var(--white-color);
	font-size: 17px;
	transition: all 0.3s ease-in-out;
}

.sfs-footer-social a:hover{
	background: #ceba82;
	border-color: #ceba82;
	color: var(--white-color);
}

/* link columns */
.sfs-footer-links{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 35px 30px;
	padding-top: 45px;
}

.sfs-footer-links-quick{
	padding-top: 40px;
	padding-bottom: 50px;
}

.sfs-footer-col h3{
	margin: 0 0 20px;
	color: var(--white-color);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.sfs-footer-col ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.sfs-footer-col li{
	margin-bottom: 10px;
	line-height: 1.45em;
}

.sfs-footer-col a{
	color: rgba(255, 255, 255, 0.78);
	font-size: 15px;
	transition: color 0.3s ease-in-out;
}

.sfs-footer-col a:hover{
	color: #ceba82;
}

/* bottom bar */
.sfs-footer-bottom{
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding: 22px 0;
}

.sfs-footer-bottom-inner{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 30px;
}

.sfs-footer-bottom p{
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 14px;
}

.sfs-footer-legal a{
	color: var(--white-color);
	transition: color 0.3s ease-in-out;
}

.sfs-footer-legal a:hover{
	color: #ceba82;
}

.sfs-footer-sep{
	margin: 0 8px;
	color: rgba(255, 255, 255, 0.4);
}

@media (max-width: 1199px){
	.sfs-footer-links{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px){
	.sfs-footer{
		padding-top: 45px;
	}

	.sfs-footer-top{
		flex-direction: column;
		align-items: flex-start;
		gap: 22px;
		padding-bottom: 28px;
	}

	.sfs-footer-links{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 20px;
		padding-top: 32px;
	}

	.sfs-footer-links-quick{
		padding-top: 30px;
		padding-bottom: 36px;
	}

	.sfs-footer-col h3{
		font-size: 14px;
		margin-bottom: 14px;
	}

	.sfs-footer-col a{
		font-size: 14px;
	}

	.sfs-footer-bottom-inner{
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}
}

@media (max-width: 479px){
	.sfs-footer-links{
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Site footer: logo + social links on the left, newsletter sign-up on the right of the top row */
.sfs-footer-top{
	justify-content: space-between;
}

.sfs-footer-brand{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 25px 60px;
}

.sfs-footer-newsletter{
	flex: 0 1 520px;
}

.sfs-footer-newsletter h3{
	margin: 0 0 14px;
	color: var(--white-color);
	font-size: 18px;
	font-weight: 400;
}

.sfs-newsletter-form{
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 5px 5px 5px 22px;
	background: #111111;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 100px;
}

.sfs-newsletter-form input[type="email"]{
	flex: 1;
	min-width: 0;
	padding: 10px 0;
	background: transparent;
	border: none;
	outline: none;
	color: var(--white-color);
	font-size: 16px;
}

.sfs-newsletter-form input[type="email"]::placeholder{
	color: rgba(255, 255, 255, 0.75);
}

.sfs-newsletter-form button{
	flex-shrink: 0;
	padding: 11px 26px;
	background: var(--white-color);
	border: none;
	border-radius: 100px;
	color: var(--primary-color);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	transition: all 0.3s ease-in-out;
}

.sfs-newsletter-form button:hover{
	background: #ceba82;
	color: var(--white-color);
}

.sfs-newsletter-form button:disabled{
	opacity: 0.6;
}

/* hidden spam trap */
.sfs-newsletter-hp{
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.sfs-newsletter-note{
	margin: 12px 0 0 6px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 13px;
}

.sfs-newsletter-note a{
	color: var(--white-color);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sfs-newsletter-note.is-success{
	color: #9ad3a1;
}

.sfs-newsletter-note.is-error{
	color: #f1a3a3;
}

@media (max-width: 991px){
	.sfs-footer-newsletter{
		flex-basis: 100%;
	}
}

@media (max-width: 767px){
	.sfs-footer-brand{
		flex-direction: column;
		align-items: flex-start;
		gap: 22px;
	}

	.sfs-footer-newsletter{
		width: 100%;
	}

	.sfs-footer-newsletter h3{
		font-size: 16px;
	}

	.sfs-newsletter-form{
		padding-left: 16px;
	}

	.sfs-newsletter-form button{
		padding: 10px 18px;
		letter-spacing: 0.08em;
	}
}

/* Home call buttons: the city on top (small), the number below it */
.trust-about-phone-text{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	line-height: 1.3em;
	text-align: left; /* the section around it is centred */
}

.trust-about-phone-text small{
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.85;
}

.trust-about-phone-text > span{
	font-size: 17px;
	font-weight: 600;
}

@media (max-width: 767px){
	.trust-about-phone-text > span{
		font-size: 16px;
	}
}

/* Home city project sliders: the "SFS Apartment Projects" label filled in gold (#ceba82, same as
   the "View All Projects" button), white text and a white dot */
.tp-hero-slider-area .section-title .section-sub-title{
	background: #ceba82;
	border-color: #ceba82;
	color: var(--white-color);
}

.tp-hero-slider-area .section-title .section-sub-title::before{
	background: var(--white-color);
}

/* Home "Our Divisions" cards: the line under "SFS Vista" / "SFS Homecare" on the image */
.our-amenities-moon .amenity-item .amenity-item-content p{
	color: var(--white-color);
	font-weight: 200;
	font-size: 18px;
}

@media (max-width: 767px){
	.our-amenities-moon .amenity-item .amenity-item-content p{
		font-size: 16px;
	}
}

/* Home counter section ("A Legacy Built on Trust"): big bold title, light large numbers */
.home-about-counters .section-title h2{
	font-size: 59px;
	margin-bottom: 20px;
	cursor: none;
	font-weight: 700;
}

.home-about-counters .about-us-counter-item h2{
	font-size: 42px;
	font-weight: 300;
}

@media (max-width: 991px){
	.home-about-counters .section-title h2{
		font-size: 44px;
	}
}

@media (max-width: 767px){
	.home-about-counters .section-title h2{
		font-size: 32px;
		margin-bottom: 16px;
	}

	.home-about-counters .about-us-counter-item h2{
		font-size: 34px;
	}
}

/* Home counter section: the text under each number ("Happy Clients" ...) in capitals */
.home-about-counters .about-us-counter-item p{
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Home city sliders: the "Trivandrum Projects" / "Cochin Projects" titles */
.tp-hero-slider-area .section-title h2{
	font-size: 36px;
}

@media (max-width: 991px){
	.tp-hero-slider-area .section-title h2{
		font-size: 30px;
	}
}

@media (max-width: 767px){
	.tp-hero-slider-area .section-title h2{
		font-size: 24px;
	}
}

/* Header (desktop): the logo on the left spans both rows - the top bar ("Follow us" + Enquire ...)
   and the menu row - and the top bar pill starts to the right of the logo.
   Only while the header sits over the banner; once it sticks to the top on scroll (.active,
   the top bar scrolled away) the logo goes back to its normal place in the menu row. */
@media (min-width: 1200px){
	.top-header-bar .top-header-inner{
		margin-left: 285px;
	}

	header.main-header .header-sticky:not(.active) .navbar-brand{
		position: relative;
		margin-top: -64px;
	}

	header.main-header .header-sticky:not(.active) .navbar-brand img{
		width: 200px;
	}
}

/* Menu items never break onto two lines ("Rentals & Resale"); tighter spacing on small desktops */
@media (min-width: 992px){
	.main-menu #menu > li > a.nav-link{
		white-space: nowrap;
	}
}
@media (min-width: 992px) and (max-width: 1199px){
	.navbar-brand{
		flex-shrink: 0;
	}
	.navbar-brand img{
		width: 150px;
	}
	.main-menu .nav-menu-wrapper{
		margin: 0 0 0 10px;
	}
	.main-menu #menu > li{
		margin: 0;
	}
	.main-menu #menu > li > a.nav-link{
		font-size: 12px;
		letter-spacing: 0;
		padding: 12px 7px !important;
	}
	.main-menu #menu > li.submenu > a.nav-link:after{
		margin-left: 4px;
	}
	.top-header-actions a{
		white-space: nowrap;
	}
}

/* Header background: one full-width (edge to edge, from the very top, square corners) see-through black band behind the top bar + menu row (and the logo),
   while the header sits over the banner. Drawn by the top bar so it stays behind the menu. */
.top-header-bar::before{
	content: '';
	position: absolute;
	top: -28px;
	left: -15px;
	right: -15px;
	height: 143px;
	background: rgba(0, 0, 0, 0.45);
	z-index: -1;
	pointer-events: none;
}

@media (max-width: 991px){
	.top-header-bar::before{
		top: -26px;
		left: -8px;
		right: -8px;
		height: 178px;
		border-radius: 0;
	}
}

/* Inner page banners run edge to edge from the very top (no side gap, no rounded corners),
   so the header band above lines up with them */
.page-header{
	margin: 0;
	border-radius: 0;
}

/* "Request a Call Back" floating button: only the round phone icon at first,
   the text slides out next to the icon on hover / keyboard focus */
@media (min-width: 768px){
	.enq-callback-fab{
		gap: 0;
		padding: 10px;
		transition: gap 0.35s ease, padding 0.35s ease, background 0.3s ease, transform 0.3s ease;
	}

	.enq-callback-fab span{
		display: inline-block;
		max-width: 0;
		overflow: hidden;
		white-space: nowrap;
		opacity: 0;
		transition: max-width 0.35s ease, opacity 0.25s ease;
	}

	.enq-callback-fab:hover,
	.enq-callback-fab:focus-visible{
		gap: 10px;
		padding: 10px 20px 10px 10px;
	}

	.enq-callback-fab:hover span,
	.enq-callback-fab:focus-visible span{
		max-width: 220px;
		opacity: 1;
	}
}

/* Home "trust about" section: the gold accent words follow the title size on smaller screens,
   and the paragraph text steps down a little */
@media (max-width: 991px){
	.trust-about-title{
		font-size: 36px;
	}
	.trust-about-accent{
		font-size: inherit;
	}
	.trust-about-content p{
		font-size: 18px;
	}
}

@media (max-width: 767px){
	.trust-about-title{
		font-size: 30px;
	}
	.trust-about-content p{
		font-size: 17px;
	}
}

/* Home counter section heading: "Trust" in gold */
.counter-title-accent,
.counter-title-accent *{
	color: #a59568;
}

/* Testimonials: "View PDF" sits to the right of the name + designation on tablet/desktop
   (vertically centred on them); on mobile it stays underneath */
@media (min-width: 768px){
	.testimonial-author-content-moon:has(.testimonial-pdf-link){
		display: grid;
		grid-template-columns: auto auto;
		justify-content: start;
		align-items: center;
		column-gap: 20px;
	}

	.testimonial-author-content-moon:has(.testimonial-pdf-link) > h2,
	.testimonial-author-content-moon:has(.testimonial-pdf-link) > p{
		grid-column: 1;
	}

	.testimonial-author-content-moon .testimonial-pdf-link{
		grid-column: 2;
		grid-row: 1 / span 2;
		margin-top: 0;
		white-space: nowrap;
	}
}

/* Home testimonials: "View All Testimonials" button on the left, the arrows on the right */
.home-testimonials .testimonial-btn .testimonials-viewall{
	margin-right: auto;
}

@media (max-width: 767px){
	.home-testimonials .testimonial-btn{
		flex-wrap: wrap;
		justify-content: center;
	}

	/* phones: arrows first, the button centred on its own line under them */
	.home-testimonials .testimonial-btn .testimonials-viewall{
		order: 3;
		margin: 10px auto 0;
	}
}

/* Home testimonials (desktop): the photo starts level with the heading and ends level with the
   "View All Testimonials" button / arrows row (same top + bottom space as the text column) */
@media (min-width: 992px){
	.home-testimonials .testimonial-image{
		padding: 40px 40px 10px;
	}
}

/* Home "Meet Our Team" section (after testimonials): video-bg image background, like the
   project page's location section */
.our-team.home-team{
	background-color: #F7F7F2;
	background-image: url('../img/video-bg.webp');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

@media (max-width: 991px){
	.our-team.home-team{
		padding: 60px 0 30px;
	}
}

/* Home latest awards slider: one award per slide - image on the left, text on the right,
   in one white card; arrows + dots centred under it. Every card is as tall as the tallest one. */
.home-awards-slider .swiper-wrapper{
	align-items: stretch;
}

.home-awards-slider .swiper-slide{
	height: auto;
	display: flex;
}

.home-award-card{
	width: 100%;
	display: flex;
	align-items: stretch;
	background: var(--white-color);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.home-award-card-image{
	flex: 0 0 50%;
	max-width: 50%;
}

.home-award-card-image{
	position: relative;
	min-height: 400px;
}

/* the photo fills its half without setting the height (tall photos would stretch every card) -
   the card height comes from the text, at least 400px */
.home-award-card-image figure,
.home-award-card-image img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.home-award-card-image img{
	object-fit: cover;
	display: block;
}

.home-award-card-content{
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 50px;
}


.home-award-card-content p{
	font-size: 18px;
	font-weight: 300;
	line-height: 1.7em;
	color: var(--text-color);
	margin-bottom: 30px;
	/* at most 8 lines, so one very long award does not make every card tall (equal heights);
	   the full text is on the Awards page */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 8;
	line-clamp: 8;
	overflow: hidden;
}

.home-awards-nav{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 30px;
}

.home-awards-prev,
.home-awards-next{
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #ceba82;
	border-radius: 50%;
	background: transparent;
	color: #a59568;
	transition: all 0.3s ease-in-out;
}

.home-awards-prev:hover,
.home-awards-next:hover{
	background: #ceba82;
	color: var(--white-color);
}

.home-awards-slider .home-awards-pagination{
	position: static;
	width: auto;
	display: flex;
	gap: 8px;
}

.home-awards-pagination .swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	margin: 0 !important;
	background: #ceba82;
	opacity: 0.4;
}

.home-awards-pagination .swiper-pagination-bullet-active{
	opacity: 1;
}

@media (max-width: 991px){
	.home-award-card-content{
		padding: 35px 30px;
	}

	.home-award-card-content p{
		font-size: 16px;
	}

	.home-award-card-image{
		min-height: 340px;
	}
}

/* phones: image on top, text underneath */
@media (max-width: 767px){
	.home-award-card{
		flex-direction: column;
	}

	.home-award-card-image{
		flex: none;
		max-width: 100%;
	}

	.home-award-card-image{
		min-height: 0;
		height: 240px;
	}

	.home-award-card-content{
		padding: 25px 20px;
	}


	.home-award-card-content p{
		margin-bottom: 22px;
	}
}

/* awards slider: "Read more" under a text cut at 8 lines; open = the whole text */
.home-award-card-content .home-award-text.is-expanded{
	display: block;
	-webkit-line-clamp: unset;
	line-clamp: none;
	overflow: visible;
}

.home-award-readmore{
	margin: -18px 0 28px;
	padding: 0;
	border: none;
	background: none;
	color: #a59568;
	font-size: 15px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.home-award-readmore:hover{
	color: #b39a55;
}

.home-award-readmore[hidden]{
	display: none;
}

/* phones: the text starts right under the image (no empty space when the card is stretched) */
@media (max-width: 767px){
	.home-award-card-content{
		justify-content: flex-start;
	}

	.home-award-readmore{
		margin: -12px 0 20px;
	}
}

/* Project page: "Other Projects" right after a cream section (e.g. the Gallery / Sample Apartment
   Gallery) turns white, so the two sections don't run together in the same colour */
.pd2-section-alt + .pd2-other-projects{
	background: var(--white-color);
}

/* About page: the photo starts at the top of its column (level with the heading) at its own height,
   with softly rounded corners on the photo itself (not on an empty stretched box) */
.about-features .features-image-box,
.about-features .features-image,
.about-features .features-image figure{
	height: auto;
}

.about-features .features-image img{
	display: block;
	width: calc(100% - 60px);
	height: auto;
	aspect-ratio: auto;
	padding: 0;
	object-fit: initial;
	border-radius: 20px;
}

.about-features .features-content{
	align-content: flex-start;
}

@media (max-width: 1199px){
	.about-features .features-image img{
		width: 100%;
	}
}

/* About page: a little space under the heading */
.about-features .section-title h2{
	margin-bottom: 20px;
}

/* SFS Logo page: the opening line in medium weight (not full bold) */
.logo-page-lead{
	font-weight: 500;
}

/* Awards page: every card image the same size (3:2, cropped to fit - "View Image" still opens the
   full photo), videos too */
.awards-page .sfs-media-card-thumb img{
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

/* Contact page: every city one after another, each its own section; every other city on the
   video-bg image. The intro + city buttons sit above them. */
.contact-page{
	padding: 70px 0 30px;
}

.contact-page .contact-tabs{
	margin-bottom: 0;
}

.contact-region{
	padding: 70px 0;
	background: #ceba820f;
	/* a city button scrolls here: keep the heading clear of the fixed header */
	scroll-margin-top: 110px;
}

.contact-region-alt{
	background-color: #F7F7F2;
	background-image: url('../img/video-bg.webp');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.contact-region-title{
	margin-bottom: 30px;
}

.contact-region-title h2{
	margin-bottom: 0;
}

@media (max-width: 991px){
	.contact-region{
		padding: 50px 0;
		scroll-margin-top: 90px;
	}
}

@media (max-width: 767px){
	.contact-page{
		padding: 50px 0 20px;
	}

	.contact-region{
		padding: 40px 0;
	}

	.contact-region-title{
		margin-bottom: 20px;
	}
}

/* Header (desktop, over the banner): the menu row spans the same width as the top bar above it -
   "HOME" starts under "Follow us:" and "CONTACT" ends under "CONTACT NOW", items spread evenly.
   (top bar: 285px from the container's left edge, 31px inner padding incl. border; the logo
   before the menu is 200px wide; menu links have 13px side padding) */
@media (min-width: 1200px){
	header.main-header .header-sticky:not(.active) .main-menu .nav-menu-wrapper{
		margin: 0;
		padding: 0 18px 0 103px;
	}

	header.main-header .header-sticky:not(.active) .main-menu .nav-menu-wrapper > ul{
		display: flex;
		width: 100%;
		justify-content: space-between;
	}

	header.main-header .header-sticky:not(.active) .main-menu #menu > li{
		margin: 0;
	}

	/* the logo keeps its 200px (on smaller laptops it was squeezed, shifting the menu) */
	header.main-header .header-sticky:not(.active) .navbar-brand{
		flex-shrink: 0;
	}
}

/* smaller laptops (1200-1399px): the menu is just too wide for the top bar's width, so the links get
   8px side padding instead of 13px (and the row's inner padding follows, keeping the text aligned) */
@media (min-width: 1200px) and (max-width: 1399px){
	header.main-header .header-sticky:not(.active) .main-menu #menu > li > a.nav-link{
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	header.main-header .header-sticky:not(.active) .main-menu .nav-menu-wrapper{
		padding: 0 23px 0 108px;
	}
}

/* Project page: the Video section now comes right after the Gallery - when both are cream,
   the Video section turns white so the two don't run together */
.pd2-section-alt + #pd2-video.pd2-section-alt{
	background: var(--white-color);
}

/* "Request a Call Back" on the bottom-LEFT: the ElevenLabs voice assistant widget (footer) takes the
   bottom-right corner */
.enq-callback-fab{
	right: auto;
	left: 22px;
}

@media (max-width: 767px){
	.enq-callback-fab{
		right: auto;
		left: 16px;
	}
}

/* Enquiry popup: a photo fills the left half (instead of the dark text panel) */
.enq-popup-side.enq-popup-image{
	position: relative;
	padding: 0;
	min-height: 420px;
	background: #1a1a1a;
}

.enq-popup-image img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* phones: the photo becomes a short strip above the form */
@media (max-width: 767px){
	.enq-popup-side.enq-popup-image{
		min-height: 170px;
	}
}

/* Enquiry popup layouts (Admin > Enquiry Popup) */
.enq-popup-heading{
	font-size: 22px;
	font-weight: 300;
	color: var(--primary-color);
	margin: 0 0 6px;
	text-transform: uppercase;
}

/* form only: one narrower column */
.enq-popup-layout-form-only .enq-modal-box{
	max-width: 480px;
}

.enq-popup-layout-form-only .enq-popup-grid{
	grid-template-columns: 1fr;
}

/* image only: the whole image (any shape), no form */
.enq-popup-layout-image-only .enq-modal-box{
	max-width: 760px;
	width: auto;
	background: transparent;
}

.enq-popup-layout-image-only .enq-popup-grid{
	grid-template-columns: 1fr;
}

.enq-popup-layout-image-only .enq-popup-side.enq-popup-image{
	min-height: 0;
	background: transparent;
}

.enq-popup-layout-image-only .enq-popup-image img{
	position: static;
	width: 100%;
	height: auto;
	max-height: 85vh;
	object-fit: contain;
}

.enq-popup-image a{
	display: block;
	height: 100%;
}

@media (max-width: 767px){
	.enq-popup-layout-image-only .enq-popup-side.enq-popup-image{
		min-height: 0;
	}

	.enq-popup-heading{
		font-size: 18px;
	}
}

/* Enquiry popup, Image + Form: the WHOLE image is shown (posters with text must not be cropped) -
   it keeps its own shape; if the form is taller, the image sits centred on white */
.enq-popup-layout-image-form .enq-popup-side.enq-popup-image{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	background: var(--white-color);
}

.enq-popup-layout-image-form .enq-popup-image a{
	height: auto;
}

.enq-popup-layout-image-form .enq-popup-image img{
	position: static;
	width: 100%;
	height: auto;
	max-height: 90vh;
	object-fit: contain;
}

/* phones: the whole image, but no taller than ~45% of the screen so the form is close below it */
@media (max-width: 767px){
	.enq-popup-layout-image-form .enq-popup-image img{
		width: auto;
		max-width: 100%;
		max-height: 45vh;
	}
}

/* Home enquiry popup: a wide, light, slightly see-through frame around the whole box */
#enqHomePopup .enq-modal-box{
	border: 12px solid rgba(235, 235, 235, 0.85);
	border-radius: 26px;
	background-clip: padding-box;
}

@media (max-width: 767px){
	#enqHomePopup .enq-modal-box{
		border-width: 8px;
		border-radius: 20px;
	}
}

/* Home city project sliders: a smooth, even slide - gentle start and stop (instead of the default
   quick start), and the moving strip prepared by the browser in advance */
.city-hero-slider .swiper-wrapper{
	transition-timing-function: cubic-bezier(0.45, 0, 0.25, 1);
	will-change: transform;
}

.city-hero-slider .swiper-slide{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
}

/* Home Care: phone contacts as small cards - area on top, the number below, the person under it;
   side by side (two per row in the text column), one per row on phones */
.homecare-section-contacts{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 14px;
}

.homecare-contact-card{
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 230px;
	padding: 14px 20px 14px 14px;
	background: var(--white-color);
	border: 1px solid #ceba8266;
	border-radius: 14px;
	color: var(--primary-color);
	transition: all 0.3s ease-in-out;
}

.homecare-contact-card:hover{
	border-color: #ceba82;
	box-shadow: 0 10px 24px rgba(206, 186, 130, 0.25);
	color: var(--primary-color);
}

.homecare-contact-icon{
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #ceba82;
	color: var(--white-color);
	font-size: 15px;
}

.homecare-contact-text{
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.homecare-contact-area{
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #a59568;
}

.homecare-contact-number{
	font-size: 17px;
	font-weight: 500;
	color: var(--primary-color);
}

.homecare-contact-person{
	font-size: 13px;
	font-weight: 300;
	color: var(--text-color);
}

/* phones: one card per row, full width */
@media (max-width: 767px){
	.homecare-contact-card{
		width: 100%;
		min-width: 0;
	}
}

.dark-orange{
	color: #918259;
}

/* Project page "Other Projects": heading on the left, round arrows on the right; the cards slide */
.pd2-other-head{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 30px;
}

.pd2-other-head .section-title{
	margin-bottom: 0;
}

.pd2-other-nav{
	display: flex;
	gap: 12px;
	flex-shrink: 0;
}

.pd2-other-prev,
.pd2-other-next{
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #ceba82;
	border-radius: 50%;
	background: transparent;
	color: #a59568;
	transition: all 0.3s ease-in-out;
}

.pd2-other-prev:hover,
.pd2-other-next:hover{
	background: #ceba82;
	color: var(--white-color);
}

.pd2-other-prev.swiper-button-disabled,
.pd2-other-next.swiper-button-disabled{
	opacity: 0.4;
	cursor: default;
}

/* the cards keep their normal spacing inside the slider */
.pd2-other-slider .project-item{
	margin-bottom: 0;
	height: 100%;
}

@media (max-width: 767px){
	.pd2-other-head{
		margin-bottom: 20px;
	}

	.pd2-other-prev,
	.pd2-other-next{
		width: 40px;
		height: 40px;
	}
}

/* Project page: space under the Floor Plans heading */
#pd2-floorplans .pd2-floorplan-main .section-title h2{
	margin-bottom: 20px;
}

/* Project page: the project name in dark gold above the description title */
.pd2-overview-project-name{
	display: block;
	margin-bottom: 15px;
	font-size: 36px;
	font-weight: 300;
	line-height: 1.3;
	color: #918259;
}

@media (max-width: 767px){
	.pd2-overview-project-name{
		font-size: 26px;
	}
}

/* Awards + Handing Over Events: "Read more" inside the text - at the end of the 4th line while the text is
   cut (over the cut-off words, white fade behind it; the cards are white), "Read less" after the last sentence */
.sfs-media-content.has-readmore{
	position: relative;
}

.sfs-media-inline-readmore{
	display: inline;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	color: #a59568;
	font-size: 14px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	transition: color 0.3s ease-in-out;
}

.sfs-media-inline-readmore:hover{
	color: #7d6c3f;
}

.sfs-media-description-wrap:not(.expanded) .sfs-media-inline-readmore{
	position: absolute;
	right: 0;
	bottom: 0;
	padding-left: 48px;
	background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--white-color) 45%);
}

/* Handing Over Events: the heading (cut at 2 lines) gets the same "Read more" at the end of its last line */
.sfs-media-card-title.has-readmore{
	position: relative;
}

.sfs-media-card-title.has-readmore:not(.is-open) .sfs-media-inline-readmore{
	position: absolute;
	right: 0;
	bottom: 0;
	padding-left: 48px;
	background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--white-color) 45%);
}

.sfs-media-card-title.is-open{
	display: block;
	-webkit-line-clamp: unset;
	line-clamp: none;
	overflow: visible;
}

/* Listing pages, "Contact Our Executives": each line as label on top + value below (one line, clickable) */
.listing-contact-box .listing-contact-line{
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.listing-contact-label{
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	color: #a59568;
}

.listing-contact-value{
	font-size: 16px;
	font-weight: 500;
	color: var(--primary-color);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

a.listing-contact-value:hover{
	color: #a59568;
}

/* a plain text line (e.g. "(Time: 9:30 am to 5:30 pm)") may wrap normally */
.listing-contact-value-text{
	white-space: normal;
	font-weight: 400;
	color: #555555;
}

/* email addresses may break onto a second line in the narrow box (instead of being cut off) */
.listing-contact-value.listing-contact-email{
	white-space: normal;
	overflow-wrap: anywhere;
	font-size: 15px;
}

/* Home banner video controls: play / pause + sound, side by side at the bottom centre of the banner */
.hero-video-controls{
	position: absolute;
	left: 50%;
	bottom: 30px;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	gap: 12px;
}

.hero-video-btn{
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.35);
	color: var(--white-color);
	font-size: 16px;
	cursor: pointer;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	transition: all 0.3s ease-in-out;
}

.hero-video-btn:hover{
	background: #ceba82;
	border-color: #ceba82;
	color: var(--white-color);
}

@media (max-width: 767px){
	.hero-video-controls{
		bottom: 20px;
		gap: 10px;
	}

	.hero-video-btn{
		width: 40px;
		height: 40px;
		font-size: 14px;
	}
}

/* Home "Our Divisions" cards (SFS Vista / Homecare): title + text at the bottom-left,
   the buttons at the bottom-right, on one row (stacked on phones) */
.amenity-item-list-static .amenity-item-content-box{
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	align-content: flex-end;
	justify-content: space-between;
	gap: 16px 20px;
}

/* the text keeps at least 260px; when the buttons do not fit beside it they move under it, still on the right */
.amenity-item-list-static .amenity-item-content{
	flex: 1 1 260px;
	min-width: 0;
}

.amenity-item-list-static .amenity-item-btns{
	margin-left: auto;
}

.amenity-item-list-static .amenity-item-btns{
	flex: 0 0 auto;
	justify-content: flex-end;
	border-top: none;
	margin-top: 0;
	padding-top: 0;
}

@media (max-width: 991px){
	.amenity-item-list-static .amenity-item-content-box{
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: flex-end;
	}

	.amenity-item-list-static .amenity-item-content{
		flex: 0 0 auto;
	}

	.amenity-item-list-static .amenity-item-btns{
		justify-content: flex-start;
		margin-left: 0;
	}
}

/* "Our Divisions" cards: Download Brochure in the top-right corner, and a dark band behind the text +
   View Details at the bottom (fading up into the photo) so they read clearly */
.amenity-item-list-static .amenity-item{
	position: relative;
}

.amenity-item-list-static .amenity-item::after{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 60%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.45) 55%, rgba(0, 0, 0, 0) 100%);
	border-radius: inherit;
	z-index: 1;
	pointer-events: none;
}

.amenity-item-list-static .amenity-item-content-box{
	position: static;
}

.amenity-item-list-static .amenity-item-content,
.amenity-item-list-static .amenity-item-btns{
	position: relative;
	z-index: 2;
}

.division-brochure-btn{
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 3;
	background: rgba(0, 0, 0, 0.35);
}

@media (max-width: 767px){
	.division-brochure-btn{
		top: 16px;
		right: 16px;
		padding: 8px 14px;
		font-size: 13px;
	}
}
.fz-20{
	font-size: 20px;
}
/* Home "Our Divisions" cards (SFS Vista / Homecare): title size */
.amenity-item-list-static .amenity-item-content h2 a{
	color: inherit;
	font-size: 25px;
}

@media (max-width: 767px){
	.amenity-item-list-static .amenity-item-content h2 a{
		font-size: 21px;
	}
}

/* Contact page executives: WhatsApp button beside the call button (white circle, WhatsApp-green icon) */
.contact-exec-actions{
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}

.contact-exec-call.contact-exec-whatsapp{
	background: var(--white-color);
	color: #25d366;
	border: 1px solid #ceba8266;
	font-size: 20px;
}

.contact-exec-call.contact-exec-whatsapp:hover{
	background: #25d366;
	border-color: #25d366;
	color: var(--white-color);
}

/* Home Care contacts: the card's call part + a WhatsApp button on its right (white, WhatsApp-green icon,
   same as the Contact page) */
.homecare-contact-card .homecare-contact-call{
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 14px;
	color: inherit;
}

.homecare-contact-whatsapp{
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	border: 1px solid #ceba8266;
	border-radius: 50%;
	background: var(--white-color);
	color: #25d366;
	font-size: 21px;
	transition: all 0.3s ease-in-out;
}

.homecare-contact-whatsapp:hover{
	background: #25d366;
	border-color: #25d366;
	color: var(--white-color);
}

.homecare-contact-item .homecare-contact-whatsapp{
	width: 36px;
	height: 36px;
	font-size: 18px;
	margin-left: 10px;
}

/* with the WhatsApp button the cards need more width: one per row, so "+91 … (Name)" stays on one line */
.homecare-section-contacts{
	grid-template-columns: 1fr;
	max-width: 460px;
}

.homecare-contact-number{
	white-space: nowrap;
}

@media (max-width: 400px){
	.homecare-contact-number{
		white-space: normal;
	}
}

/* Home "Awards & Recognition" slider: bold words in the text (CKEditor) in black */
.what-we-do-content-moon .wwd-rich-text strong,
.what-we-do-content-moon .wwd-rich-text b{
	color: #000;
}

/* Top header "Chat": a small dropdown of cities (Admin > WhatsApp Chat), each opening its WhatsApp chat */
.header-chat{
	position: relative;
}

.header-chat-toggle{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	border: none;
	background: none;
	color: var(--white-color);
	font-size: 13px;
	font-weight: 300;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: color 0.3s ease-in-out;
}

.header-chat-toggle:hover,
.header-chat-toggle[aria-expanded="true"]{
	color: var(--accent-color);
}

.header-chat-menu{
	/* placed under the Chat button by the footer script (fixed, on top of the header) */
	position: fixed;
	z-index: 10000;
	min-width: 210px;
	padding: 10px;
	background: var(--white-color);
	border-radius: 14px;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

.header-chat-menu[hidden]{
	display: none;
}

.header-chat-title{
	display: block;
	padding: 6px 10px 10px;
	border-bottom: 1px solid #ceba8240;
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: #a59568;
}

.header-chat-title i{
	color: #25d366;
	font-size: 15px;
	margin-right: 4px;
}

.header-chat-menu a{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px;
	border-radius: 8px;
	color: var(--primary-color);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.header-chat-menu a i{
	font-size: 12px;
	color: #a59568;
}

.header-chat-menu a:hover{
	background: #ceba8226;
	color: var(--primary-color);
}

/* phones: the top bar shows icons only, and the menu opens towards the left so it stays on screen */
@media (max-width: 991px){
	.header-chat-toggle{
		font-size: 0;
		gap: 0;
	}

	.header-chat-toggle i{
		font-size: 14px;
	}

}

/* Floating WhatsApp button: bottom-left, just above "Request a Call Back" (same size, WhatsApp green) */
.wa-fab{
	position: fixed;
	left: 22px;
	bottom: 92px;
	z-index: 990;
	width: 54px;
	height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #25d366;
	color: var(--white-color);
	font-size: 28px;
	box-shadow: 0 10px 25px rgba(37, 211, 102, 0.35);
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.wa-fab:hover,
.wa-fab[aria-expanded="true"]{
	background: #1ebe5b;
	color: var(--white-color);
	transform: translateY(-2px);
}

@media (max-width: 767px){
	.wa-fab{
		left: 16px;
		bottom: 80px;
		width: 52px;
		height: 52px;
		font-size: 27px;
	}
}

/* Home Care: optional logo on its own line under the section title, before the text */
.homecare-section-logo{
	display: block;
	/* height: 56px; */
	width: auto;
	max-width: 200px;
	object-fit: contain;
	margin-bottom: 18px;
}

@media (max-width: 767px){
	.homecare-section-logo{
		max-width: 160px;
	}
}

/* Floating "Enquiry" button: bottom-left, above WhatsApp (column: Enquiry / WhatsApp / Call Back) */
.enq-enquiry-fab{
	position: fixed;
	left: 22px;
	bottom: 162px;
	z-index: 990;
	width: 54px;
	height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: var(--primary-color);
	color: var(--white-color);
	font-size: 22px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

.enq-enquiry-fab:hover{
	background: #ceba82;
	color: var(--white-color);
	transform: translateY(-2px);
}

/* the enquiry form: a label above each field */
.enq-form-labelled label{
	margin: 4px 0 -6px;
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
	text-align: left;
}

@media (max-width: 767px){
	.enq-enquiry-fab{
		left: 16px;
		bottom: 144px;
		width: 52px;
		height: 52px;
		font-size: 21px;
	}
}

/* RERA page: the city filter bar above the city sections */
.rera-filter-bar{
	padding: 50px 0 0;
	background: var(--white-color);
}

.rera-city-filter{
	margin-bottom: 0;
}

.rera-page-section[hidden]{
	display: none;
}

@media (max-width: 767px){
	.rera-filter-bar{
		padding-top: 35px;
	}
}

/* Disclaimer page: plain readable text */
.disclaimer-page{
	padding: 90px 0;
}

.disclaimer-text p{
	font-size: 16px;
	line-height: 1.9em;
	color: var(--text-color);
	margin-bottom: 22px;
	text-align: left;
}

.disclaimer-text p:last-child{
	margin-bottom: 0;
}

@media (max-width: 767px){
	.disclaimer-page{
		padding: 50px 0;
	}

	.disclaimer-text p{
		font-size: 15px;
	}
}

/* RERA filter bar: cream like the section under it when that section is cream (e.g. Cochin selected) */
.rera-filter-bar.rera-filter-bar-alt{
	background: #ceba820f;
}

/* Legal pages (Disclaimer, Privacy Policy): opening line, sub-headings, bullet lists, links */
.disclaimer-text .legal-lead{
	font-size: 18px;
	font-weight: 400;
	color: var(--primary-color);
}

.disclaimer-text h2{
	margin: 36px 0 14px;
	font-size: 24px;
	font-weight: 400;
	color: #918259;
	text-transform: none;
}

.disclaimer-text ul{
	margin: 0 0 22px;
	padding-left: 22px;
}

.disclaimer-text ul li{
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 1.9em;
	color: var(--text-color);
}

.disclaimer-text ul li::marker{
	color: #ceba82;
}

.disclaimer-text a{
	color: #a59568;
	text-decoration: underline;
	text-underline-offset: 3px;
	word-break: break-word;
}

@media (max-width: 767px){
	.disclaimer-text h2{
		font-size: 20px;
	}

	.disclaimer-text ul li{
		font-size: 15px;
	}
}

/* Legacy page: the wide timeline image in a sideways-scrolling strip (full page width) */
.legacy-page{
	padding: 60px 0 80px;
	/* the timeline image's own background colour, so the strip blends into the section */
	background: #d0e0d3;
}

.legacy-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 20px;
}

.legacy-hint{
	margin: 0;
	font-size: 15px;
	color: var(--text-color);
}

.legacy-hint i{
	color: #a59568;
	margin-right: 6px;
}

.legacy-nav{
	display: flex;
	gap: 12px;
	flex-shrink: 0;
}

.legacy-prev,
.legacy-next{
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #ceba82;
	border-radius: 50%;
	background: var(--white-color);
	color: #a59568;
	transition: all 0.3s ease-in-out;
}

.legacy-prev:hover:not(:disabled),
.legacy-next:hover:not(:disabled){
	background: #ceba82;
	color: var(--white-color);
}

.legacy-prev:disabled,
.legacy-next:disabled{
	opacity: 0.4;
	cursor: default;
}

.legacy-scroller{
	overflow-x: auto;
	overflow-y: hidden;
	cursor: grab;
	-webkit-overflow-scrolling: touch;
	scrollbar-color: #ceba82 transparent;
	outline: none;
}

.legacy-scroller.is-dragging{
	cursor: grabbing;
}

.legacy-scroller img{
	display: block;
	height: min(72vh, 680px);
	width: auto;
	max-width: none;
	user-select: none;
	-webkit-user-drag: none;
}

@media (max-width: 767px){
	.legacy-page{
		padding: 35px 0 50px;
	}

	.legacy-head{
		margin-bottom: 14px;
	}

	.legacy-hint{
		font-size: 13px;
	}

	.legacy-prev,
	.legacy-next{
		width: 40px;
		height: 40px;
	}

	.legacy-scroller img{
		height: 420px;
	}
}

/* Home "Our Legacy" section (after Awards & Recognitions): the timeline at container width in a rounded
   card (the image's own green), scrolling sideways; arrows + "View Our Legacy" centred under it */
.home-legacy{
	padding: 100px 0;
	background: var(--white-color);
}

.home-legacy-card{
	border-radius: 20px;
	overflow: hidden;
	background: #d0e0d3;
}

.home-legacy .legacy-scroller img{
	height: 460px;
}

.home-legacy-nav{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 30px;
}

.home-legacy-nav .city-slider-viewall{
	margin: 0;
}

@media (max-width: 991px){
	.home-legacy{
		padding: 70px 0;
	}

	.home-legacy .legacy-scroller img{
		height: 380px;
	}
}

@media (max-width: 767px){
	.home-legacy{
		padding: 50px 0;
	}

	.home-legacy .legacy-scroller img{
		height: 320px;
	}

	.home-legacy-nav{
		gap: 10px;
		margin-top: 20px;
	}
}

/* Home Legacy card: a bigger timeline - the first 4 milestones (1960, 1980, 1984, 2006) fill the card's
   width on desktop. The image's own title + the empty green above the photos, and the margin below the timeline line, are cropped
   off (negative margins = 35.5% top / 15% bottom of the image height) so the card is not too tall.
   --legacy-h = the image's display height at each screen size. */
.home-legacy .legacy-scroller{
	--legacy-h: 1000px;
}

.home-legacy .legacy-scroller img{
	height: var(--legacy-h);
	margin-top: calc(var(--legacy-h) * -0.355);
	margin-bottom: calc(var(--legacy-h) * -0.15);
}

@media (max-width: 1199px){
	.home-legacy .legacy-scroller{
		--legacy-h: 740px;
	}
}

@media (max-width: 991px){
	.home-legacy .legacy-scroller{
		--legacy-h: 560px;
	}
}

@media (max-width: 767px){
	.home-legacy .legacy-scroller{
		--legacy-h: 480px;
	}
}

/* Phones: popup titles smaller and on one line ("Request a Call Back", "Enquire Now", the home popup heading) */
@media (max-width: 767px){
	.enq-modal-box h3{
		font-size: 20px;
		white-space: nowrap;
	}
}

/* Enquiry forms: a dropdown still on its first "Convenient time to call" / "Project of interest" option is grey like
   the placeholder text of the other fields; it turns dark once a choice is made */
.enq-form select.form-select:has(option[value=""]:checked){
	color: rgba(33, 37, 41, 0.75);
}

.enq-form select.form-select option{
	color: #212529;
}

/* Phones: in the welcome heading, "Builder in Kerala" starts on its own line */
@media (max-width: 767px){
	.trust-about-title .trust-about-accent{
		display: block;
	}
}

/* Phones: "View All Projects" centred under the city project images */
.city-slider-viewall-mobile{
	/* margin-top: 24px; */
	text-align: center;
}

/* Awards & Recognition slider, stacked (below 1200px): the arrows under the image */
.what-we-do-nav-below{
	margin-top: 25px;
	justify-content: center;
}

/* Phones: "Our Divisions" cards (SFS Vista / Homecare) - subtext right under the title */
@media (max-width: 767px){
	.amenity-item-list-static .amenity-item-content h2{
		line-height: 1.1em;
	}

	.amenity-item-list-static .amenity-item-content p{
		margin-top: 0px;
	}
}
