/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: A plain-vanilla &amp; lightweight theme for Elementor page builder
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 2.7.1.1705681107
Updated: 2024-01-19 16:18:27

*/

header:not(.she-header) .on-scroll {
    display: none;
}

header.she-header .on-scroll {
    display: inline-flex;
}

header:not(.she-header) .no-scroll {
    display: inline-flex;
}

header.she-header .no-scroll {
    display: none;
}


/* Menu Boot Button */

.menu_btn {
    border-radius: 9px;
    background-color: #434b50;
    border: 1px solid #ebddc3!important;
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: row;
}

.menu_btn a {
    min-width: 50px;
    height: 43px;
    margin: auto;
    border-radius: 9px;
    margin-right: 30px;
}

.menu_btn a:after,
.menu_btn a:hover:after {
    display: none;
}

.menu_btn:hover {
    background-color: #ebddc3;
    border: 1px solid #434b50!important;
}

.menu_btn:hover a,
.menu_btn a:hover {
    color: #434b50!important;
    min-width: 50px;
    height: 43px;
}


/* Yellow Texts */

.line {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.line.visible {
    opacity: 1;
    transform: translateY(0);
}

.yellow-text .line,
.dynamic-paragraph .line {
    text-align: center;
    color: var( --e-global-color-text);
    font-family: var( --e-global-typography-text-font-family), Sans-serif;
    font-size: var( --e-global-typography-text-font-size);
    font-weight: var( --e-global-typography-text-font-weight);
    line-height: var( --e-global-typography-text-line-height);
}


/* Yellow Big Text  */

.yellow-text.h2 .line,
.dynamic-paragraph.h2 .line {
    color: var( --e-global-color-text);
    font-family: var( --e-global-typography-secondary-font-family), Sans-serif;
    font-size: var( --e-global-typography-secondary-font-size);
    font-weight: var( --e-global-typography-secondary-font-weight);
    line-height: var( --e-global-typography-secondary-line-height);
}

div#txt01 {
    -webkit-animation-delay: 0.05s;
    animation-delay: 0.05s;
}

div#txt01>p {
    -webkit-animation-delay: 0.25s;
    animation-delay: 0.25s;
}

.slide-up {
    -webkit-animation: slide-up 0.85s cubic-bezier(0.65, 0, 0.35, 1) both;
    animation: slide-up 0.85s cubic-bezier(0.65, 0, 0.35, 1) both;
}


/* 2 Columns */

.image-block {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    will-change: transform, opacity;
    transition: opacity 0.5s ease;
    object-fit: cover;
}

.image-pin {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

.text-block {
    min-height: 100vh;
}

.image-block-1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    will-change: transform, opacity;
    transition: opacity 0.5s ease;
    object-fit: cover;
}

.image-pin-1 {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

.text-block-1 {
    min-height: 100vh;
}


/* Slitting lines on text */

.dynamic-split.justify div.line:not(:last-child) {
    text-align: justify;
    text-align-last: justify;
}

.reveal-text.revealed {
    margin-bottom: 1em;
}


/* Title Wave Animation */

.wave-animation .elementor-heading-title {
    display: inline-block;
    white-space: nowrap;
}

.wave-animation .elementor-heading-title span {
    display: inline-block;
    opacity: 0;
    transform: translateY(10px);
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    font-family: inherit;
    line-height: inherit;
}


/* .wave-animation.animate .elementor-heading-title span {
    animation: waveText 0.6s ease-in-out forwards;
    animation-delay: var(--index);
    -webkit-animation: waveText 0.6s ease-in-out forwards;
    -webkit-animation-delay: var(--index);
} */

.wave-animation.animate .elementor-heading-title span {
    animation: waveFadeIn 0.6s ease forwards;
    animation-delay: var(--index);
    opacity: 0;
    display: inline-block;
}


/* BTN - Stay */

.btn_width a.elementor-button {
    width: 595px;
    white-space: nowrap;
}


/* Aspect Ratios */

.aspect-3-2 img {
    /* Modern browsers */
    aspect-ratio: 3 / 2;
    width: 66vW;
    /* Fallback for older browsers */
    /* padding-bottom: 66.6667%; */
    /* 2 / 3 = 0.6667 */
}


/* Step Outside Section w/t images */

html {
    scroll-behavior: smooth;
}

.location-section {
    scroll-snap-type: y mandatory;
    overflow-y: scroll;
    /* height: 100vh; */
}

.location-section>.location-image {
    scroll-snap-align: start;
}

.location-image {
    position: relative;
    z-index: 999;
}

@keyframes waveFadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
    from {
        opacity: 0;
        transform: translateY(20px);
    }
}

@keyframes waveText {
    0% {
        transform: translateY(10px);
        opacity: 0;
    }
    50% {
        transform: translateY(-5px);
        opacity: 1;
    }
    100% {
        transform: translateY(0px);
        opacity: 1;
    }
}

@-webkit-keyframes slide-up {
    0% {
        transform: translateY(100px);
    }
    100% {
        transform: translateY(0);
    }
}

@keyframes slide-up {
    0% {
        transform: translateY(100px);
    }
    100% {
        transform: translateY(0);
    }
}


/* responsive rules */

.elementor-kit-14 {
    --e-global-typography-primary-font-size: clamp(40px, 8vw, 80px);
    --e-global-typography-secondary-font-size: clamp(24px, 4vw, 36px);
    --e-global-typography-text-font-size: clamp(16px, 3vw, 24px);
    --e-global-typography-accent-font-size: clamp(10px, 2vw, 12px);
}

.big-text>.e-con-inner {
    padding: 180px 10px;
}

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

header:not(.she-header) .on-scroll {
    display: inline-flex;
}

header.she-header .on-scroll {
    display: inline-flex;
}

header:not(.she-header) .no-scroll {
    display: inline-flex;
}

header.she-header .no-scroll {
    display: none;
}


    .big-text>.e-con-inner {
        padding: 50px 10px;
    }
    .btn_width a.elementor-button {
        max-width: 80vW;
        white-space: nowrap;
    }
    .wave-animation .elementor-heading-title {
        white-space: wrap;
    }
    .dynamic-split.justify div.line:not(:last-child) {
        text-align: left;
        text-align-last: left;
    }
}

@media screen and (max-width:768px) {
    .big-text>.e-con-inner {
        padding: 50px 15px!important;
    }
    .btn_width a.elementor-button {
        max-width: 90vW;
        white-space: nowrap;
    }
}