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

/*************** ADD CUSTOM CSS HERE.   ***************/
.active_div_custom{
    padding: 10px;
    background: #1f70aa;
    color: #fff;
    font-weight: bold;
    text-align:center
}
.note_vip{
    text-align: center;
    padding: 10px;
    background: #1f70aa;
    color: #fff;
    font-weight: bold;
}
.copy-right{
    font-size: 12px; 
	line-height:16px;
}
.search_input{
	position:relative
}
.suggest{
	position: absolute;
    top: 0;
    transform: translateY(80%);
    width: 100%;
    background: #fff;
    z-index: 999;
    padding: 10px;
    font-size: 16px;
    border-radius: 4px;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    text-align: center;
}
.flex_filter select{
	min-width:200px;
}
.flex_filter{
	gap:10px !important;
}
.flex_filter label{
	display: inline-block;
    margin-bottom: 10px;
}
.flex_form{
	display: flex;
    align-items: center;
    gap: 4px;
	margin-bottom: 15px;
}
#custom_login_form.re_active{
	display:none;
}
#custom_registration_form.active{
	display:block;
}
#forgot-password-form{
    display:none;
}
#forgot-password-form.active{
    display:block;
}
#custom_login_form button,
#custom_registration_form button,
#forgot-password-form button{
	background-color: #1f70aa;
    color: #fff;
    border: 2px solid #1f70aa;
    cursor: pointer;
    border-radius: 0 8px;
    width: 100%;
    padding: 16px;
    min-height: unset;
    line-height: unset;
    text-transform: capitalize;
    font-weight: 300;
}
.box_flex{
	display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
	gap: 6px;
}
.custom_img_box .box-text{
    padding-bottom:0;
}
.liked path{
	fill: #d13f1b;
    stroke: #d13f1b;
    stroke-width: 3px;
    fill-opacity: 1;
}
.box_flex a{
	color: #1f70aa;
}
#custom_login_form,
#custom_registration_form{
	margin-bottom:0;
}
.oneall_social_login{
	max-height: 35px;
    display: flex;
    align-items: center;
	margin-top:15px;
}
.oneall_social_login_providers{
	min-height:35px !important;
	flex:1;
	position:relative;
}
.oneall_social_login_providers iframe{
	width: 40px !important;
    height: 36px !important;
    background-color: transparent;
    overflow: hidden;
}
#custom_login_form>a{
	display:flex;
	justify-content: center;
}
#custom_registration_form{
	display:none;
}
.oneall_social_login_providers:after{
    content: '';
    width: 4px;
    height: 35px;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
}
.flex_form label{
	margin-bottom:0;
	color: #3e3e3e;
    font-size: 12px !important;
    font-weight: 400;
    line-height: 14px;
}
#custom_auth_container label{
	color: #3e3e3e;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
}
#remember_me{
	 background: url(data:image/svg+xml;utf8,%0A%20%20%20%20%3Csvg%20width%3D%2210%22%20height%3D%2210%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M9.79.22a.72.72%200%200%200-1.04%200L3.72%206.15l-2.47-2.6a.72.72%200%200%200-1.04%200c-.28.29-.28.8%200%201.09l3%203.15c.15.17.31.21.51.21s.36-.08.52-.21L9.8%201.31c.28-.29.28-.8%200-1.09z%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E%0A) center center / 50% no-repeat, #1f70aa;
    border-width: 0;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    border: 1px solid #dfdfdf;
    border-radius: 4px;
    margin: 0;
    width: 24px !important;
    height: 24px !important;
}
.flex_search_wrap{
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 0px 0 30px;
    font-size: 20px;
    display: flex;
}
.flex_search input:focus{
    box-shadow: #7f7f7fa3 0px 2px;
	color:gray;
}
.flex_search {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    width: auto;
    margin: auto;
    box-shadow: #dfdfdf 0px 0px 30px 0px;
    border-radius: 30px;
    flex-direction: row;
    justify-content: center;
    align-items: baseline;
    gap: 32px;
    padding: 8px 8px 8px 32px;
    display: flex;
}
.label_search{
    color:#5a5a5a;
    min-width: 165px;
    font-size: 20px !important;
}
.flex_search input{
    margin-bottom: 0 !important;
    caret-color: var(--grey5);
    box-shadow: #dfdfdf 0px 1px;
    color: #1f70aa;
    text-align: center;
    background-color: #0000;
    border: none;
    border-radius: 0;
    padding: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 4px;
    width: 260px !important;
}
.flex_search input::-webkit-input-placeholder { color: gray; }  /* Chrome, Safari */
.flex_search input:-moz-placeholder { color: gray; }           /* Firefox 4-18 */
.flex_search input::-moz-placeholder { color: gray; }          /* Firefox 19+ */
.flex_search input:-ms-input-placeholder { color: gray; } 
.flex_search input{
	color: gray;
}
.group_search{
    display: flex;
    align-items: center;
}
.search_submit{
    display: flex;
    align-items: center;
    justify-content: center;
}
.search_submit {
    color: #fff;
    background-color: #1f70aa;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 47px;
    height: 47px;
    padding: 16px;
    font-family: Open Sans;
    font-size: 15px;
    font-weight: 600;
    line-height: 15px;
    display: flex;
}
.feature-item_item img{
    width:24px;
    height:25px;
}
.feature-item_item:hover{
    border-bottom: 2px solid #dfdfdf;
}
.feature-item_item.active{
    border-bottom: 2px solid #000;
}
.price_html_custom{
    color: #1f70aa !important;
    font-weight: 700 !important;
    font-size: 20px;
}
._9zwDTq_pathUnlikedHeartOnImage{
    fill: #272727;
    fill-opacity: .6;
    stroke: #fff;
    stroke-width: 3px;
}
.like_btn{
    position: absolute;
    top: 10px;
    z-index: 2;
    right: 10px;
}
.off-canvas-right .mfp-content, .off-canvas-left .mfp-content {
    --drawer-width: 100% !important; 
}
.mfp-close{
    width: 22px;
    height: 22px;
    right:10px;
}
.off-canvas .sidebar-menu{
    padding-top:50px;
}
.custom_img_box img{
    aspect-ratio: 1;
    object-fit: cover;
    object-position: center;
    scroll-snap-align: start;
    width: 100%;
    height: 100%;
}
.feature-item_item{
    text-align: center;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 5px;
    min-width: 70px;
    border-bottom: 2px solid transparent;
    padding-bottom: 5px;
    cursor: pointer;
}
.features-list{
    display: flex;
    align-items: center;
	gap:4px;
}
.feature-item_item span{
    color: #3e3e3e;
    font-size: 12px;
    font-weight: 400;
    line-height: 14px;
}
.col_gallery .col-inner{
    display: flex;
    flex-wrap: wrap;
    gap:10px;
    justify-content: space-between;
}
.col_gallery .col-inner .img:first-child{
    max-width:100%;
}
.col_gallery .col-inner .img{
    max-width:calc(50% - 5px);
    margin-bottom: 0;
}
html.active{
    overflow: hidden;
}
.col_gallery img{
    aspect-ratio: 1.5;
    object-fit: cover;
    object-position: center;
    scroll-snap-align: start;
    width: 100%;
    height: 100%;
}
#room_container.active {
    height: 100vh;
    position: fixed;
    top: 0;
    left: 50%;
    width: 100vw;
    transform: translate(-50%, 0);
    z-index: 9999;
    display: block;
}
#room_container{
    display: none;
}
#room_container.active>.row{
    max-width:1200px;
}
#room_container>.row,
#room_container>.row>.col,
#room_container>.row>.col>.col-inner
{
    height: 100%;
}
#room_container>.row{
    background: #fff;
}
.col_scroll{
    overflow-y: scroll;
}
#room_container.active .bg_row{
    background: #000000c7;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    z-index: -1;
}
/* Ẩn scrollbar trên Chrome, Edge và Safari */
#room_container ::-webkit-scrollbar {
    display: none;
}

/* Ẩn scrollbar trên Firefox */
#room_container {
    scrollbar-width: none;
}

/* Ẩn scrollbar trên IE & Edge */
#room_container {
    -ms-overflow-style: none;
}
.close_popup{
    position: absolute;
    top: 0;
    z-index: 9;
    right: 0;
    font-size: 25px;
    font-weight: bold;
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.price_detail{
    font-size: 30px;
    font-weight: 300;
    padding-top: 30px;
}
.info_detail{
    font-size: 15px;
}
.title_desc{
    font-size: 20px;
    line-height: normal;
    margin-bottom: 8px;
}
.col_custom_gap .col-inner{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.col_custom_gap *:last-child{
    margin-bottom: 0;
}
.icons_box{
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #dfdfdf;
    padding-bottom: 15px;
    margin-bottom: 10px;
}
.icon_box_custom svg{
    fill: #1f70aa;
}
.icon_box_custom{
    margin: 0 !important;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
    display: flex;
    color: #1f70aa !important;
    font-size: 15px !important;
    text-transform: capitalize;
    font-weight: 300;
    padding: 0;
}
.features-list{
    margin-bottom: 24px;
}
.loadding_custom{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color:#fff;
}
.custom_img_box .box-text-inner{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.custom_img_box .text{
    display: flex;
    flex-direction: column;
    gap:6px;
}
.nav-dropdown-default{
	padding:5px;
}
.group_view_like{
    color: #5a5a5a !important;
    font-weight: 700 !important;
}
#masthead{
    border-bottom: 1px solid #dfdfdf;
}
#footer{
    display: none !important;
}
.title_h1 *{
	font-size: 56px;
    font-weight: 300 !important;
    line-height: 110%;
}
.header_logo{
	padding:5px;
}
.icon_box_custom .liked path{
	fill:#d13f1b;
	stroke:unset !important;
}
.page-wrapper,
.content-area{
	min-height: calc(100vh - 64px);
}
@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
	#room_container>.row, #room_container>.row>.col, #room_container>.row>.col>.col-inner{
		height:auto;
	}
	.features-list_warp{
		white-space: nowrap;
		scroll-snap-type: x mandatory;
		width: 100%;
		position: relative;
		overflow-x: auto;
	}
	.close_popup{
		font-size:30px;
	}
	.price_detail{
		font-size:30px;
        line-height: 40px;
	}
	.col_scroll{
		overflow:unset;
	}
	#room_container.active{
		height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        transform: translate(0%, 0);
        z-index: 9999;
        display: block;
        overflow: scroll;
        background: #fff;
	}
	.col_gallery .col-inner .img {
        scroll-snap-align: start;
        flex-shrink: 0;
        width: 100vw !important;
        max-width: unset !important;
    }
	.col_gallery .img .img-inner{
		width:100vw;
	}
	.col_gallery .col-inner{
		flex-wrap:nowrap;
	}
	.col_gallery>.col{
		white-space: nowrap;
		scroll-snap-type: x mandatory;
		width: 100%;
		position: relative;
		overflow-x: auto;
	}
	.col_gallery>.col>.col-inner{
		flex-direction: row;
		align-items: center;
		display: flex;
	}
	.col_scroll{
		padding-bottom:0 !important;
	}
	.col_custom_gap{
		padding-bottom: 10px !important;
	}
	.flex_search{
		flex-direction:column;
		justify-content: center;
		align-items: flex-start;
		gap: 8px;
		width: 100%;
		padding: 0;
		font-size: 20px;
		display: flex;
		margin: auto;
		box-shadow: unset;
		border-radius: unset;
	}
	.group_search{
		box-shadow: #dfdfdf 0px 0px 30px 0px;
		cursor: pointer;
		text-align: center;
		border-radius: 30px;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 8px;
		width: auto;
		min-width: 100%;
		padding: 8px 16px;
		font-size: 16px;
		display: flex;
		margin-bottom:16px;
	}
	.page-wrapper{
		padding-top:15px;
	}
	.flex_filter .flex_item{
		width:100%;
	}
	.flex_filter select{
		margin-bottom:0;
		font-size: 12px;
	}
	.flex_filter{
		flex-direction:column;
	}
	.label_search{
		color: #3e3e3e;
		font-size: 12px !important;
		font-weight: 400;
		line-height: 14px;
	}
	.search_submit svg {
        width: 16px;
        height: 16px;
    }
	.search_submit {
		color: #2a2a33;
		background-color: unset;
		border-radius: 50%;
		justify-content: center;
		align-items: center;
		width: 24px;
		height: 24px;
		padding: 0;
		font-family: Open Sans;
		font-size: 10px;
		font-weight: 600;
		line-height: 15px;
		display: flex;
	}
	.flex_search input {
        font-size: 14px;
        height: 16px;
        box-shadow: unset;
    }
	.flex_search_wrap{
		padding-top: 0;
		padding-bottom:15px;
	}
	.menu-item:last-child {
        border-top: 1px solid #e2e2e2 !important;
        padding: 32px 0;
        margin-top: 28px !important;
    }
	.nav-sidebar.nav-vertical>li+li{
	    border:unset;
	}
/* 	.flex_search_wrap{
		display:none;
	} */
}