/* 
Theme Name: Hapa Child Theme
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://hapaclouds.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: hapa-clouds-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: hapaclouds
*/

/* Add your custom styles here */

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt {
    background-color: var(--hapa-color-primary) !important;
	font-size: 1.25em;
	line-height:inherit !important;
	font-weight:600;
}
.woocommerce a.remove:hover{
	font-size: 1.5em;
    height: 1em;
	    line-height: 1;
}
.woocommerce{
	margin-bottom: 30px;
}
.fw-600{
	font-weight:600 !important;
}

/* Global Style Override */
.bg-primary, .btn-primary{
		background-color:var(--hapa-color-primary) !important;
		border-color:var(--hapa-color-primary) !important;
	}

/* Search Form */
form.search-form .location, form.search-form .getAddress_autocomplete_container{
	min-width: 300px !important;
	
}

/* Property Card Archive */
	.product-cards{
	clear:both;
	}

.cardmap{
	position: absolute;
    right: 7%;
    margin-top: -10%;
    font-size: 1.5rem;
    z-index: 999;
    color: white;
}
	.row .product-card {
        position: relative;
        overflow: hidden;
		padding:10px;
    }

    
	.product-data{
		padding:0 15px 15px 15px !important;
		margin-top:10px;
		
	}
    .product-content {
        position: relative;
		border: 1px solid #e7e7e7;
    border-radius: 8px;
		height:100%;
    }
.product-content a:hover {
	text-decoration:none !important;
}
    .product-image {
        overflow: hidden;
        position: relative;
		padding: 8px;
    border-radius: 8px;
    }

    .product-image img {
        transition: transform 0.3s ease-in-out;
		width: 100%;
		height: 250px;
    	object-fit: cover;
		 border-radius: 8px;
    }

    .product-image:hover img {
        transform: scale(1.1);
		
    }

    .product-content a {
        text-decoration: none;
        color: #333;
    }

    .product-content a:hover {
        text-decoration: underline;
    }
.product-data h3{
	font-size:22px;
}
.p-meta{
	row-gap:10px;
}


/* Single Property Style */
.amenities-list{
list-style: none;
	column-count: 2;
	padding: 0px;	
}
.layout-card{
	min-width: 250px;
	padding: 10px;
}
.container{
	max-width:1140px;
}
	section  h2{
		margin-bottom: 15px;
	}
	
	.bg-light{
		background-color:var(--e-global-color-ed4903d) !important;
		
	}
	.border-light{
		border-color:var(--e-global-color-ed4903d) !important;
	}
	.border-primary, .btn-outline-primary{
		border-color:var(--hapa-color-primary) !important;
	}
	
	.list-group-item.active{
		background-color:var(--hapa-color-primary) !important;
		border-color:var(--hapa-color-primary) !important;
	}
	.btn:hover{
		background-color:var(--hapa-color-primary) !important;
		color:var(--e-global-color-secondary) !important;
	}
	
	.btn:hover svg path{
		
		stroke:white !important;
	}
	.text-primary{
		color:var(--hapa-color-primary) !important;
	}
	.product_title{
		font-size: 3rem !important;
	}
.product-detail section {
    margin-bottom: 40px;
}

.about-section i.fa {
    font-size: 50px;
}


	.scrollspy {
        max-height: 400px;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(0, 0, 0, 0.5) transparent;
    }

    .scrollspy::-webkit-scrollbar {
        width: 8px;
    }

    .scrollspy::-webkit-scrollbar-track {
        background: transparent;
    }

    .scrollspy::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.5);
        border-radius: 4px;
        border: 2px solid transparent;
    }

.property-sidebar {
	 position: sticky;
    top: 150px; 
	z-index:999 !important;
	box-shadow:rgba(0, 0, 0, 0.12) 0px 6px 16px;
}



/* 	review rating section style start  */
	.commentlist{
		padding-left:0;
	}
	.woocommerce .star-rating{
		color:var(--hapa-color-primary) !important;
		float: inherit !important;
	}
	.woocommerce #reviews #comments ol.commentlist li .comment-text{
		margin: 0px 0 0 40px;
     border: none; 
    border-radius: 0; 
   padding: 0;
	}
	.woocommerce #reviews #comments ol.commentlist li img.avatar{
		border-radius:50%;
	}
	
/* review rating section ends 	 */

.feature-image {
    width: 100%;
    height: 400px !important;
    object-fit: cover;
}
.gallery-item .slider_image {
    width: 100% !important;
    max-height: 600px;
    object-fit: cover !important;
}
.swiper-container.hero_slider_main {
    height: 400px;
}
.swiper-container.hero_slider_main {
    height: auto;
    max-height: 600px;
}
.related-slide {
    border-radius: 10px;
    color: #fff !important;
	background-color:#FAFAFA;
	padding:0 0 20px 0;
	margin-left:2px;
}
.related-slide a {
    text-decoration: none;
	width:100%;
}
.related-slide .related-product-title {
    color: #000 !important;
    padding: 5px 10px;
    font-size: 1.5rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

	.price-night{
		display: flex;
		padding: 5px 15px;
		align-items: flex-start;
		gap: 10px;
		border-radius: 10px;
	}
/* availability css */
.list-inline-availability span::before {
    content: "";
    display: inline-block;
    width: 15px; 
    height: 15px; 
    margin-right: 5px; 
    border-radius: 2px; 
}
.list-inline-availability {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: flex-start;
    column-gap: 40px;
}
.day-available::before {
    background-color: var(--hapa-color-primary);
}
.day-pending::before {
    background-color: #c9c9c9; 
	margin-top: 6px;
}
.day-booked::before {
    background-image: repeating-linear-gradient(135deg, transparent, #ff9800 2px, transparent 0, transparent 4px);
	margin-top: 6px;
}
/* end availability css */
.related-property{
	row-gap:30px;
}
.related-property span{
	padding:2px 10px;
}
.related-property .woocommerce img, .related-property .woocommerce-page img{
	width:100%;
	border-radius: 20px;
}
.related-slide{
	align-items: flex-start !important;
}

.product-category{
	margin-top:20px;
}

.related-property h2{
	width:max-content !important;
	margin-left:20px;
}
.property-right-btn a{
	border:1px solid #DCDCDC !important;
	column-gap:10px;
}
.social-icons{
	column-gap:30px;
}
.mr-10{
	margin-right:10px;
}
	
/* New Gllery Styling  */
.new-gallery-feature-image img {
    width: 100% !important;
     border-radius:10px 0 0 10px;
	min-height:445px;
}
.product-gallery-image{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 10px;
}
.modal-fullscreen {
    width: 90vw;
    max-width: none;
    height: 88%;
    margin: auto;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
}

	
.show-all-btn{
	float: right;
    position: relative;
    top: -80px;
    right: 4%;
    box-shadow: 2px 2px 7px #625f5f;
}
/* Single Property Style End*/

/* Booking Form Styles Start*/
#showbd{
	    font-size: small;
    text-decoration: none;
    margin-left: 10px;
}
.booking-details .checkbox.style-e {
    display: inline-block;
    position: relative;
    padding-left: 50px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.booking-details .checkbox.style-e input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.booking-details .checkbox.style-e input:checked~.checkbox__checkmark {
    background-color:var(--hapa-color-primary) !important;
}

.booking-details .checkbox.style-e input:checked~.checkbox__checkmark:after {
    left: 21px;
}

.booking-details .checkbox.style-e:hover input~.checkbox__checkmark {
    background-color: #898787;
}

.booking-details .checkbox.style-e:hover input:checked~.checkbox__checkmark {
   background-color:var(--hapa-color-primary) !important;
}

.booking-details .checkbox.style-e .checkbox__checkmark {
    position: absolute;
    top: -15px;
    left: 0;
    height: 22px;
    width: 40px;
    background-color: #898787;
    transition: background-color 0.25s ease;
    border-radius: 11px;
}

.booking-details .checkbox.style-e .checkbox__checkmark:after {
    content: "";
    position: absolute;
    left: 3px;
    top: 3px;
    width: 16px;
    height: 16px;
    display: block;
    background-color: #fff;
    border-radius: 50%;
    transition: left 0.25s ease;
}



.booking-details .checkboxes {
    max-width: 700px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

/* checkbos style ends 	 */
.booking-details .services-warper .form-select:focus {
    box-shadow: none !important;
}

.booking-details .counter-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 10px;
    padding: 20px;
}


.booking-details .counter {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 50px;
    width: 100%;

}

.booking-details .counter span {
    font-size: 20px;
    text-align: center;
    color: #000;
}

.booking-details .num {
    font-size: 2rem;
    color: #000;
    margin: 0 0 0.2rem 0;
}

.booking-details .btn-wrap {
    display: flex;
    justify-content: center;
    column-gap: 5px;
}

.booking-details button {
    font-size: 20px;
    text-align: center;
    height: 2.5rem;
    margin: 0.2rem;
}

.booking-details button:hover {
    cursor: pointer;
}

.booking-details .decrement-btn,
.booking-details .increment-btn,
.booking-details .guest-submit,
.booking-details .form-submit,
.booking-details .applyButton {
    align-items: center;
    display: flex;
    justify-content: center;
}

.booking-details .decrement-btn,
.booking-details .increment-btn {
    background:var(--hapa-color-primary) !important;
    padding: 10px 20px;
    border-radius: 10px;
    color: #fff !important;
    cursor: pointer;
}

.booking-details .guest-count {
    display: flex;

    justify-content: center;
    align-items: center;
}

.booking-details .guest-count-adult {
    column-gap: 30px;
}

.booking-details .guest-count-child {
    column-gap: 40px;
}

.booking-details .guest-room-count {
    column-gap: 25px;
}

.booking-details .guests-box {
    border: 1px solid #000000;
    position: absolute;
    margin-top: 6px;
    border-radius: 20px;
    z-index: 999;
    background: #fff;
}

.booking-details .guest-selection {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 40px;
}

.booking-details .guest-selection label {
    display: flex;
}

.booking-details .guest-selection span {
    font-size: 22px;
    font-weight: 700;
    color: #000;
}

.booking-details .guest-selection div {
    column-gap: 20px;
}

.booking-details #applyButton {
    width: auto;
    display: flex;
    align-items: center;
    background-color: #029e9d;
    padding: 10px 20px;
    border-radius: 10px;
    color: #fff !important;
    text-decoration: none;
}

.booking-details .input-group {
    column-gap: 10px !important;
}

.booking-details .block-title {
    background-color: #F4F4F4;
    display: block;
    padding: 5px;
    margin-top: 10px;
    border-radius: 5px;
    color: #000;
    font-weight: 600;
}

.booking-details .queen-bed-detail {
    row-gap: 20px;
}

.booking-details .service-checkbox {
    width: 30px !important;
    height: 30px !important;
}

.booking-details .service-radio {
    width: 30px !important;
    height: 30px !important;
}

.booking-details .service-qty {
    width: 70px !important;
    padding: 4px 10px !important;
    border-radius: 0px !important;

}

.booking-details .daterangepicker .calendar-table th,
.booking-details .daterangepicker .calendar-table td {
    padding: 10px;
}

.booking-details  .daterangepicker table thead:first-child tr:first-child th {
    border-block-start: none !important;
}

.booking-details  .alert-dismissible .btn-close {
    padding: 20px !important;
}

.booking-details .Book-Property-section {
    box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 1px;
}

.booking-details input::-webkit-outer-spin-button,
.booking-details input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.booking-details .guest-count input {
    padding: 4px 0 !important;
    height: 45px;
    font-size: 1.4em !important;
    margin: 0px;
    border: 1px solid !important;
    border-color: var(--hapa-color-primary) !important;
}

.booking-details  .input-group {
    column-gap: 0px !important;
}

.booking-details .input-group button {
    margin: 0px;
    width: 35px;
    height: 45px;
}

.booking-calculation input {
    border-color: #d5d5d5 !important;
}
/* Booking Form Styles End*/


/* Checkout Page */
.woocommerce table.shop_table tr, .woocommerce table.shop_table th{
	border:none !important;
}
.shop_table td{
	text-align:right !important;
}
.woocommerce table.shop_table td{
	border:none !important;
}
.woocommerce table.shop_table{
	border-radius:10px !important;
}
tr.cart-subtotal{
	border:1px solid black !important;
}
.product-name > span:nth-child(2) {
  font-size: 1.4rem;
}
/* Checkout Page End */

/* My Accoutn Page */
.page-header .entry-title{
	text-align:center;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: left;
    width: 100%;
}
.woocommerce-account .woocommerce-MyAccount-navigation  > ul{
	background: #f0f0f0;
    padding: 10px;
    margin: 0px 15px 0px 0px;
   	display: flex;
	    column-gap: 10px;
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 15px;
}
.woocommerce-account .woocommerce-MyAccount-content {
    float: right;
    width: 100%;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea{
	border:1px solid;
}
.woocommerce-button{
	background: var(--hapa-color-primary) !important;
    color: white !important;
	border-radius: 10px 10px 10px 10px !important;

}
.woocommerce-Input:focus, .input-text:focus{
	border-color: var(--hapa-color-primary) !important;
}

.woocommerce-MyAccount-navigation ul{
	list-style: none;
    margin: 0px;
    padding: 0px;
}
.woocommerce-MyAccount-navigation ul li a{
	 padding: 6px 6px !important;
	    min-width: 150px;
	    display: flex;
    flex-direction: column;
	
}
.woocommerce-MyAccount-navigation ul li.is-active a{
	 background:var(--hapa-color-primary) !important;
	
}
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li.is-active i{
	 color:white !important;
	
}
.woocommerce-MyAccount-navigation ul > li > a{
	    font-size: 1.2rem !important;
	
}
.woocommerce-MyAccount-navigation ul > li a:hover, .woocommerce-MyAccount-navigation ul > li > a:hover > i{
	    color:white !important;
	
}



   
/* My Account Page End */
/* Mobile and Tablet Styles */
@media only screen and (max-width: 1000px){
	
/* 	Myaccount Mobile */
	.woocommerce-MyAccount-navigation ul li a{
    padding: 6px 6px !important;
    min-width: 150px;
    display: flex;
    flex-direction: row;
    width: 100%;
    column-gap: 10px;
}
	.woocommerce-account .woocommerce-MyAccount-navigation  > ul{
	flex-direction: row;
		row-gap: 10px;
}

/* myaccount Mobile end */
	
	.amenities-list{

	column-count: 1;
	
}

	.property-billing-detail{
	display:flex !important;
		flex-direction:column !important;
}
	.property-billing-detail p{
		width:100% !important;
	}
	
	/* Single Property Style Mobile */
	.hero_slider_main .swiper-button-next, .hero_slider_main  .swiper-button-prev{
		top : 30% !important;
	}
		.new-gallery{
		display:none !important;
	}
	.layout-card{
		width:100%;
	
	padding: 5px;
}
	.show-all-btn{
		display:none !important;
	}
    .property-sidebar {
        padding: 20px;
    }
    #content-area {
        padding: 10px !important;
    }

    .content-area {
        padding: 0;
    }

    .swiper-container.hero_slider_main,
    .swiper-container.hero_slider_main .related-slide {
        height: auto;
    }

    .gallery-image {
        width: 100%;
        margin-bottom: 20px;
    }

    
    .block-body {
        padding: 20px 0;
    }

    .property-container {
        padding: 10px;
    }

    .swiper-container.hero_slider_main,
    .swiper-container.hero_slider_main .swiper-slide {
        height: 300px;
    }

    .product-gallery {
        flex-direction: column !important;
    }

   
	/* Single Property Style End */
	
	/* Search Form */
form.search-form .getAddress_autocomplete_container{
	min-width auto;
	width :100% !important;
}
form.search-form .s-input, form.search-form button{	
	width: 46%;
}
	
	
}

body {
	--opacity50: 0.5; 
	--hapa-color-primary: var(--e-global-color-primary);
}

/* order page popup style */
@media (max-width: 767px) {
    .flex-wrap-mobile {
        flex-wrap: wrap;
    }
}

/* whatsapp sticky button  */
.whatsapp_chat{
    position: fixed;
    bottom: 5%;
    right: 35px;
    
    background-color: var(--hapa-color-primary) !important;;
    border-radius: 50%;
    padding: 10px;
    height: 60px;
    width: 60px;
	z-index: 414;
}
	.whatsapp_chat i{
		font-size: 40px;
    	color: #ffffff;
		position: absolute;
    	right: 13px;
	}
	
.woocommerce-MyAccount-navigation{
	margin-top:20px;
}
#customer_login{
	margin-top:30px;
}