/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

html {
  scroll-padding-top: 100px;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

a:hover {
	text-decoration: none !important;
}

.copyright , .copyright a {
	font-family: "DM Sans", Sans-serif;
	font-size: 11px !important;
	letter-spacing: 0 !important;
	margin: 0;
	color: #E4DDD38C !important;
}

.copyright a:hover {
	color: #E4DDD3 !important;
}

.ci-rptt {
	display: inline-block;
    background-image: url('assets/images/fav-readyplanet-traveltech-w.png');
    background-position: 0 0;
    background-repeat: no-repeat;
	background-size: contain;
    width: 14px;
    height: 14px;
    margin: 0 2px;
    vertical-align: -4px;
}

@media (min-width: 768px) {
	.show-sm {
		display: none !important;
	}
}


.logo-spin {
  animation: floatSpin 18s linear infinite;
}

@keyframes floatSpin {
  to {
    transform: rotate(-360deg)
  }
}

.menu-lang .elementor-icon-list-text {
	font-family: "DM Sans", "Noto Serif Thai", sans-serif !important;
}

.menu-lang a .elementor-icon-list-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background: #E4DDD3;

  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.menu-lang a:hover .elementor-icon-list-text::after {
  transform: scaleX(1);
}

/* nav menu */
body:not(.elementor-editor-active):not(.elementor-preview-active) .nav-menu-tranparent {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
    z-index: 99;

    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity .35s ease, transform .35s ease;
}

/* scroll > 0 */
body:not(.elementor-editor-active):not(.elementor-preview-active) .nav-menu-tranparent.is-fixed {
    position: fixed !important;
}

/* Sticky Menu */
body:not(.elementor-editor-active):not(.elementor-preview-active) .nav-menu-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
	margin: 0 !important;
    width: 100% !important;
  	max-width: 100% !important;
    z-index: 100;
	box-sizing: border-box !important;
	overflow: hidden !important;
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
	border-bottom: 1px solid rgba(228, 221, 211, 0.2);
	box-shadow: 0 15px 25px rgba(0, 0, 0, 0.1);

    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
	transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}

.nav-menu-sticky.is-fixed,
.nav-menu-sticky.is-fixed * {
  box-sizing: border-box;
}

/* scroll > 100 */
body.is-scrolled:not(.elementor-editor-active):not(.elementor-preview-active) .nav-menu-tranparent {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
}

body.is-scrolled:not(.elementor-editor-active):not(.elementor-preview-active) .nav-menu-sticky {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
/* end nav menu */


.btn-hover .elementor-button-text {
  position: relative;
}

/* เส้น animation */
.btn-hover .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 1px;
  background: #873B00;

  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.btn-hover.theme-2 .elementor-button-text::after{
	background: #BF9066;
}

.btn-hover:hover .elementor-button-text::after {
  transform: scaleX(1);
}

/* headline hero */
.headline-hero {
	position: absolute !important;
	bottom: 6% !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	width: 100%;
}

.headline-hero span {
	font-style: italic;
}

@media (min-width: 768px) {
	.headline-hero {
		width: 60%;
	}
}

/* rooms slide home */
.headline-italic span {
	font-style: italic;
}

.rooms-slide-home .room-item {
	position: relative;
}

.rooms-slide-home .room-image {
	overflow: hidden;
	position: relative;
}

.rooms-slide-home .room-image img {
	object-fit: cover  !important;
	width: 100%  !important;
	height: 600px  !important;
	-moz-transition: all 0.5s !important;
    -webkit-transition: all 0.5s !important;
    transition: all 0.5s !important;
}


.rooms-slide-home .room-item-detail {
	position: absolute !important;
	bottom: 5% !important;
	right: 5% !important;
}

.rooms-slide-home .room-item:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 55%, rgba(0, 0, 0, .5));
}

.room-item-detail:hover .elementor-heading-title, .room-item-detail:hover .elementor-icon {
	color: #FFF !important;
}

@media (min-width: 768px) {
	.rooms-slide-home .room-image img {
		height: 700px  !important;
	}
	
	body:not(.elementor-editor-active):not(.elementor-preview-active) .explore-sec .sec-sticky {
		position: sticky;
		top: 100px;
		transform: none;
		align-self: flex-start;
  }
	
}

@media (min-width: 1025px) {
	.rooms-slide-home .room-image img {
		height: 80vh  !important;
	}
	
	.rooms-slide-home .room-item-detail {
		bottom: 7% !important;
	}
}

/* facilities home */

.facilities-item .detail {
	position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 2;
}

.facilities-item .zoom-hover {
	overflow: hidden;
	position: relative;
}

.text-hover-line .elementor-heading-title {
  position: relative;
}

.text-hover-line .elementor-heading-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 1px;
  background: currentColor;

  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.facilities-item:hover .text-hover-line .elementor-heading-title::after {
  transform: scaleX(1);
}

.facilities-item .btn-cta:hover .elementor-icon {
	border-color: transparent !important;
}

.near-map .e-hotspot--link {
	border: 1px solid #7e3f155c;
    border-radius: 60px;
    padding: 20px;
}

@media (min-width: 768px) {
	.facilities-item .zoom-hover img {
		height: 550px  !important;
	}
}

@media (min-width: 1025px) {
	.facilities-item .zoom-hover img {
		height: 75vh  !important;
	}
}
