/* 
Theme Name: Hello Elementor Child
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://elementor.com/
Template: hello-elementor
Version: 2.0.4
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
*/

/* General */
a {
    text-decoration: none !important;
}

.hero-video {
    height: calc(100vh - 100px);
}

.tag-hero {
    height: 75px;
    width: 280px;
}

.tag-floating {
    height: 40px;
    width: 110px;
}

.close-popup a {
	outline: none;
}

@media only screen and (max-width: 820px) {
	.hero-video {
		height: calc(50vh - 60px);
	}
	.tag-hero {
		height: 40px;
		width: 140px;
	}
	.hero-page-title a {
		font-size: 12px;
		line-height: 24px;
		padding-bottom: 15px;
	}
}

.hero-page-title a {
    font-family: "Montserrat", Sans-serif;
    font-size: 1vw;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 34px;
    color: #FFF !important;   
}

.fulldiv-link a:hover {
	color: #A98973 !important;
}
/*Swiper*/
.swiper-pagination {
    padding-bottom: 35px;
}
.swiper-pagination-bullet {
    border: solid #FFF 1.8px;
}

/* Menus*/
.header-config {
    height: 100px;
	min-width: 100%;
}
@media only screen and (max-width: 600px) {
	.header-config {
		height: 60px;
	}
}

.mobile-menu-divider .menu-item {
		border-bottom: solid 1px #FFF;
}

.menu-header-left {
    min-width: 670px;
    display: block;
}
.menu-header a {
    font-family: "Montserrat", Sans-serif;
    font-weight: 500;
    letter-spacing: 3px;
    font-size: 0.67vw;
    text-transform: uppercase;
    color: #FFFFFF;
}
@media only screen and (max-width: 1470px) {
	.menu-header a {
		font-size: 0.60vw;
	}

}

.menu-header a:hover {
    color: #A98974;
    font-weight: 600;
}

.menu-header .elementor-item-active {
    color: #FFF;
    font-weight: 600;
}

.menu-footer a {
    font-family: "Montserrat", Sans-serif;
    font-weight: 500;
    letter-spacing: 3px;
    font-size:  0.6vw;
    text-transform: uppercase;
    color: #A98974;
}

.menu-footer a:hover {
    color: ##585357;
}

.menu-footer .elementor-item-active {
    color: #FFFFFF;
    font-weight: 600;
}

.menu-footer .elementor-nav-menu a {
    padding: 2px !important;
}

.sub-menu {
    margin-top: 30px !important;
    margin-left: -25px !important;
}

.contact-btn {
    border: solid #FFF 1.8px !important;
    padding: 0px 1vw 0px 1px !important;
}
@media only screen and (max-width: 1630px) {
	
.contact-btn {
    padding: 0px 1.5vw 0px 1px !important;
}
	
}
.contact-btn:hover {
    background-color: #A98974;
    border-color: #A98974 !important;
}
.contact-btn a:hover {
    color: #FFF;
}

/*CONTACT FORM*/


.elementor-field-group > label {
    padding-bottom: 0px;
    position: absolute;
    top: 55px;
}
#btn-send {
    position: absolute;
    bottom: 80px;
}

input:focus {
      outline: none;
}
  
select:focus {
      outline: none;
}
  
input[type="text"], input[type="tel"],  input[type="email"] {
      padding-left: 0;
  }
.elementor-field-textual {
      padding-left: 0px;
}
  
.elementor-select-wrapper .select-caret-down-wrapper svg {
      width: 1.5em;
      fill: #FFFFFF !important;
      height: 100px
}
  
#form-field-message {
    padding: 20px 10px 0;
    border: solid #585357 2px;
    margin-top: 50px;
}
  
.elementor-field-type-textarea label {
      display: none;
}
.elementor-g-recaptcha {
      position: absolute;
      padding-top: 30px;
      left:-50px;
}
  
.grecaptcha-badge {
       filter: grayscale(100%);
       transform: scale(0.5);
	   display: none;	
}
  
.elementor-field-group-marketing_effort select {
     font-size: 12px !important;
      
      text-transform: uppercase !important;
      color: #585357 !important;
}

@media only screen and (max-width: 600px) {
	#btn-send {
		position: absolute;
		bottom: 0px;
	}
	.elementor-g-recaptcha {
      position: absolute;
      padding-top: 0px;
      left:-50px;
	}
}

/* Amenities */

.bullet-title {
    font-family: "Montserrat", Sans-serif;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 700;
    line-height: 25px;
    letter-spacing: 2px;
}


.bullet-list-mobile ul {
		padding: 0;
}

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

	.bullet-list-mobile ul {
		padding: 0;
	}

}

.full-width-pic-caption figcaption {
    bottom: 10px;
    position: absolute;
    left: 30px;
}

/* Location */
.carousel-caption figcaption {
    padding-top: 2.8rem;
}
.carousel-caption .swiper-pagination {
    margin-bottom: 80px;
}

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

	.carousel-caption figcaption {
		padding: 1rem 2.5rem;
	}
}

 /* Initialize the counter */
        .location-list {
            counter-reset: my-counter;
    }
    .location-list-title {
        font-family: "Montserrat", Sans-serif;
        color: #A98974;
        font-size: 0.9rem;
        letter-spacing: 2px;
        padding-left: 42px;
        padding-bottom: 5px;
        font-weight: 600;
        text-transform: uppercase;
        
    }
    .location-list  ol {
        font-family: "Montserrat", Sans-serif;
        list-style: none;
        padding-left: 0;
      }
    
    .location-list  ol li {
        counter-increment: my-counter;
        margin-bottom: 0.4em;
        color: #000;
        font-size: 0.9rem;
        font-weight: 400;
        display: flex; /* Use flexbox */
        align-items: flex-start; /* Align items at the start */
      }
    
    .location-list  ol li::before {
        content: counter(my-counter);
        font-weight: bold; /* Change the font weight of the numbers */
        color: #000; /* Change the color of the numbers */
        margin-right: 1em;
        font-size: 0.9rem;
        width: 2em; /* Fixed width for the numbers */
        display: inline-block; /* Ensure inline alignment */
        text-align: right; /* Align numbers to the right */
     }


@media only screen and (max-width: 600px) {
	
	.scroll-container {
        overflow-x: auto;
        width: 100%;
    }
    .column {
        padding: 1rem;
        width: 320px;
    }
    .column:not(:last-child) {
        border-right: 1px solid #C5C5C5;
    }
    /* Initialize the counter */
    .location-list {
            counter-reset: my-counter;
            display: grid;
            grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
            width: 1100px;
            margin: 0 auto;
    }
    .location-list-title {
        font-family: "Montserrat", Sans-serif;
        color: #A98974;
        font-size: 0.9rem;
        letter-spacing: 2px;
        padding-top: 10px;
		padding-left: 42px;
        padding-bottom: 5px;
        font-weight: 600;
        text-transform: uppercase;
        
    }
    
    .location-list  ol li {
        counter-increment: my-counter;
        margin-bottom: 0.4em;
        color: #585357;
        font-size: 0.9rem;
        font-weight: 400;
        display: flex; /* Use flexbox */
        align-items: flex-start; /* Align items at the start */
      }
    
    .location-list  ol li::before {
        content: counter(my-counter);
        font-weight: bold; /* Change the font weight of the numbers */
        color: #000; /* Change the color of the numbers */
        margin-right: 1em;
        font-size: 0.9rem;
        width: 2em; /* Fixed width for the numbers */
        display: inline-block; /* Ensure inline alignment */
        text-align: right; /* Align numbers to the right */
     }


}

    .image-container {
      display: flex;
      width: auto; /* allow the container to expand based on content */
      overflow-x: auto; /* enable horizontal scrolling */
      overflow-y: hidden;
    }

    .left-image {
      flex: 0 0 94px; /* fix the width of the left image container */
      height: 500px; /* fix the height */
      position: sticky !important;
      left: 0;
      background-color: #E9E7E5;
    }

    .left-image img {
	  padding-left: 10px;
      width: 80%;
    }

    .right-image {
      flex: 0 0 829px; /* fix the width of the right image container */
      height: 500px; /* fix the height */
    }

    .right-image img {
      width: 100%;
      height: 100%;
    }

/* Gallery */
.golden-hover a {
    color: #6A6569 !important;
	letter-spacing: 2px;
}
.golden-hover a:hover {
     color: #A98973 !important;
}

/*Floorplans*/

.elemento-a, .accordion-href{
	cursor: pointer;
}
.header-download {
	position: absolute;
	left: -10px;
}

/* News */
.news-title {
	padding: 65px 0px 40px 0px;
}

@media only screen and (max-width: 600px) {
	.news-title {
		padding: 40px 0px 20px 0px;
	}
}
.self-hosted-news {
	width: auto !important;
	padding-top:50px;
}

.news-blocks {
	padding-top: 55px;
}

.news-blocks-title {
	font-family: "Lustria", Sans-serif;
	color: #A98974;
    text-transform: uppercase;
    letter-spacing: 6px;
    font-size: 2.188rem;
}

.news-blocks-h2 {
	font-family: "Lustria", Sans-serif;
	font-style: normal;
    font-size: 2rem;
	line-height: 55px;
	padding-top: 35px;
}

.news-blocks-text {
    padding-top: 25px;
	font-family: "Lustria", Sans-serif;
	line-height: 46px;
	font-weight: 400;
	font-size: 1.313rem;
}
.news-blocks img {
	padding-top: 60px;
}

.post-layout {
    display: flex;
    width: 100%;
	padding-bottom: 50px;
}

.post-text-column {
    width: 70%;
    padding-right: 20px;
	padding-top: 50px;
}

.post-image-column {
    width: 30%;
    display: flex;
    align-items: center;
}

.post-featured-image {
	object-fit: cover;
    height: 380px !important;
    object-position: center center;
}

/* Media query for mobile devices */
@media screen and (max-width: 600px) {
    .post-layout {
        flex-direction: column; /* Stack columns vertically */
		padding-bottom: 0px;
    }

    .post-text-column,
    .post-image-column {
        width: 100%; /* Each column takes full width */
        padding-right: 0; /* Remove right padding for full width */
        padding-top: 0px; /* Adjust padding for mobile */
		text-align: center;
    }

    .post-image-column {
        padding-top: 0; /* Remove extra padding on image column */
    }

    .post-featured-image {
        width: 100%;
        max-height: 800px !important; /* Adjust height to auto for responsive behavior */
		height: auto !important; /* Adjust height to auto for responsive behavior */
    }
	.news-blocks-h2 {
		font-size: 1.25rem;
		padding-top: 15px;
  		padding-bottom: 25px;
	}
}


@media only screen and (max-width: 600px) {
	.news-blocks {
		padding-top: 30px;
	}
	.news-blocks-title {
	    font-size: 1.25rem;
	}
	.news-blocks-text {
		font-size: 0.875rem;
		line-height: 23px;
	}
	.news-blocks img {
		padding-top: 25px;
	}

	
}

/* Floating buttons */
        .floating-buttons-container {
            position: fixed;
            bottom: 40vh;
            right: 0px;
            display: flex;
            flex-direction: column;
            gap: 10px; /* Space between the two buttons */
            font-family: "Montserrat", Sans-serif;
            font-weight: 600;
            font-size: 14px;
            line-height: 14px;
        }

        .floating-button {
            width: 140px;
            height: 55px;
            display: flex;
            align-items: center;
            justify-content: flex-start;
            padding: 0 10px;
            color: white;
            text-align: left;
            cursor: pointer;
            box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
            transform: translateX(150%); /* Start off-screen */
            opacity: 0;
            transition: transform 0.5s ease, opacity 0.5s ease;
        }

        .floating-button.video {
            background-color: #A98974; /* Background for the Video button */
            animation: slide-in 1.5s forwards 0.3s; /* 0.3s delay */
        }

        .floating-button.call {
            background-color: #2DB1F2; /* Background for the Call button */
            animation: slide-in 1.5s forwards 0.6s; /* 0.6s delay */

            -webkit-box-shadow:0px 0px 129px 18px rgba(255,255,255,0.9);
            -moz-box-shadow: 0px 0px 129px 18px rgba(255,255,255,0.9);
            box-shadow: 0px 0px 129px 18px rgba(255,255,255,0.9);

        }
@media only screen and (max-width: 600px) {
	 .floating-buttons-container {
		 bottom: 5vh;
		 font-size: 10px;
		 line-height: 10px;
	}
	.floating-button {
		width: 105px;
		height: 35px;
	}
	.floating-button .icon {
		width:20px;
		height:20px;
	}
}

        @keyframes slide-in {
            from {
                transform: translateX(150%);
                opacity: 0;
            }
            to {
                transform: translateX(0);
                opacity: 1;
            }
        }
        @keyframes blinker {  
            50% { opacity: 0; }
        }

        .floating-button a {
            color: white;
            text-decoration: none;
            display: flex;
            align-items: center;
            width: 100%;
            height: 100%;
            transition: transform 0.3s ease, color 0.3s ease;
        }

        .floating-button a:hover {
            color: white !important;
            transform: scale(1.05); /* Slight scale-up on hover */
        }

        .floating-button .icon {
            margin-right: 10px; /* Space between the icon and the title */
            width: 25px;
            height: 25px;
            flex-shrink: 0; /* Prevent the icon from shrinking */
        }

        .call-icon {
            animation: blinker 1s linear infinite;
        }

        .floating-button .icon img {
            width: 100%;
            height: 100%;
            transition: transform 0.3s ease; /* Smooth transition for icon */
        }

        .floating-button span {
            flex-grow: 0;
            text-align: left;
        }