/**
 * Theme Name:     Soleia
 * Author:         UrVenue
 * Template:       wp-uvtheme-master
 * Text Domain:	   soleia
 * Description:    Soleia - Child Theme
 * Version:        1.0
 */



.uv-central-grid {
    max-width: 886px;
    margin: 0 auto;
}

@media (max-width: 600px) {
    .uv-splash-container h1 {
        font-size: 34px;
    }

    .uv-splash-container p:first-of-type {
        font-size: 22px;
    }
}

body {
    padding-top: 0;
}

body.admin-bar {
    padding-top: 32px;
}

.uv-page-header {
    background: transparent;
}

.uv-hamburguer-menu.uv-display-menu {
    padding: 100px 0;
    background-color: #f9f8f5;

}

.uv-hamburguer-menu .uv-page-hader-logo img {
    content: url("/wp-content/uploads/2026/07/soleia-logo.webp");
}

.uv-mobile-menu-active .bar {
    background-color: #000;
}

#swup .uv-section-inner {
    display: flex;
    box-sizing: content-box;
}



#swup .acf-innerblocks-container {
    margin: auto;
    width: 100%;
}


#swup .uv-nform .uv-section-inner {
    margin: 0 auto;
    min-height: auto;
}

.wp-block-image {
    margin: 0;
}

.uv-home {
    position: relative;
}

.uv-home::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 4;
    background: linear-gradient(119.17deg, rgba(0, 0, 0, 0.7) 2.34%, rgba(0, 0, 0, 0) 62.58%),
        linear-gradient(261.63deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 58.98%);

}

.uv-home img {
    min-height: 100vh;
    object-fit: cover;
    width: 100%;
}

.uvheader .uv-socials-nav {
    display: none !important;
}

@media (min-width: 1366px) {
    .uv-nav-extra-buttons {
        padding-right: 1em;
    }

    .uv-header-max-width {
        max-width: 100%;
    }

    body:has(.uv-home) .uv-header-max-width {
        height: calc(100vh - 70px);
        padding: 20px 20px 70px;
    }

    body:has(.uv-home) .uv-header-size-fullheight {
        height: calc(100vh - 70px);
    }

    .uv-page-header {
        position: fixed;
        background: transparent;
        transition: background 0.4s ease, padding 0.4s ease, box-shadow 0.4s ease;
        width: 100%;
        left: 0;
        z-index: 100;
        min-height: calc(100vh - 70px);
        pointer-events: none;
    }

    .uv-page-header.is-sticky {
        position: fixed;
        padding-top: 5px;
        padding-bottom: 5px;
    }


    .uv-page-header.is-sticky .uv-header-max-width {
        padding: 20px 20px 70px;
    }

    .uv-page-header.is-sticky .uv-page-hader-logo {
        padding-top: 0;
    }

    .uv-page-header.is-sticky .uv-page-hader-logo img {
        width: 130px;
    }


    .uv-page-header.is-sticky .uv-nav-extra-buttons ul {
        margin: 0;
    }


    .uws-left-logo .uv-page-hader-logo {
        justify-content: center;
        pointer-events: all;
    }

    .uv-socials-nav {
        display: none;
    }

    .uv-page-header-menu {
        justify-content: end;
        align-items: start;
        height: fit-content;
    }

    .uv-navigation-section {
        flex-direction: column;
        align-items: end;
        justify-content: space-between;
    }

    .uv-page-header-menu>ul {
        flex-direction: column;
        text-align: right;
        pointer-events: all;
    }

    .uv-page-hader-logo img {
        height: auto;
        width: 130px;
    }

    .uv-page-header-menu li::after {
        display: none;
    }

    .uv-btn {
        border-radius: 4px !important;
    }

    .uv-btn:hover {
        border-radius: 4px;
        color: #000;
    }

    .uv-page-header li a:hover {
        color: var(--uvwp_navigation_activecolor);
    }

}





.footer-inner {
    display: none;
}

.footer-socket-wrapper {
    border-top: none;
    flex-wrap: wrap;
    gap: 10px;
}

.uv-legal-menu ul {
    margin: 0;
    gap: 35px;
}

.uv-legal-menu ul li a {
    font-family: var(--uvwp_nav_font_family);
    font-weight: 600;
}

.uv-legal-menu ul li a:hover {
    text-decoration: underline;
    color: #000;
}

.uvfootercopytext {
    font-size: 14px;
}

.wp-block-heading {
    text-transform: uppercase;
    margin-bottom: 20px;
}

.socket-socials {
    display: none;
}

@media (max-width: 768px) {
    .uv-home img {
        min-height: 75vh;
    }

    h1,
    .h1 {
        font-size: 35px;
    }

    .footer-socket-wrapper {
        justify-content: center;
        gap: 0;
        padding: 10px;
    }

    .uv-legal-menu ul {
        padding-left: 0;
    }
}

/* Styles for Internal Pages (Not Home) */
body:not(.uv-home-menu) .uv-hamburguer-menu-icon {
    align-content: center;
}

.uv-content {
    margin: auto 0;
    min-height: calc(100vh - 70px);
}

body:not(.uv-home-menu) .uv-page-header-menu>ul {
    gap: 5px;
}

body:not(.uv-home-menu) .menu-toggle {
    z-index: 102;
    position: relative;
}

@media (min-width: 1366px) {
    body:not(.uv-home-menu) .uv-page-header li a {
        color: #000;
        font-size: 14px;
        display: block;
        pointer-events: all;
        transition: all 0.3s ease;
    }

    body:not(.uv-home-menu) .uv-nav-extra-buttons .uv-btn-p:hover {
        color: #000;
    }
}

body .uv-page-header li a {
    pointer-events: all;
    transition: all 0.3s ease;

}

body .uv-page-header.is-sticky li a {
    color: #000;

}

.uv-btn-p,
.uv-nav-extra-buttons .uv-btn-p {
    border-radius: 4px;
}

body:not(.uv-home-menu) .uv-page-header li a body:not(.uv-home-menu) .uv-page-header li a:hover,
body:not(.uv-home-menu) .uv-page-header li.active a,
body .uv-page-header.is-sticky li a:hover {
    color: var(--uvwp_navigation_activecolor);
}

body:not(.uv-home-menu) .bar {
    background-color: var(--uvwp_primary_background_color) !important;
}

body:not(.uv-home-menu) .uv-page-hader-logo img,
body .uv-page-header.is-sticky .uv-page-hader-logo img {
    content: url("https://soleialvstg.wpenginepowered.com/wp-content/uploads/2026/03/soleia-las-vegas-logo-240x120-1.png");
}

@media (max-width: 768px) {
    body:not(.uv-home-menu) .uv-hamburguer-menu-icon {
        padding-top: 0;

    }
}

.acf-innerblocks-container:has(.uv-two-col) {
    width: 100%;
}

.uv-two-col.uv-two-col-bg {
    background-color: #FBF8F1;
    border-radius: 32px;

}

.uv-two-col .uvcol-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.uv-col-50:has(.uv-col-50-content-wrapper) {
    width: calc(44% - 10px);
}

#menu .uv-col-50-content-wrapper {
    padding: 0;
}

.uv-col-50:has(.uv-simple-square-ratio) {
    width: calc(51% - 10px);
}

.uv-simple-square-ratio {
    border-radius: 10px;
    overflow: hidden;
    padding-right: 20px;
}

#swup .uv-simple-square-ratio::before {
    padding-top: 83%;
}



.uv-col-content h2 {
    font-weight: 400;
    font-size: 40px;
    line-height: 45px;
    letter-spacing: 0%;
    text-transform: uppercase;
    margin: 0 0 20px;

}

.uv-col-content h3 {
    margin: 20px 0 15px;
    font-weight: 600;
    font-size: 22px;
    line-height: 30px;
    letter-spacing: 0%;
    text-transform: uppercase;
}

.uv-col-content p {
    margin: 0 0 20px;
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 0%;
    max-width: 503px;
}

.uv-col-content p:last-of-type {
    margin: 0;
}

.uv-col-content p:has(+ h2) {
    margin: 0 0 5px;
    font-weight: 600;
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 20%;
    color: #916F27;
}

.uv-two-col .uv-button-group {
    margin-top: 40px;
}

@media (max-width: 768px) {

    .uv-col-50:has(.uv-simple-square-ratio),
    #swup .uv-col-50-content-wrapper {
        padding: 0 !important;
        max-width: 100% !important;
    }

    .uv-two-col .uvcol-wrapper {
        padding: 30px 20px;
    }

    .uv-col-50,
    .uv-col-50:has(.uv-col-50-content-wrapper),
    .uv-col-50:has(.uv-simple-square-ratio) {
        width: 100%;
    }

    #swup .uv-col-50-content-wrapper {
        max-width: 100%;
        padding: 0;
    }

    .uvcol-wrapper {
        padding-left: 0;
        padding-right: 0;
        gap: 30px;
    }

    .uv-col-content h2 {
        font-size: 26px;
        line-height: 35px;
        margin: 0 0 20px;
    }

    .uv-col-content h3 {
        font-size: 19px;
        margin: 20px 0 15px;
    }

    .uv-col-content p {
        font-size: 16px;
        line-height: 25px;
    }

    .uv-col-content p:has(+ h2) {
        font-size: 16px;
    }

    .uv-two-col .uv-button-group {
        margin-top: 40px;
    }

    .uv-invert-order .uvcol-wrapper {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}



/* form styles */

.uv-nform .nf-form-fields-required {
    display: none
}

.uv-nform .nf-response-msg p {
    text-align: center;
}

.uv-nform p.has-text-align-center {
    max-width: 700px;
    margin: 0 auto 20px;
}

.uv-nform .nf-field-container {
    margin-bottom: 15px;
}

.uv-nform nf-fields-wrap {
    position: relative;
}

.uv-nform .nf-field-element input:not([type="submit"]):not([type="checkbox"]),
.uv-nform .nf-field-element select,
.uv-nform .nf-field-element textarea {
    border: 1px solid #DEDDDB;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0px;
    min-height: 50px;
    background-color: #FFFFFF;
    border-radius: 4px;
    padding: 17px;
    font-family: var(--uvwp_content_font_family);
    width: 100%;
}

.uv-nform .nf-field-element input[type="tel"]:not([type="submit"]):not([type="checkbox"]) {
    padding-left: 95px;
}

.nf-form-hp {
    display: none !important;
}

.uv-nform .label-above .nf-field-label {
    margin-bottom: 5px;
}

.uv-nform .nf-field-label .nf-label-span,
.uv-nform .nf-field-label label {
    font-family: var(--uvwp_content_font_family);
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    vertical-align: middle;
}

.uv-nform nf-field:has(.uv-flags) {
    position: absolute;
    width: 105px;
    top: 247px;
    z-index: 2;
    left: 5px;
}

.uv-nform:has(.nf-fail input[name="fname"]) nf-field:has(.uv-flags),
.uv-nform:has(.nf-fail input[name="lname"]) nf-field:has(.uv-flags),
.uv-nform:has(input[name="fname"][aria-invalid="true"]) nf-field:has(.uv-flags),
.uv-nform:has(input[name="lname"][aria-invalid="true"]) nf-field:has(.uv-flags) {
    top: 282px;
}

.uv-nform nf-field:has(.uv-flags) .nf-field-label label {
    display: none;
}

.uv-nform nf-field:has(.uv-flags) select.uv-flags {
    min-height: 44px;
    height: 44px;
    padding: 0 17px;
    opacity: 0;
    pointer-events: none;
}



.uv-nform:has(.uv-flags) .list-select-wrap div div {
    display: flex;
}

.uv-nform-bg>.uv-section-inner {
    padding-top: 60px;
    padding-bottom: 60px;
    display: flex;
    flex-direction: column;
    max-width: 1200px;
    margin: 0 auto;
}

.uv-blur-request {
    position: relative;
}

.uv-blur-request::after {
    content: "";
    position: absolute;
    background-color: rgba(251, 248, 241, .7);
    inset: -100px 0 -150px 0;
    border-radius: 100%;
    z-index: -17;
    filter: blur(200px);
}

.uv-nform-bg .nf-form-cont {
    max-width: 710px;
    margin: 0 auto;
    box-sizing: content-box;
    box-shadow: 0px 4px 50px 0px #00000014;
    background-color: #fff;
    padding: 40px;
    border-radius: 20px;
    margin-top: 70px;
}

.uv-nform-2col nf-fields-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0 15px;
}

.uv-nform-2col nf-field {
    width: calc(50% - 7.5px);
}

.uv-nform-2col nf-field:nth-of-type(2) {
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;

}

.uv-nform-2col nf-field:last-of-type,
.uv-nform-2col .uv-btn-p {
    width: 100% !important;
}

.label-right .nf-field-label {
    padding-left: 1% !important;
}

@media (max-width: 600px) {
    #swup .uv-section.uv-nform {
        z-index: 0;
    }


    .uv-subheading-section.uv-blur-request {
        padding: 0 20px;
    }

    .uv-subheading-section.uv-blur-request p {
        font-size: 14px;

    }

    .uv-nform-bg .nf-form-cont {
        padding: 20px;
        margin-top: 40px;

    }

    .uv-nform-2col nf-field {
        width: 100%;
    }

    .uv-nform nf-field:has(.uv-flags) {
        top: 351px;
    }

    .uv-nform:has(.nf-fail input[name="fname"]) nf-field:has(.uv-flags),
    .uv-nform:has(.nf-fail input[name="lname"]) nf-field:has(.uv-flags),
    .uv-nform:has(input[name="fname"][aria-invalid="true"]) nf-field:has(.uv-flags),
    .uv-nform:has(input[name="lname"][aria-invalid="true"]) nf-field:has(.uv-flags) {
        top: 385px;
    }

    .uv-nform:has(:is(.nf-fail input[name="fname"], input[name="fname"][aria-invalid="true"])):has(:is(.nf-fail input[name="lname"], input[name="lname"][aria-invalid="true"])) nf-field:has(.uv-flags) {
        top: 420px;
    }

}

.uv-nform-2col nf-field:has(.uv-full-field) {
    width: 100%;
}

.uv-nform-2col nf-field:has(textarea),
.uv-nform-2col nf-field:has(input[type="checkbox"]) {
    width: 100%;
}


.uv-tour .acf-innerblocks-container>.wp-block-group {
    position: absolute;
    z-index: 1;
    height: fit-content;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateY(-50%);
}

.uv-tour .wp-block-image img {
    box-sizing: border-box;
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
    width: 100%;
}

.uv-tour .wp-block-heading {
    font-family: Montserrat;
    font-weight: 500;
    font-size: 56px;
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
}

.uv-tour a {
    color: #fff;
    text-decoration: none;
}

.uv-tour a:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .uv-tour .acf-innerblocks-container>.wp-block-image:last-of-type img {
        height: 400px;
        object-fit: cover;
    }
}

.uvtheme-popup-ovelay {
    z-index: 101;
}

.uv-popup {
    z-index: 102;

}

.uv-popup-header {
    right: 10px;
    top: 10px;
}

.uv-popup-wrapper:has(.uv-ledscreen-modal) {
    background: #fff;
    max-width: 1200px;
    margin: auto;
    width: calc(100% - 40px);
    position: relative;
    height: auto;
    padding: 36px;
    box-sizing: content-box;
    border-radius: 16px;
}

.uv-popup-wrapper:has(.uv-small-modal) {
    max-width: 1000px;

}

.uv-ledscreen-modal .wp-block-columns {
    display: flex;
    gap: 16px;
    flex-wrap: nowrap;
    align-items: stretch;
}

.uv-ledscreen-modal .wp-block-column {
    background-color: #FBF8F1;
    padding: 40px 40px 20px;
    flex: 1 1 0;
    box-sizing: border-box;
    border-radius: 10px;
}

.uv-ledscreen-modal h3 {
    font-weight: 600;
    font-size: 30px;
    line-height: 30px;
    text-transform: uppercase;
    margin: 0 0 20px;
}

.uv-ledscreen-modal h4 {
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
    margin: 0 0 10px;
    text-transform: none;
}

.uv-ledscreen-modal p {
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
    color: #606060;
    margin: 0 0 20px;
}

.uv-popup-body p.has-text-align-center {
    max-width: 500px;
    margin: 20px auto 0;
}

.uv-popup-body p.has-text-align-center a {
    font-weight: 700;
    text-decoration: underline;
    color: #606060;
}

.uv-popup-body p.has-text-align-center a:hover {
    color: #916F27;
    text-decoration: none;
}

@media (max-width: 768px) {
    .uv-popup-wrapper:has(.uv-ledscreen-modal) {
        padding: 24px 16px;
        width: calc(100% - 32px);
    }

    .uv-ledscreen-modal .wp-block-columns {
        flex-wrap: wrap;
    }

    .uv-ledscreen-modal .wp-block-column {
        flex: 1 1 100%;
        padding: 30px 20px;
    }
}

.flatpickr-calendar {
    display: none;
}

.uv-download-btn {
    padding-left: 64px;
    background-image: url('/wp-content/themes/child-theme/assets/icons/download.svg');
    background-repeat: no-repeat;
    background-position: 30px center;
    background-size: 24px;
}


/* ==========================================================================
   PREMIUM SCROLL SNAPPING CONTAINER (DESKTOP & STANDARD MOBILE)
   ========================================================================== */
html.hydrated,
html.hydrated body {
    margin: 0;
    padding: 0;
    height: auto;
    overflow: visible;
}

html.hydrated footer,
footer {
    position: relative;
    z-index: 10;
    width: 100%;
    bottom: auto;
    clear: both;
}


.fullpage-container {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    will-change: transform, scroll-position;
    height: auto;
    overflow: visible;
}

.fp-section {
    height: auto;
    width: 100%;
    position: relative;
    overflow: visible;
}

.fp-section:not(#home, #request-event) {
    display: block;
    padding: 40px 0;
    /* Add padding for natural flow spacing */
}

/* ==========================================================================
   CLEAN IPHONE STRIP-DOWN (FLUID NATIVE NAVIGATION WITH PHP REMOVAL)
   ========================================================================== */

body.is-iphone .fp-section {
    min-height: auto !important;

}

@media (max-width: 767px) {

    .fp-section:not(#home, #request-event) {
        padding: 0;
    }

    html,
    body,
    .fullpage-container,
    .fp-section {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        position: relative !important;
        scroll-margin-top: 70px;
    }

    .fp-section {
        min-height: auto !important;
        display: block !important;
    }

    html.hydrated footer,
    footer {
        display: block !important;
        position: relative !important;
        bottom: auto !important;
        width: 100% !important;
        clear: both !important;
        z-index: 999;
    }

    .uv-ios-spacer {
        display: none !important;
    }
}

.uv-bg-legals .uv-section-inner {
    background-color: #F9F8F5;
    border-radius: 24px;
    padding: 100px;
    max-width: 1200px;
}

.uv-bg-legals .uv-section-inner h1,
.uv-bg-legals .uv-section-inner h2 {
    font-size: 40px;
}

.uv-bg-legals .uv-section-inner img {
    max-width: 200px;
}

@media (max-width: 767px) {
    .uv-bg-legals .uv-section-inner h2 {
        font-size: 30px;
    }

    .uv-bg-legals .uv-section-inner {
        padding: 50px 24px;
    }
}

@media (max-width: 1440px) {
    .uv-section:not(.uv-home) .uv-section-inner {
        max-width: 1000px !important;
    }

    #swup .uv-col-50-content-wrapper {
        max-width: 514px;
        box-sizing: content-box;
        padding: 0 0 0 50px;
    }

    .uv-col-50:has(.uv-simple-square-ratio) {
        padding: 0 50px 0 0;

    }

    .uv-showcase-container {
        padding: 50px;
    }
}

#sVpoz23SHC->div {
    height: 70vh !important;
}

#about h1 {
    font-size: 60px;
}

@media (max-width: 767px) {
    #about h1 {
        font-size: 35px;
    }
}

.uv-back-home {
    display: inline-flex;
    align-items: center;
    margin-bottom: 60px;
}

.uv-back-home::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-right: 8px;
}

.uv-back-home:after {
    content: none
}

#request.uv-section {
    background-image: url(https://soleialvstg.wpenginepowered.com/wp-content/uploads/2026/04/form.webp);
    background-size: auto 200vh;
    background-position: center top;
}