/**
Theme Name: Astra
Theme URI: https://wpastra.com/
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Version: 4.13.9
Requires at least: 5.3
WC requires at least: 3.0
WC tested up to: 11.0.0
Tested up to: 7.0
Requires PHP: 5.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra
Domain Path: /languages
Tags: custom-menu, custom-logo, entertainment, one-column, two-columns, left-sidebar, e-commerce, right-sidebar, custom-colors, editor-style, featured-images, full-width-template, microformats, post-formats, rtl-language-support, theme-options, threaded-comments, translation-ready, blog
AMP: true

Astra WordPress Theme, Copyright 2020 WPAstra.
Astra is distributed under the terms of the GNU GPL.

Astra is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of.
Nicolas Gallagher and Jonathan Neal https://necolas.github.com/normalize.css/

Astra icon font is based on IcoMoon-Free vector icon by Keyamoon.
IcoMoon-Free vector icon distributed under terms of CC BY 4.0 or GPL. (https://creativecommons.org/licenses/by/4.0/ or https://www.gnu.org/licenses/gpl.html)
Source: http://keyamoon.com/

Flexibility is a JavaScript polyfill for Flexbox By Jonathan Neal, 10up. (https://github.com/jonathantneal/flexibility)
Licensed under MIT ( https://github.com/jonathantneal/flexibility/blob/master/LICENSE.md )

Screenshot image is a collage of actual sites created using the Astra WordPress Theme.

Icons used in the Screenshot image are all licensed under Creative Commons ( CC BY 4.0 ) License ( https://fontawesome.com/license/free )
https://fontawesome.com/v5.15/icons/store?style=solid
https://fontawesome.com/v5.15/icons/shopping-cart?style=solid
https://fontawesome.com/v5.15/icons/pen-square?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid

Illustrations used in the Screenshot images are all licensed under Creative Commons ( CC0 ) License ( https://gumroad.com/l/humaaans )
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/standing-24.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/sitting-2.png

Hand-drawn illustrations used are created by Brainstorm Force and released under Creative Commons ( CC0 ) License.
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/girl-with-image-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/boy-with-code-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/web-browser.png

The same site as screenshot can be imported from here https://websitedemos.net/web-design-agency-08/.

For more information, refer to this document on how to create a page like in the screenshot - https://wpastra.com/docs/replicating-the-screenshot/.

Astra default breadcrumb is based on Breadcrumb Trail by Justin Tadlock. (https://github.com/justintadlock/breadcrumb-trail)
Breadcrumb Trail is distributed under the terms of the GNU GPL v2 or later.

Astra local fonts feature is based on Webfonts Loader by WordPress Themes Team (WPTT). (https://github.com/WPTT/webfont-loader)
Licensed under MIT ( https://github.com/WPTT/webfont-loader/blob/master/LICENSE )

/* Note: The CSS files are loaded from assets/css/ folder. */

/* =========================================================
   SHANTAI RMC - GLOBAL HEADER
   Theme Colors:
   Yellow: #fdcf09
   Black:  #000000
   Font:   Montserrat
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');


/* =========================
   HEADER WRAPPER
========================= */

.shantai-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    font-family: 'Montserrat', sans-serif;
    background: transparent;
    transition:
        background-color 0.4s ease,
        box-shadow 0.4s ease,
        backdrop-filter 0.4s ease,
        padding 0.4s ease;
}

/* Header after scrolling */

.shantai-header.scrolled {
    position: fixed;
    top: 0;
    background: rgba(0, 0, 0, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.20);
    animation: shantaiHeaderDown 0.45s ease forwards;
}

@keyframes shantaiHeaderDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}


/* =========================
   HEADER CONTAINER
========================= */

.shantai-header-inner {
    width: 92%;
    max-width: 1440px;
    min-height: 92px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
    transition: min-height 0.4s ease;
}

.shantai-header.scrolled .shantai-header-inner {
    min-height: 76px;
}


/* =========================
   LOGO
========================= */

.shantai-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.shantai-logo img {
    display: block;
    width: auto;
    max-width: 280px;
    max-height: 95px;
    object-fit: contain;
    transition: transform 0.4s ease, max-height 0.4s ease;
}

/* Logo hover */

.shantai-logo:hover img {
    transform: scale(1.04);
}


/* Logo size after scrolling */
.shantai-header.scrolled .shantai-logo img {
    max-height: 78px;
}


/* =========================
   DESKTOP NAVIGATION
========================= */

.shantai-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
}

.shantai-menu {
    display: flex;
    align-items: center;
    justify-content: center;

    list-style: none;
    margin: 0;
    padding: 0;

    gap: 8px;
}

.shantai-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.shantai-menu li a {
    position: relative;

    display: inline-flex;
    align-items: center;

    padding: 12px 14px;

    color: #ffffff;
    text-decoration: none;

    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.2px;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

/* Animated underline */

.shantai-menu li a::after {
    content: "";

    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 5px;

    height: 2px;

    background: #fdcf09;

    transform: scaleX(0);
    transform-origin: center;

    transition: transform 0.35s ease;
}

.shantai-menu li a:hover {
    color: #fdcf09;
    transform: translateY(-2px);
}

.shantai-menu li a:hover::after,
.shantai-menu li.current-menu-item a::after {
    transform: scaleX(1);
}


/* =========================
   LET'S TALK BUTTON
========================= */

.shantai-talk-btn {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 135px;
    height: 48px;

    padding: 0 22px;

    border-radius: 50px;

    background: #fdcf09;
    color: #000000 !important;

    text-decoration: none !important;

    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.2px;

    overflow: hidden;

    box-shadow: 0 6px 20px rgba(253, 207, 9, 0.25);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease;
}

/* Button shine */

.shantai-talk-btn::before {
    content: "";

    position: absolute;
    top: 0;
    left: -120%;

    width: 70%;
    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.55),
        transparent
    );

    transform: skewX(-20deg);

    transition: left 0.65s ease;
}

.shantai-talk-btn:hover::before {
    left: 140%;
}

.shantai-talk-btn:hover {
    background: #ffffff;
    color: #000000 !important;

    transform: translateY(-3px);

    box-shadow:
        0 10px 28px rgba(253, 207, 9, 0.35);
}


/* =========================
   MOBILE MENU BUTTON
========================= */

.shantai-mobile-toggle {
    display: none;

    width: 45px;
    height: 45px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #fdcf09;

    cursor: pointer;

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

    flex-direction: column;
    gap: 5px;

    transition:
        transform 0.3s ease,
        background 0.3s ease;
}

.shantai-mobile-toggle:hover {
    transform: rotate(5deg) scale(1.05);
}

.shantai-mobile-toggle span {
    display: block;

    width: 20px;
    height: 2px;

    background: #000000;

    border-radius: 5px;

    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
}


/* Hamburger active animation */

.shantai-mobile-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.shantai-mobile-toggle.active span:nth-child(2) {
    opacity: 0;
}

.shantai-mobile-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* =========================
   MOBILE MENU PANEL
========================= */

.shantai-mobile-menu {
    display: none;

    position: absolute;

    top: 100%;
    left: 0;

    width: 100%;

    padding: 15px 20px 25px;

    background: rgba(0, 0, 0, 0.97);

    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);

    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);

    opacity: 0;
    visibility: hidden;

    transform: translateY(-15px);

    transition:
        opacity 0.35s ease,
        visibility 0.35s ease,
        transform 0.35s ease;
}

.shantai-mobile-menu.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* Mobile links */

.shantai-mobile-menu ul {
    list-style: none;

    margin: 0;
    padding: 0;
}

.shantai-mobile-menu li {
    margin: 0;
    padding: 0;

    opacity: 0;
    transform: translateY(-10px);

    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.shantai-mobile-menu.active li {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered animation */

.shantai-mobile-menu.active li:nth-child(1) {
    transition-delay: 0.05s;
}

.shantai-mobile-menu.active li:nth-child(2) {
    transition-delay: 0.10s;
}

.shantai-mobile-menu.active li:nth-child(3) {
    transition-delay: 0.15s;
}

.shantai-mobile-menu.active li:nth-child(4) {
    transition-delay: 0.20s;
}

.shantai-mobile-menu.active li:nth-child(5) {
    transition-delay: 0.25s;
}

.shantai-mobile-menu.active li:nth-child(6) {
    transition-delay: 0.30s;
}

.shantai-mobile-menu a {
    display: block;

    padding: 15px 10px;

    color: #ffffff;

    text-decoration: none;

    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 600;

    border-bottom: 1px solid rgba(255,255,255,0.10);

    transition:
        color 0.3s ease,
        padding-left 0.3s ease;
}

.shantai-mobile-menu a:hover {
    color: #fdcf09;
    padding-left: 18px;
}


/* Mobile Let's Talk */

.shantai-mobile-talk {
    display: block !important;

    margin-top: 15px;

    text-align: center;

    border: 0 !important;

    border-radius: 50px;

    background: #fdcf09;

    color: #000000 !important;

    font-weight: 800 !important;
}


/* =========================
   TABLET
========================= */

@media (max-width: 1100px) {

    .shantai-header-inner {
        width: 94%;
        gap: 15px;
    }

    .shantai-menu {
        gap: 0;
    }

    .shantai-menu li a {
        padding: 10px 9px;
        font-size: 13px;
    }

    .shantai-menu li a::after {
        left: 9px;
        right: 9px;
    }

    .shantai-talk-btn {
        min-width: 120px;
        padding: 0 16px;
    }

   .shantai-logo img {
    max-width: 260px;
    max-height: 90px;
}

.shantai-header.scrolled .shantai-logo img {
    max-height: 72px;
}

}


/* =========================
   MOBILE
========================= */

@media (max-width: 767px) {

    .shantai-header-inner {
        width: 92%;
        min-height: 75px;
    }

    .shantai-header.scrolled .shantai-header-inner {
        min-height: 70px;
    }

    .shantai-logo img {
        max-width: 210px;
        max-height: 75px;
    }

    .shantai-header.scrolled .shantai-logo img {
        max-height: 65px;
    }
    /* Hide desktop navigation */

    .shantai-nav,
    .shantai-desktop-talk {
        display: none;
    }

    /* Show mobile button */

    .shantai-mobile-toggle {
        display: flex;
    }

    .shantai-mobile-menu {
        display: block;
    }
}


/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 420px) {

    .shantai-header-inner {
        width: 90%;
    }

    .shantai-logo img {
        max-width: 145px;
    }

    .shantai-mobile-toggle {
        width: 42px;
        height: 42px;
    }
}


/* =========================
   ACCESSIBILITY
========================= */

.shantai-menu a:focus-visible,
.shantai-talk-btn:focus-visible,
.shantai-mobile-toggle:focus-visible,
.shantai-mobile-menu a:focus-visible {
    outline: 3px solid #fdcf09;
    outline-offset: 3px;
}


/* =========================
   REDUCE MOTION
========================= */

@media (prefers-reduced-motion: reduce) {

    .shantai-header,
    .shantai-header *,
    .shantai-mobile-menu,
    .shantai-mobile-menu li {
        animation: none !important;
        transition: none !important;
    }
}


/* =========================================================
   SHANTAI ENTERPRISES
   HERO SECTION
   Theme: Black + #fdcf09
========================================================= */

/* =========================================================
   SHANTAI ENTERPRISES
   HOME HERO + CUSTOM HEADER
   ASTRA + ELEMENTOR
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');


/* =========================================================
   RESET / PAGE
========================================================= */

html,
body {
    margin: 0 !important;
    padding: 0 !important;
}

body,
body.elementor-page {
    font-family: 'Montserrat', sans-serif !important;
}


/* =========================================================
   HIDE ASTRA DEFAULT HEADER ON HOME PAGE
   IMPORTANT
========================================================= */

body.home .site-header,
body.home .ast-header-break-point .main-header-bar,
body.home .ast-primary-header-bar,
body.home .main-header-bar-wrap {
    display: none !important;
}


/* Hide default WordPress title */

body.home .entry-title,
body.home .page-header,
body.home .entry-header {
    display: none !important;
}


/* Remove theme page spacing */

body.home .site-content,
body.home .content-area,
body.home .site-main,
body.home .entry-content {
    margin: 0 !important;
    padding: 0 !important;
}


/* Elementor outer spacing */

body.home .elementor-section-wrap {
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   CUSTOM HEADER
========================================================= */

.shantai-custom-header {
    position: absolute !important;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 99999;

    background: transparent;

    transition:
        background-color .4s ease,
        backdrop-filter .4s ease,
        box-shadow .4s ease,
        transform .4s ease;
}


/* Header after scroll */

.shantai-custom-header.is-scrolled {
    position: fixed !important;

    background: rgba(0, 0, 0, .92);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    box-shadow:
        0 8px 30px rgba(0, 0, 0, .25);
}


/* =========================================================
   HEADER INNER
========================================================= */

.shantai-custom-header-inner {
    width: min(94%, 1440px);

    min-height: 96px;

    margin: 0 auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;
}


/* =========================================================
   LOGO
========================================================= */

.shantai-custom-logo {
    display: flex;

    align-items: center;

    flex-shrink: 0;
}

.shantai-custom-logo img {
    display: block;

    width: auto;

    max-width: 235px;

    max-height: 82px;

    object-fit: contain;

    transition:
        transform .35s ease,
        max-height .35s ease;
}

.shantai-custom-logo:hover img {
    transform: scale(1.04);
}

.shantai-custom-header.is-scrolled
.shantai-custom-logo img {
    max-height: 65px;
}


/* =========================================================
   DESKTOP MENU
========================================================= */

.shantai-custom-nav {
    flex: 1;

    display: flex;

    align-items: center;

    justify-content: center;
}

.shantai-custom-nav ul {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 4px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.shantai-custom-nav li {
    margin: 0;
    padding: 0;

    list-style: none;
}

.shantai-custom-nav li a {
    position: relative;

    display: inline-flex;

    align-items: center;

    padding: 14px 16px;

    color: #fff !important;

    font-family: 'Montserrat', sans-serif !important;

    font-size: 13px !important;

    font-weight: 600 !important;

    letter-spacing: .2px;

    text-decoration: none !important;

    transition:
        color .3s ease,
        transform .3s ease;
}

.shantai-custom-nav li a::after {
    content: "";

    position: absolute;

    left: 16px;
    right: 16px;

    bottom: 5px;

    height: 2px;

    background: #fdcf09;

    transform: scaleX(0);

    transform-origin: center;

    transition: transform .3s ease;
}

.shantai-custom-nav li a:hover {
    color: #fdcf09 !important;

    transform: translateY(-2px);
}

.shantai-custom-nav li a:hover::after {
    transform: scaleX(1);
}


/* =========================================================
   HEADER CTA
========================================================= */

.shantai-header-talk {
    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 140px;

    height: 50px;

    padding: 0 24px;

    border-radius: 50px;

    background: #fdcf09;

    color: #000 !important;

    font-family: 'Montserrat', sans-serif !important;

    font-size: 14px !important;

    font-weight: 800 !important;

    text-decoration: none !important;

    overflow: hidden;

    box-shadow:
        0 8px 25px rgba(253, 207, 9, .20);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}

.shantai-header-talk::before {
    content: "";

    position: absolute;

    top: 0;
    left: -120%;

    width: 70%;
    height: 100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.6),
            transparent
        );

    transform: skewX(-20deg);

    transition: left .7s ease;
}

.shantai-header-talk:hover::before {
    left: 140%;
}

.shantai-header-talk:hover {
    background: #fff;

    color: #000 !important;

    transform: translateY(-3px);

    box-shadow:
        0 12px 35px rgba(253, 207, 9, .30);
}


/* =========================================================
   MOBILE TOGGLE
========================================================= */

.shantai-mobile-button {
    display: none;

    width: 46px;
    height: 46px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: #fdcf09;

    cursor: pointer;

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

    flex-direction: column;

    gap: 5px;
}

.shantai-mobile-button span {
    width: 20px;
    height: 2px;

    display: block;

    background: #000;

    border-radius: 20px;

    transition:
        transform .3s ease,
        opacity .3s ease;
}

.shantai-mobile-button.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.shantai-mobile-button.active span:nth-child(2) {
    opacity: 0;
}

.shantai-mobile-button.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* =========================================================
   MOBILE PANEL
========================================================= */

.shantai-mobile-panel {
    display: none;

    position: absolute;

    top: 100%;
    left: 0;

    width: 100%;

    padding: 15px 20px 25px;

    background: rgba(0, 0, 0, .97);

    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);

    box-sizing: border-box;

    opacity: 0;

    visibility: hidden;

    transform: translateY(-15px);

    transition:
        opacity .3s ease,
        visibility .3s ease,
        transform .3s ease;
}

.shantai-mobile-panel.active {
    opacity: 1;

    visibility: visible;

    transform: translateY(0);
}

.shantai-mobile-panel ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.shantai-mobile-panel li {
    margin: 0;
    padding: 0;
}

.shantai-mobile-panel a {
    display: block;

    padding: 15px 8px;

    color: #fff !important;

    border-bottom: 1px solid rgba(255,255,255,.1);

    text-decoration: none !important;

    font-family: 'Montserrat', sans-serif !important;

    font-size: 15px !important;

    font-weight: 600 !important;
}

.shantai-mobile-panel a:hover {
    color: #fdcf09 !important;
}

.shantai-mobile-panel .mobile-talk {
    margin-top: 15px;

    text-align: center;

    border: 0;

    border-radius: 50px;

    background: #fdcf09;

    color: #000 !important;
}


/* =========================================================
   HERO
========================================================= */

.shantai-hero {
    position: relative;

    width: 100%;

    height: 100vh;

    min-height: 760px;

    overflow: hidden;

    background: #000;

    font-family: 'Montserrat', sans-serif !important;
}


/* =========================================================
   VIDEO
========================================================= */

.shantai-hero-video {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center center;

    z-index: 0;
}


/* =========================================================
   VIDEO OVERLAY
========================================================= */

.shantai-hero-overlay {
    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.94) 0%,
            rgba(0,0,0,.84) 30%,
            rgba(0,0,0,.48) 62%,
            rgba(0,0,0,.52) 100%
        );
}

.shantai-hero-overlay::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.42),
            transparent 35%,
            rgba(0,0,0,.78) 100%
        );
}


/* =========================================================
   HERO CONTAINER
========================================================= */

.shantai-hero-container {
    position: relative;

    z-index: 5;

    width: min(92%, 1440px);

    height: 100%;

    margin: 0 auto;

    display: flex;

    align-items: center;
}


/* =========================================================
   CONTENT
========================================================= */

.shantai-hero-content {
    width: 100%;

    max-width: 850px;

    padding-top: 80px;

    color: #fff;
}


/* =========================================================
   EYEBROW
========================================================= */

.shantai-hero-eyebrow {
    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 22px;

    color: #fdcf09;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 4px;

    text-transform: uppercase;
}

.shantai-hero-eyebrow::before {
    content: "";

    width: 38px;

    height: 2px;

    background: #fdcf09;

    box-shadow:
        0 0 12px rgba(253,207,9,.7);
}


/* =========================================================
   TITLE
========================================================= */

.shantai-hero-title {
    margin: 0 0 25px !important;

    max-width: 900px;

    color: #fff !important;

    font-family: 'Montserrat', sans-serif !important;

    font-size: clamp(48px, 6vw, 84px) !important;

    font-weight: 800 !important;

    line-height: 1.02 !important;

    letter-spacing: -3px !important;

    text-transform: none !important;
}

.shantai-hero-title .yellow {
    display: block;

    color: #fdcf09 !important;
}


/* =========================================================
   PARAGRAPHS
========================================================= */

.shantai-hero-description {
    max-width: 720px;

    margin: 0 0 24px !important;

    color: rgba(255,255,255,.87) !important;

    font-family: 'Montserrat', sans-serif !important;

    font-size: 17px !important;

    font-weight: 400 !important;

    line-height: 1.75 !important;
}

.shantai-hero-description.second {
    margin-bottom: 35px !important;

    color: rgba(255,255,255,.74) !important;

    font-size: 15px !important;
}

.shantai-highlight {
    color: #fdcf09 !important;

    font-weight: 800 !important;
}


/* =========================================================
   HERO BUTTONS
========================================================= */

.shantai-hero-buttons {
    display: flex;

    align-items: center;

    gap: 14px;

    flex-wrap: wrap;
}

.shantai-hero-btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 15px;

    min-height: 56px;

    padding: 0 28px;

    border-radius: 50px;

    font-family: 'Montserrat', sans-serif !important;

    font-size: 14px !important;

    font-weight: 800 !important;

    text-decoration: none !important;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        box-shadow .3s ease;
}

.shantai-hero-btn.primary {
    background: #fdcf09;

    color: #000 !important;

    box-shadow:
        0 10px 30px rgba(253,207,9,.22);
}

.shantai-hero-btn.primary:hover {
    transform: translateY(-4px);

    color: #000 !important;

    box-shadow:
        0 15px 40px rgba(253,207,9,.35);
}

.shantai-hero-btn.secondary {
    background: rgba(0,0,0,.20);

    color: #fff !important;

    border: 1px solid rgba(253,207,9,.85);

    backdrop-filter: blur(8px);
}

.shantai-hero-btn.secondary:hover {
    background: #fdcf09;

    color: #000 !important;

    border-color: #fdcf09;

    transform: translateY(-4px);
}

.shantai-hero-btn .arrow {
    font-size: 20px;

    transition: transform .3s ease;
}

.shantai-hero-btn:hover .arrow {
    transform: translateX(5px);
}


/* =========================================================
   DECORATIVE LINES
========================================================= */

.shantai-decoration {
    position: absolute;

    z-index: 3;

    width: 170px;

    height: 220px;

    pointer-events: none;

    opacity: .55;
}

.shantai-decoration.left {
    top: 180px;

    left: 0;
}

.shantai-decoration.right {
    top: 200px;

    right: 0;

    transform: rotate(180deg);
}

.shantai-decoration span {
    position: absolute;

    width: 100px;

    height: 1px;

    background: #fdcf09;

    transform: rotate(-45deg);

    opacity: .7;
}

.shantai-decoration span:nth-child(1) {
    top: 20px;
    left: 20px;
}

.shantai-decoration span:nth-child(2) {
    top: 55px;
    left: 10px;
}

.shantai-decoration span:nth-child(3) {
    top: 90px;
    left: 0;
}

.shantai-decoration span:nth-child(4) {
    top: 125px;
    left: -10px;
}

.shantai-decoration span:nth-child(5) {
    top: 160px;
    left: -20px;
}


/* =========================================================
   SCROLL
========================================================= */

.shantai-scroll {
    position: absolute;

    z-index: 6;

    bottom: 60px;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 8px;

    color: rgba(255,255,255,.75);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2px;

    text-transform: uppercase;
}

.shantai-scroll-mouse {
    position: relative;

    width: 24px;

    height: 37px;

    border: 2px solid rgba(255,255,255,.8);

    border-radius: 20px;
}

.shantai-scroll-mouse::after {
    content: "";

    position: absolute;

    top: 7px;

    left: 50%;

    width: 4px;

    height: 7px;

    border-radius: 5px;

    background: #fdcf09;

    transform: translateX(-50%);

    animation: shantaiScroll 1.8s infinite ease-in-out;
}


/* =========================================================
   ANGLED BOTTOM EDGE
========================================================= */

/* =========================================================
   HERO BOTTOM - V SHAPE
========================================================= */

.shantai-hero-bottom {
    position: absolute;
    left: 0;
    bottom: 0;

    width: 100%;
    height: 115px;

    z-index: 10;

    pointer-events: none;

    overflow: hidden;
}


/* YELLOW V-SHAPED BORDER */

.shantai-hero-bottom::before {
    content: "";

    position: absolute;

    left: -2%;
    bottom: 35px;

    width: 104%;
    height: 75px;

    background: #fdcf09;

    clip-path: polygon(
        0 0,
        50% 100%,
        100% 0,
        100% 18%,
        50% 100%,
        0 18%
    );

    filter:
        drop-shadow(
            0 0 8px rgba(253, 207, 9, 0.25)
        );
}


/* BLACK V-SHAPED AREA BELOW */

.shantai-hero-bottom::after {
    content: "";

    position: absolute;

    left: -2%;
    bottom: 0;

    width: 104%;
    height: 78px;

    background: #000000;

    clip-path: polygon(
        0 0,
        50% 100%,
        100% 0,
        100% 100%,
        0 100%
    );
}


/* =========================================================
   EXTRA YELLOW TOP EDGE
========================================================= */

.shantai-hero-bottom {
    background: transparent;
}

.shantai-hero-bottom::before {
    box-shadow:
        0 0 18px rgba(253, 207, 9, 0.22);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .shantai-hero-bottom {
        height: 75px;
    }

    .shantai-hero-bottom::before {
        bottom: 23px;

        height: 48px;

        left: -4%;
        width: 108%;
    }

    .shantai-hero-bottom::after {
        height: 52px;

        left: -4%;
        width: 108%;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .shantai-hero-bottom {
        height: 62px;
    }

    .shantai-hero-bottom::before {
        bottom: 18px;
        height: 40px;
    }

    .shantai-hero-bottom::after {
        height: 43px;
    }

}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes shantaiScroll {

    0% {
        opacity: 0;

        transform:
            translate(-50%, 0);
    }

    40% {
        opacity: 1;
    }

    100% {
        opacity: 0;

        transform:
            translate(-50%, 14px);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .shantai-custom-header-inner {
        width: 94%;
    }

    .shantai-custom-nav li a {
        padding: 12px 9px;

        font-size: 12px !important;
    }

    .shantai-custom-logo img {
        max-width: 200px;
    }

    .shantai-hero-title {
        font-size: clamp(48px, 7vw, 68px) !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .shantai-custom-header-inner {
        min-height: 78px;

        width: 92%;
    }

    .shantai-custom-logo img {
        max-width: 190px;

        max-height: 68px;
    }

    .shantai-custom-nav,
    .shantai-header-desktop-talk {
        display: none !important;
    }

    .shantai-mobile-button {
        display: flex;
    }

    .shantai-mobile-panel {
        display: block;
    }


    /* HERO */

    .shantai-hero {
        min-height: 900px;

        height: 100svh;

        max-height: none;
    }

    .shantai-hero-video {
        object-position: 64% center;
    }

    .shantai-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(0,0,0,.91),
                rgba(0,0,0,.67)
            );
    }

    .shantai-hero-container {
        width: 90%;

        align-items: flex-start;
    }

    .shantai-hero-content {
        padding-top: 170px;

        max-width: 100%;
    }

    .shantai-hero-eyebrow {
        font-size: 10px;

        letter-spacing: 2.5px;
    }

    .shantai-hero-eyebrow::before {
        width: 24px;
    }

    .shantai-hero-title {
        font-size: clamp(39px, 11vw, 57px) !important;

        line-height: 1.04 !important;

        letter-spacing: -1.8px !important;

        margin-bottom: 20px !important;
    }

    .shantai-hero-description {
        font-size: 14px !important;

        line-height: 1.7 !important;
    }

    .shantai-hero-description.second {
        font-size: 13px !important;

        line-height: 1.7 !important;

        margin-bottom: 28px !important;
    }

    .shantai-hero-buttons {
        width: 100%;

        flex-direction: column;

        align-items: stretch;
    }

    .shantai-hero-btn {
        width: 100%;

        min-height: 54px;

        box-sizing: border-box;
    }

    .shantai-decoration {
        opacity: .2;

        transform: scale(.75);
    }

    .shantai-decoration.right {
        transform:
            rotate(180deg)
            scale(.75);
    }

    .shantai-scroll {
        bottom: 52px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .shantai-custom-logo img {
        max-width: 165px;
    }

    .shantai-hero-content {
        padding-top: 160px;
    }

    .shantai-hero-title {
        font-size: 38px !important;
    }

    .shantai-hero-description {
        font-size: 13.5px !important;
    }
}

/* =========================================================
   SHANTAI HERO TITLE ANIMATION
========================================================= */

.shantai-hero-title {
    opacity: 0;
    transform: translateY(45px) scale(0.97);

    animation:
        shantaiTitleReveal 1s cubic-bezier(.2,.8,.2,1) forwards;

    animation-delay: 0.35s;

    will-change: transform, opacity;
}


/* First line */

.shantai-hero-title {
    text-shadow:
        0 8px 30px rgba(0, 0, 0, 0.25);
}


/* Yellow line */

.shantai-hero-title .yellow {
    display: block;

    color: #fdcf09 !important;

    opacity: 0;

    transform: translateY(30px);

    animation:
        shantaiYellowReveal 0.9s cubic-bezier(.2,.8,.2,1) forwards;

    animation-delay: 0.75s;

    text-shadow:
        0 0 25px rgba(253, 207, 9, 0.18);

    will-change: transform, opacity;
}


/* =========================================================
   TITLE KEYFRAMES
========================================================= */

@keyframes shantaiTitleReveal {

    0% {
        opacity: 0;
        transform:
            translateY(45px)
            scale(0.97);
        filter: blur(6px);
    }

    60% {
        opacity: 1;
        transform:
            translateY(-5px)
            scale(1.01);
        filter: blur(0);
    }

    100% {
        opacity: 1;
        transform:
            translateY(0)
            scale(1);
        filter: blur(0);
    }

}


@keyframes shantaiYellowReveal {

    0% {
        opacity: 0;
        transform: translateY(30px);
        filter: blur(5px);
    }

    70% {
        opacity: 1;
        transform: translateY(-3px);
        filter: blur(0);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .shantai-hero-title {
        animation-duration: 0.85s;

        animation-delay: 0.25s;
    }

    .shantai-hero-title .yellow {
        animation-duration: 0.8s;

        animation-delay: 0.55s;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .shantai-hero-title,
    .shantai-hero-title .yellow {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        animation: none !important;
    }

}

/* =========================================================
   HERO - MORE SPACE ABOVE BOTTOM V DESIGN
========================================================= */

/* Push buttons slightly upward */
.shantai-hero-buttons {
    margin-bottom: 55px !important;
}


/* Move scroll indicator a little lower */
.shantai-scroll {
    bottom: 48px !important;
}


/* Bottom V section slightly deeper */
.shantai-hero-bottom {
    height: 105px !important;
    bottom: -1px !important;
}


/* Yellow V line */
.shantai-hero-bottom::before {
    bottom: 34px !important;
    height: 72px !important;
}


/* Black shade below yellow line */
.shantai-hero-bottom::after {
    bottom: 0 !important;
    height: 72px !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .shantai-hero-buttons {
        margin-bottom: 35px !important;
    }

    .shantai-scroll {
        bottom: 38px !important;
    }

    .shantai-hero-bottom {
        height: 78px !important;
    }

    .shantai-hero-bottom::before {
        bottom: 24px !important;
        height: 52px !important;
    }

    .shantai-hero-bottom::after {
        height: 50px !important;
    }

}