/*
Copyright (c) 2018 Nigth Club 1.0
------------------------------------------------------------------
[responsive Stylesheet]

Project:	 Nigth Club 1.0

-----------------------------------------------------------------------*/

@media (min-width:1100px) {
    .my_zoom_in .mfp-close {
        top: -40px;
        right: -40px;
    }
    .image_fade .mfp-close {
        top: 0;
        right: -40px;
    }
}

@media (min-width:992px) and (max-width:1200px) {
    .px_navigations ul li.dropdown_menu i.caret_down {
        right: -13px;
    }
    .px_navigations ul>li>a {
        font-size: 16px;
    }
    .px_navigations ul>li {
        margin-left: 20px;
    }
    .px_blog_sidebar .px_recent_posts ul li div a {
        font-size: 15px;
    }
    .px_blog_sidebar .px_recent_posts ul li div p {
        font-size: 14px;
    }
    .px_sevice_overlay .overlay_inner {
        padding: 30px 35px 0px;
    }
    .overlay_inner h4 {
        padding-bottom: 5px;
    }
    .right_details h4 {
        margin-bottom: 10px;
    }
    .offers_box_wrapper .right_details {
        padding: 15px 15px 0px;
    }
    .contact_details_ract ul li svg,
    .contact_details_ract ul li i {
        margin-right: 10px;
    }
}

@media (min-width:768px) and (max-width:991px) {
    .px_navigations ul>li>a {
        font-size: 16px;
    }
    .px_navigations ul>li {
        margin-left: 20px;
    }
    .social_icons.footer_social a {
        margin-right: 2px;
    }
    .blog_desc.home_desc h3 {
        font-size: 15px;
    }
    .blog_desc.home_desc p {
        font-size: 15px;
    }
}

@media (max-width:991px) {
    .main_wrapper {
        backface-visibility: visible;
    }

    .wrapper_navigation .px_logo {
        position: relative;
        z-index: 10008;
        pointer-events: none;
    }

    .wrapper_navigation {
        position: relative;
        z-index: 100000;
    }

    .wrapper_navigation::before,
    .wrapper_navigation::after {
        pointer-events: none;
    }

    .wrapper_navigation > .container > .row > [class*="col-"]:first-child {
        pointer-events: none;
    }

    .wrapper_navigation .px_logo a {
        display: block;
        position: relative;
        z-index: 10009;
        pointer-events: auto;
    }

    .wrapper_navigation > .container > .row > [class*="col-"]:first-child {
        position: relative;
        z-index: 10008;
    }

    /* navigation css start */
    .px_navigations {
        margin-top: 0;
        position: fixed;
        top: 0;
        left: 0;
        padding: 80px 15px 15px;
        width: 100%;
        max-height: 100vh;
        height: 100vh;
        box-sizing: border-box;
        overflow-y: auto;
        z-index: 10003;
        background-color: #121212;
        display: none;
    }

    .mobile_menu_close {
        position: fixed;
        top: 24px;
        right: 24px;
        z-index: 10006;
        display: block;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #fff;
        font-size: 48px;
        font-weight: 200;
        line-height: 36px;
        cursor: pointer;
    }

    .px_navigations:not(.menu_open) .mobile_menu_close {
        display: none;
    }
    .px_navigations.menu_open {
        display: block;
    }
    .navbar_header {
        display: block;
        padding-top: 15px;
        position: relative;
        z-index: 10005;
        pointer-events: auto;
    }
    .px_navigations ul {
        float: left;
        width: 100%;
    }
    .px_navigations ul>li>ul {
        min-width: 100%;
        float: left;
        display: none;
        position: relative;
        text-align: left;
        background-color: transparent;
        border: none;
        z-index: 99;
        top: 0;
        visibility: visible;
        opacity: 1;
        left: 0;
        transform: none;
        -moz-transform: none;
        -webkit-transform: none;
        -ms-transform: none;
        -o-transform: none;
    }
    .px_navigations ul li ul.sub-menu:after {
        display: none;
    }
    .px_navigations ul>li:hover>ul,
    .px_navigations ul>li:focus>ul {
        visibility: visible;
        opacity: 1;
        top: 0;
        transform: none;
        -moz-transform: none;
        -webkit-transform: none;
        -ms-transform: none;
        -o-transform: none;
    }
    .px_navigations ul>li {
        width: 100%;
        margin-left: 0;
        line-height: 40px;
    }
    .px_navigations ul>li>a {
        font-size: 16px;
        padding: 10px 0;
    }
    .px_navigations ul>li>ul>li>a {
        line-height: 35px;
        font-size: 14px;
        padding: 0 10px;
    }
    .px_navigations ul>li>ul>li>a:hover {
        background-color: transparent;
        color: #ff2a70;
    }
    .px_navigations ul li.dropdown_menu i.caret_down:before {
        content: "";
        border: 1px solid #ff2a70;
        position: absolute;
        width: 22px;
        height: 22px;
        left: -10px;
        z-index: -1;
        top: -15px;
    }
    .px_navigations ul>li>ul>li>ul {
        left: 0 !important;
    }
    .caret_down {
        right: 0 !important;
        top: 18px !important;
        border-top-color: #ff2a70 !important;
    }
    /* navigation css end */
    .navigation_main {
        float: left;
        width: 100%;
        position: absolute;
        top: 0;
        padding-right: 15px;
        left: 0;
        z-index: 10004;
    }
    .wrapper_navigation #navigation_main {
        position: absolute !important;
        left: 0;
        top: 25px;
        width: 100%;
    }
    /* sidebar css */
    .px_blog_sidebar {
        margin-top: 50px;
    }
    /* sidebar css */
    .right_map_part {
        margin-top: 44px;
    }
    .px_video_thumb a img {
        width: 100%;
    }
    .widget.px_recent_twitt ul li:last-child {
        margin-bottom: 0;
    }
    .blog_full_main_cover .blog_pagination {
        padding-top: 0px;
    }

    /* =========================================================
       NUEVO CÓDIGO: Ajustes para los cuadros de servicio en móviles
       ========================================================= */
    .px_club_services .px_thumb_wrapper {
        overflow: visible;
        margin-bottom: 25px;
    }

    /* Overlay siempre visible */
    .px_club_services .px_thumb_wrapper .px_sevice_overlay,
    .px_club_services .px_thumb_wrapper .triangle_shape,
    .px_club_services .px_thumb_wrapper .triangle_shape::before,
    .px_club_services .px_thumb_wrapper .triangle_shape::after {
        opacity: 1 !important;
        visibility: visible !important;
    }

    .px_club_services .px_thumb_wrapper .px_sevice_overlay {
        background: rgba(0, 0, 0, 0.75);
    }

    /* Centrar contenido */
    .px_club_services .px_sevice_overlay .overlay_inner {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: absolute;
        inset: 0;
        padding: 20px;
        text-align: center;
        z-index: 10;
    }

    /* Mostrar siempre los elementos internos */
    .px_club_services .px_sevice_overlay .overlay_inner > * {
        opacity: 1 !important;
        transform: none !important;
    }

    /* Centrar el icono */
    .px_club_services .overlay_inner .border {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /* Tipografía */
    .px_club_services .overlay_inner h4 {
        font-size: 18px;
        color: #fff;
        margin-bottom: 8px;
    }

    .px_club_services .overlay_inner p {
        font-size: 13px;
        line-height: 1.4;
        color: #fff;
        margin-bottom: 0;
    }

    /* Triángulos siempre visibles */
    .px_club_services .px_thumb_wrapper .triangle_shape::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        border-top: 78px solid #fd644f;
        border-right: 78px solid transparent;
    }

    .px_club_services .px_thumb_wrapper .triangle_shape::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        border-bottom: 78px solid #fd644f;
        border-left: 78px solid transparent;
    }

    .px_heading_middle h2 {
        white-space: nowrap;
        font-size: 5vw; 
        text-align: center;
        margin-left: 0;
        margin-right: 0;
    }

    /* Mantener oculto el fondo negro */
    .px_event_cover .thumb_overlay {
        opacity: 1 !important;
        background: transparent !important;
    }

    /* Mostrar el botón */
    .px_event_cover .book_now_button {
        transform: translateY(0);
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        opacity: 1 !important;
        visibility: visible !important;
    }

    .mfp-arrow:hover,
    .mfp-arrow:active,
    .mfp-arrow:focus {
        background: rgba(0,0,0,.65) !important;
        transform: none !important;
    }

    .mfp-arrow::before {
        transform: translate(-50%, -50%) !important;
    }
}

@media (min-width:992px) {
    .mobile_menu_close {
        display: none;
    }

    /*navigation start*/
    .px_navigations {
        display: block;
    }
    .navbar_header {
        display: none;
    }
    .px_navigations ul>li>ul.sub-menu {
        -webkit-transition: all 500ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -moz-transition: all 500ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -o-transition: all 500ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        transition: all 500ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
    }
    .px_navigations ul li.active a {
        color: #fd644f;
    }
    /*navigation end*/
    .widget.px_recent_post ul li:last-child,
    .widget.px_recent_twitt ul li:last-child {
        margin-bottom: 0px;
    }
    .px_navigations ul li a:hover:after,
    .px_navigations ul li.active a:after,
    .px_navigations ul li:focus a:after {
        transform: scale(1);
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        -moz-transform: scale(1);
        -o-transform: scale(1);
    }
}

@media (max-width:767px) {
    .historia-carousel .item > a {
        height: auto;
        min-height: 0;
    }

    .historia-carousel .item > a img {
        width: 100%;
        height: auto;
        max-height: none;
        object-fit: contain;
    }

    .dynamic-fotos-carousel .item > a {
        height: auto;
        min-height: 0;
    }

    .dynamic-fotos-carousel .item > a img {
        width: 100%;
        height: auto;
        max-height: none;
        object-fit: contain;
    }

    .mural-carousel .item > a {
        width: 100%;
        height: 420px;
    }

    .mural-carousel .item > a img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .px_event_wrapper .cartelera-row > [class*="col-"] {
        margin-bottom: 28px;
    }

    .px_event_wrapper .cartelera-row > [class*="col-"]:last-child {
        margin-bottom: 0;
    }

    .social_icons.footer_social {
        margin-top: 30px;
    }
    .social_icons.footer_social a {
        margin-bottom: 20px;
    }
    .px_comment_form .px_submit {
        float: left;
        margin-left: 15px;
        margin-right: 0px;
    }
    .contact_details_ract ul li {
        width: 100%;
    }
    .contact_details_ract ul li div {
        float: left;
        width: 100%;
        padding: 15px 0;
        margin-bottom: 0px;
        border-bottom: 1px solid #fff;
    }
    .contact_details_ract ul li:first-child div:first-child {
        padding-top: 0;
    }
    .photo_grid.width_1,
    .photo_grid.width_2,
    .photo_grid.width_3,
    .photo_grid.width_4,
    .photo_grid.width_5 {
        width: 100%;
    }

    /* Galería Flexbox */
    .px_photo_galley.home_gallery {
        display: flex;
        flex-wrap: wrap;
    }
    .px_photo_galley.home_gallery .photo_grid {
        width: 50% !important;
        box-sizing: border-box;
        padding: 5px;
    }
    .px_photo_galley.home_gallery .gallery_cover img {
        width: 100%;
        height: auto;
        display: block;
    }
    .px_photo_galley.home_gallery .cartelera-footer {
        width: 100%;
        margin-top: 15px;
    }
}

@media (max-width:409px) {
    .px_heading_middle h2:after {
        width: 100%;
        margin-left: 0;
        left: 0;
    }
}

@media (max-width:520px) {
    .subscribe_input input {
        width: 90%;
        margin-right: 0px;
        margin-bottom: 10px;
    }
    .subscribe_input button {
        width: 90%;
    }
}

@media (max-width:480px) {
    .px_event_cover .overlay_inner_bottom {
        padding: 0px 17px;
    }
    .book_now_button {
        top: 20px;
    }
    .overlay_inner_bottom h4 {
        font-size: 16px;
        padding-bottom: 0px;
        margin-bottom: 5px;
    }
    .overlay_inner_bottom p {
        line-height: 20px;
        font-size: 12px;
    }
    .offers_box_wrapper {
        text-align: center;
    }
    .offers_box_wrapper .box_thumb {
        float: none;
        margin-right: 0;
        display: inline-block;
    }
    .offers_box_wrapper .right_details {
        padding: 30px 15px 0px;
        float: left;
        width: 100%;
    }
    .contact_details_ract ul li svg,
    .contact_details_ract ul li i {
        margin-right: 10px;
    }
    /* triangle shape */
    .triangle_shape:before {
        border-top: 40px solid #ff2a70;
        border-right: 40px solid transparent;
    }
    .triangle_shape:after {
        border-bottom: 40px solid #ff2a70;
        border-left: 40px solid transparent;
    }
    /* triangle shape */
    /* pagination css  */
    ul.pagination .nav-previous {
        margin-right: 7px !important;
    }
    .blog_pagination .pagination li {
        margin-right: 7px;
        margin-bottom: 10px;
    }
    ul.pagination .nav-next {
        margin-left: 0px;
    }
    /* pagination css  */
}

@media (max-width:360px) {
    /* club service section css */
    .px_sevice_overlay .overlay_inner {
        padding: 23px 35px 0px;
    }
    .overlay_inner h4 {
        font-size: 18px;
        padding-bottom: 0px;
    }
    /* club service section css */
}

@media (max-width:320px) {
    .px_blog_sidebar .px_recent_posts ul li div p {
        line-height: 20px;
    }
    .px_blog_sidebar .px_recent_posts ul li div a {
        font-size: 16px;
        margin-top: 0px;
        margin-bottom: 0px;
        font-weight: 600;
    }
    /* club service section css */
    .overlay_inner .border {
        width: 45px;
        height: 45px;
        line-height: 60px;
    }
    .px_sevice_overlay .overlay_inner {
        padding: 23px 15px 0px;
    }
    .overlay_inner svg {
        width: 30px;
        height: 30px;
    }
    .overlay_inner_bottom p {
        color: #ffffff;
        line-height: 25px;
        font-size: 15px;
        overflow: hidden;
        text-overflow: ellipsis;
        height: 45px;
    }
    /* club service section css */
    .book_now_button {
        z-index: 99;
    }
    .px_heading_middle h2 {
        font-size: 18px;
    }
    /* comment section css start */
    .px_specific_comment .blog_avtar {
        margin-right: 20px;
    }
    .right_avtar_details h3 {
        font-size: 17px;
    }
    .comment_list ul li ul.children {
        padding-left: 15px;
    }
    .px_blog_comments_section .comment_title {
        font-size: 20px;
    }
    /* comment section css start */
    /* gallery css start*/
    .gallery_desc {
        padding: 20px;
    }
    .gallery_desc h3 {
        font-size: 17px;
    }
    /* gallery css end  */
    .blog_desc p {
        font-size: 15px;
    }
    .blog_desc h3 {
        font-size: 15px;
    }
}

@media (max-width:240px) {
    .px_blog_sidebar .px_recent_posts ul li img {
        margin-bottom: 15px;
    }
    /* book now button */
    .px_event_cover .book_now_button {
        display: none;
    }
    /* book now button */
    .navigation_main {
        margin-top: 32px;
    }
    .px_navigations ul>li>ul>li a {
        white-space: nowrap;
        display: block;
        padding: 0px;
        line-height: 50px;
        font-size: 11px !important;
    }
}

/* ==========================================
   Navbar fijo en móviles
========================================== */

@media (max-width: 991px) {

    .wrapper_navigation,
    .wrapper_navigation.px_home_1,
    .wrapper_navigation.px_interior {
        position: fixed !important;
        top: 0;
        left: 0;
        bottom: auto;
        width: 100%;
        background: rgba(0,0,0,.92);
        z-index: 9999;
    }

    .wrapper_navigation .px_navigations {
        z-index: 10003;
    }

    .wrapper_navigation .px_navigations ul.menu {
        position: relative;
        z-index: 10004;
    }

    /* Empuja el contenido para que no quede debajo del menú */
    .px_slider_home{
        padding-top: 99px;
    }

}

/* ==========================================
   Cartelera
========================================== */


@media (max-width:991px){

    .px_heading_middle h2.interior_titulo{
        font-size:40px !important;
    }

}

@media (max-width:409px){

    .px_heading_middle h2.interior_titulo{
        font-size:30px !important;
    }

}

@media (max-width:320px){

    .px_heading_middle h2.interior_titulo{
        font-size:28px !important;
    }

}
