/*
 * Off Canvas
 * --------------------------------------------------
 */

.sidebar-offcanvas {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    z-index: 999;
    @include box-shadow(0 0 5px rgba(0, 0, 0, 0.5));
    @include rtl-text-align-left();
    background-color: $white;
    @include rtl-left(-50%);
    @include transition(all 0.3s ease-out);
    &.active {
        @include rtl-left(0);
    }
}

.btn-offcanvas {
    &:hover{
        color: $theme-color;
    }
}

.offcanvas-head {
    button {
        padding: 14px 25px;
        border: none;
        border-radius: 0;
    }
    > span {
        text-transform: uppercase;
        @include rtl-margin-left(20px);
        font-weight: 700;
    }
}

.row-offcanvas {
    position: relative;
    @include transition(all 0.25s ease-out);
    &.active {
        @include rtl-left(0);
    }
}

.offcanvas-showright {
    background: rgba($theme-color,0.8);
    position: relative;
    @include transition(all 0.25s ease-out);
    width: 400px;
    position: absolute;
    right: -800px;
    top: 0;
    z-index: 1000;
    display: block;
    padding: 50px 0;
    &.active {
        display: block;
        right: 0;
    }
    .showright{
        background-color: $white;
        @include size(40px,40px);
        border: none;
        @include rtl-margin-right(50px);
        .fa{
            color: $theme-color;
        }
    }
}
@media screen and (max-width: $screen-md-min) {
    .row-offcanvas-right {
        @include rtl-right(0);
    }
    .row-offcanvas-left {
        @include rtl-left(0);
    }
    .row-offcanvas-right
    .sidebar-offcanvas {
        @include rtl-right(-50%);
    }
    .row-offcanvas-right.active {
        @include rtl-right(50%);
    }
    .row-offcanvas-left.active {
        @include rtl-left(0);
    }
} 

.navbar-offcanvas{
    border: none;
    ul#main-menu-offcanvas{
        float: none;
        display: block;
        > li{
            position: relative;
            border-bottom: 1px solid $border-color;
            display: block;
            float: none;
            .caret{
                position: absolute; 
                right: 10px;
                top: 12px;
                @include size(25px, 25px);
                border: 1px solid $border-color;
                z-index: 9;
                background: #f5f5f5;
                &:hover{
                    cursor: pointer;
                }
                &:after{
                    font-family: FontAwesome;
                    content: "\f107";
                    top: 1px;
                    left: 6px;
                    position: absolute;
                    z-index: 9;
                }
                &:before {
                    content: none;
                }
            }
            ul{
                border-radius: 0;
                min-width: 200px;
                li {
                    a{
                        font-size: 14px;
                        border-top: 1px solid $border-color;
                        padding: 5px 20px;
                        line-height: 36px;
                    }
                    &:first-child {
                        a {
                            border-top: none;
                        }
                    }
                    &:hover {
                        > .dropdown-menu {
                            display: block !important;
                            left: 100%;
                            top: 0;
                        }
                    }
                    .caret {
                        top: 12px;
                    }
                }
            }
        }
        li.active > a{
            background: none;
            color: $theme-color;
        }
    }
}
@media (max-width: $screen-phone) {
    .active-mobile{
        &.cart-popup{
            .active-content{
                right: 0;
                left: -100px;
            }
        }
    }
}

@media screen and (max-width: 1320px) {
    .vc_custom_1464937980501 {
        background-size: 55% 100%;
    }
}


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

    
    #pbr-topbar.pbr-topbar-light ul.list-inline li {
        padding: 7px 15px;
    }
    body {
        .vc_custom_1467087998628 {
            padding: 45px 0 0 20px !important;
        }
        .vc_custom_1467020341516 {
            padding: 40px 30px 40px 45px !important;
        }
    }
    .logo-wrapper {
        width: 150px;
    }
    .pbr-header-4 {
        .logo-wrapper {
            width: 100%;
        }
    }
    .pbr-topbar-light {
        .logo-wrapper {
            width: auto;
        }
    }
    .navbar-mega-simple {
        margin-top: 0;
    }
    .reservation-link {
        padding: 10px 15px !important;
    }
    .room-overlap .room-content-wrapper {
        padding: 30px;
        .room-title {
            margin-bottom: 15px;
        }
    }
    .opalhotel_form_section {
        padding: 10px 0 20px;
        footer {
            margin-top: 18px;
        }
    }
    .horizontal-form {
        header.heading-form {
            display: none;
        }
        .button.button-theme {
            font-size: 12px;
        }
    }
    .opalhotel_check_availability {
        .button {
            font-size: 14px;
        }
    }
    #opalhotel_coupon_code {
        max-width: 183px;
    }
    .opalhotel-carousel-rooms .room-carousel-item .room-content-inner .room-title {
        font-size: 22px;
    }
    .room-list .room-content .left-col, .room-list .room-content .right-col {
        padding: 30px !important;
    }
    .room-list .room-content .opalhotel-price {
        margin-bottom: 15px !important;
    }
    .opalhotel-single .opalhotel-room-meta li {
        width: 33.333333% !important;
    }
    .opalhotel-comment-form .comment-form-author, .opalhotel-comment-form .comment-form-email {
        width: 49.65% !important;
    }
    #pbr-masthead.pbr-header-4 .navbar-mega .navbar-nav {
        display: block;
    }
}


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

    
    body {
        .vc_custom_1464937980501 {
            background-image: none !important;
            padding: 0 !important;
            .vc_inner {
                > .col-sm-6 {
                    width: 100%;
                    &:first-child {
                        display: none;
                    }
                }
                .col-sm-3 {
                    width: 50%;
                }
            }
        }
        .vc_custom_1467087998628 {
            padding: 20px 0 0 10px !important;
        }
        .vc_custom_1467020341516 {
            padding: 30px 20px 25px 35px !important;
        }
    }
    .testimonials.testimonials-v2 .testimonials-body-wrapper {
        margin: 0;
    }
    .reservation-link {
        i {
            display: none;
        }
    }
    .navbar-mega .navbar-nav > li > a {
        padding: 7px 10px;
    }
    .room-overlap .room-content-wrapper .room-title {
        font-size: 22px;
    }
    .pbr-topbar-light .logo-wrapper {
        text-align: left;
    }
    .opalhotel-comment-form .comment-form-author, .opalhotel-comment-form .comment-form-email {
        width: 49.74%;
    }
    .opalhotel_check_availability .button {
        font-size: 12px;
    }
    .wpcf7-form .newsletter .wpb_heading, .widget_mc4wp_form_widget .newsletter .wpb_heading {
        margin-bottom: 15px;
    }

    .sidebar {
        margin-bottom: 30px;
    }

    .sidebar-wrapper {
        > div {
            display: none !important;
        }
        .sidebar {
            position: static !important;
        }
    }
    
}


@media screen and (max-width: 979px) {
    
    .pbr-megamenu {
        display: none;
    }
    .topbar-mobile {
        display: block !important;
    }
    .pbr-topbar-light {
        .topbar-mobile {
            width: 100%;
            position: static;
            overflow: hidden;
            background: none;
        }
        .logo-wrapper {
            text-align: left;
        }
    }
    #pbr-topbar ul.list-inline > li {
        padding: 20px 10px;
    }
    #pbr-masthead .logo-wrapper {
        float: left !important;
        margin-left: -75px;
    }
    #pbr-masthead.pbr-header-5 .logo-wrapper {
        margin-left: 0;
    }
    .mobile-header-light {
        .topbar-mobile {
            top: 18px;
        }
    }
    .topbar-mobile {
        position: absolute;
        top: 80px;
        left: 0;
    }
    .header-main {
        width: 50%;
        float: right;
    }
    .room-overlap .room-content-wrapper {
        padding: 20px !important;
        .room-title {
            font-size: 18px !important;
            margin-bottom: 5px !important;
        }
    }
    .opalhotel_form_section .opalhotel-form-field {
        padding: 5px 20px !important;
    }
    #pbr-topbar.pbr-topbar-light {
        padding: 20px 0;
        width: 68%;
        float: right;
        border-bottom: none;
        
    }
    .horizontal-form {
        padding: 10px 0 20px;
    }
    .horizontal-form .form-content .opalhotel-form-field {
        float: none;
        width: 100% !important;
        padding: 5px;
        &.children-input,
        &.adults-input {
            width: 100% !important;
        }
        &.button-wrap {
            padding-top: 15px;
            text-align: center;
        }
    }
    .slider-search-form .opalhotel_form_section {
        margin-bottom: 20px;
    }
    .pbr-header-light {
        display: none;
    }
    .widget_opalhotel-check-available {
        .opalhotel_form_section .opalhotel-form-field {
            padding: 5px 0 !important;
        }
        .opalhotel_form_section footer {
            text-align: center;
        }
    }
    .tribe-events-list .tribe-events-page-title,
    .tribe-events-month .tribe-events-page-title {
        font-size: 24px;
        top: -100px;
    }
    .opalhotel-room-meta li {
        width: 32%;
    }
    .room-list {
        .room-content,
        .room-thumbnail {
            width: 100% !important;
            float: none !important;
        }
        .room-thumbnail {
            position: relative;
            z-index: 1;
        }
        &:after {
            left: 50% !important;
        }
    }
    .pbr-info-reservation .info-reservation-wrapper .reservation-phone {
        font-size: 18px;
    }
    .pbr-header-5-wrapper {
        .topbar-mobile {
            top: 0;
        }
    }
    .pbr-header-6-wrapper {
        .topbar-mobile {
            top: 15px;
            left: 50%;
            margin-left: -52px;
        }
    }

    
}


@media screen and (max-width: 799px) {
    
    .tribe-bar-collapse #tribe-bar-collapse-toggle {
        display: none !important;
    }
    #tribe-events-footer ~ a.tribe-events-ical.tribe-events-button {
        height: auto;
    }
    body {
        .vc_custom_1467080364580 {
            background-image: none !important;
            .vc_figure {
                display: block;
                .vc_single_image-wrapper {
                    display: block;
                    img {
                        width: 100%;
                    }
                }
            }
        }
    }
    .room-overlap .room-content-wrapper .room-meta-info .opalhotel-room-meta li {
        padding: 5px 0;
    }
    .opalhotel_form_section footer {
        padding: 0 20px !important;
    }
    .opalhotel-room-meta li {
        border-right: none;
    }
    .tribe-events-list .tribe-events-venue-details {
        padding: 8px 0 0;
    }
    #tribe-events-bar .tribe-bar-submit button {
        font-size: 12px;
    }
    .room-overlap .room-description,
    .room-overlap .link-reservation {
        display: none;
    }
    .room-grid .room-title {
        font-size: 20px !important;
    }
    .opalhotel-archive {
        .room-grid .room-title {
            min-height: 94px;
        }
    }
    #pbr-masthead.pbr-header-4 .header-main {
        float: none;
        width: 100%;
        .logo-wrapper {
            @include rtl-margin-left(0);
        }
        .reservation-link {
            top: 5px;
        }
    }
    .widget-text-heading .widget-heading {
        font-size: 30px;
    }
    .widget-text-heading.style-6 .widget-heading {
        font-size: 30px;
    }
    .widget.widget-events-list .event-item .tribe-events-item.style-2 .tribe-events-event-image {
        margin-top: 20px;
    }

}


@media screen and (max-width: 767px) {
    
    body .vc_custom_1466736475282 {
        .col-sm-3 {
            > div {
                border-right: none !important;
            }
        }
    }
    .widget-quicklink-menu {
        display: block !important;
        margin-bottom: 0 !important;
    }
    body {
        .vc_custom_1465631849297,
        .vc_custom_1465631866769,
        .vc_custom_1465631884615 {
            border-right: none !important;
        }
        .vc_tta.vc_general .vc_tta-panel-title {
            border-bottom: 1px solid $border-color;
        }
        .vc_tta-panel-body .col-sm-1 {
            display: none;
        }
        .vc_custom_1467020341516 {
            margin-right: 0 !important;
            padding: 20px !important;
        }
        .vc_custom_1467020084986 {
            margin-left: 0 !important;
        }
        .vc_custom_1472892268804 {
            margin-top: 0px !important;
        }
        .vc_custom_1489459582032 {
            margin-right: 0 !important;
        }
        .vc_custom_1489459528813 {
            margin-left: 0 !important;
        }
    }
    .vc_custom_1465811319397,
    .vc_custom_1465811580878 {
        .wpb_single_image .vc_figure {
            display: block !important;
            .vc_single_image-wrapper {
                display: block !important;
                img {
                    width: 100%;
                }
            }
        }
    }
    .frontpage-4 {
        article.post {
            .entry-thumb {
                margin-bottom: 15px;
            }
        }
    }
    #pbr-masthead .header-main {
        padding: 20px 0;
    }
    .topbar-mobile {
        top: 70px;
    }
    body {
        .vc_custom_1468651868381 {
            margin-right: 0 !important;
        }
        .vc_custom_1468651826369 {
            margin-left: 0 !important;
        }
    }
    .navbar-offcanvas ul#main-menu-offcanvas > li .caret {
        top: 8px;
    }
    .pbr-breadscrumb {
        padding: 80px 20px;
        .container > h3 {
            font-size: 30px;
        }
    }
    ul.opalhotel-search-results li.opalhotel-available-item {
        .room-info {
            width: 100% !important;
            border-right: none !important;
            border-bottom: 1px solid $border-color;
            padding: 0 0 15px !important;
            margin-bottom: 20px;
        }
        .room-actions {
            width: 100% !important;
            padding: 0 !important;
        }
    }
    #tribe-events-bar #tribe-bar-form .tribe-bar-filters .tribe-bar-filters-inner {
        padding: 20px 0;
    }
    .tribe-bar-date-filter,
    .tribe-bar-search-filter,
    .tribe-bar-submit {
        padding: 15px 10px;
    }
    #tribe-events-bar #tribe-bar-form #tribe-bar-views {
        left: 80%;
        width: 20%;
    }
    .tribe-events-list .tribe-events-page-title, .tribe-events-month .tribe-events-page-title {
        font-size: 20px;
    }
    .opalhotel-comment-form .comment-form-author, .opalhotel-comment-form .comment-form-email {
        width: 49.68%;
    }
    .room-overlap.style-2 .room-content-wrapper .room-description {
        display: block;
    }
    .room-overlap.style-2 .room-content-wrapper .link-reservation {
        display: inline-block;
    }
    .vc_row.vc_row-flex,
    .vc_row.vc_row-flex .vc_row,
    .vc_row.vc_row-flex .vc_row > .vc_ {
        display: block;
    }
    .vc_row.vc_row-flex .vc_row > .vc_.col-has-fill {
        margin-top: 30px;
        > div {
            border: none !important;
        }
    }

}


@media screen and (max-width: 639px) {
    
    body {
        .vc_custom_1465178589285 {
            padding: 0 !important;
        }
    }
    
    .reservation-link {
        padding-left: 0 !important;
        padding-right: 0 !important;
        border: none !important;
    }
    #pbr-topbar.pbr-topbar-light {
        float: none;
        width: 100%;
        border-bottom: 3px double $theme-color;
        .logo-wrapper {
            max-width: 150px;
        }
        .user-login {
            margin-top: 0;
        }
    }
    .mobile-header-light .topbar-mobile {
        position: static;
    }
    .testimonials.testimonials-v2 .testimonials-body {
        padding: 0 40px 120px;
    }
    .room-list {
        .room-thumbnail {
            float: none;
            width: 100%;
        }
        .room-content {
            padding-left: 0;
        }
    }
    .opalhotel-comment-form .comment-form-author, .opalhotel-comment-form .comment-form-email {
        width: 49.5% !important;
    }
    ul.opalhotel-search-results li.opalhotel-available-item .opalhotel-catalog-thumbnail {
        float: none;
        width: 100%;
        margin: 0 0 30px;
        img {
            width: 100%;
        }
    }
    .opalhotel_order_confirm_order .column {
        width: 100%;
        border-right: none;
        padding: 0;
        margin: 0 0 15px;
    }
    .tribe-bar-collapse #tribe-bar-collapse-toggle {
        display: block !important;
        left: 4%;
        width: 72%;
    }
    #tribe-events-bar #tribe-bar-form .tribe-bar-filters .tribe-bar-button {
        display: none;
    }
    #tribe-events-bar #tribe-bar-form #tribe-bar-views .tribe-bar-views-inner .tribe-bar-views-list {
        position: absolute;
    }
    #tribe-events-bar #tribe-bar-form #tribe-bar-views {
        height: 58px;
        margin: 0;
        padding: 20px 0;
    }
    #tribe-events-bar #tribe-bar-form #tribe-bar-views .tribe-bar-views-inner .tribe-bar-views-list li.tribe-bar-views-option {
        margin-left: 10px;
    }
    #tribe-events-bar #tribe-bar-form .tribe-bar-filters .tribe-bar-filters-inner {
        @include opacity(1);
        @include scale(1);
        padding-bottom: 0;
    }
    #tribe-events-bar .tribe-bar-date-filter,
    #tribe-events-bar .tribe-bar-search-filter,
    #tribe-events-bar .tribe-bar-submit {
        width: 100%;
        margin: 0;
        padding-left: 15px;
        padding-right: 15px;
    }
    #tribe-events-bar .tribe-bar-submit {
        padding-bottom: 0;
    }
    #tribe-bar-form.tribe-bar-collapse #tribe-bar-views + .tribe-bar-filters {
        position: static;
    }
    .tribe-events-list .tribe-events-page-title, .tribe-events-month .tribe-events-page-title {
        background-color: $theme-color;
        color: #fff;
        margin-bottom: 20px !important;
    }
    .opalhotel-single .opalhotel-room-meta li {
        width: 50% !important;
    }
    ul.opalhotel-search-results li.opalhotel-available-item .room-content {
        overflow: visible;
        padding: 0 30px 10px !important;
    }
    ul.opalhotel-search-results li.opalhotel-available-item .room-actions .opalhotel-room-toggle-packages {
        margin: 10px 0 0 !important;
    }
    .pbr-header-4-wrapper {
        .topbar-mobile {
            top: 0;
        }
        .reservation-link {
            padding-left: 10px !important;
            padding-right: 10px !important;
        }
    }
    #pbr-masthead.pbr-header-4 .header-main .logo-wrapper {
        @include rtl-float-left();
        width: auto;
    }
    .room-overlap.style-2 .room-content-wrapper .opalhotel-price {
        bottom: auto !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
    }
    #pbr-masthead.pbr-header-5 .header-main {
        display: block;
    }
    #pbr-masthead.pbr-header-5 .logo-wrapper {
        float: none !important;
        width: auto;
    }
    #pbr-masthead.pbr-header-5 .reservation-link {
        display: none;
    }
    #pbr-masthead.pbr-header-6 {
        .header-inner {
            display: none;
        }
        .header-main .logo-wrapper {
            float: right !important;
        }
    }
    .pbr-header-6-wrapper .topbar-mobile {
        left: 0;
        margin-left: 0;
    }

}


@media screen and (max-width: 479px) {
    
    .sidebar-offcanvas {
        width: 100%;
        @include rtl-left(-100%);
    }
    .tparrows {
        @include square(20px);
        &:before {
            line-height: 20px;
            font-size: 10px;
        }
    }
    .rev-btn {
        font-size: 12px !important;
        padding: 5px 15px !important;
        line-height: 18px !important;
    }
    .vc_general.vc_cta3.vc_cta3-icons-on-border.vc_cta3-icons-left.vc_cta3-icon-size-md {
        margin-left: 0 !important;
    }
    #tribe-bar-form.tribe-bar-collapse #tribe-bar-views + .tribe-bar-filters {
        width: 100%;
        right: 0;
        float: none;
        position: relative;
    }
    .tribe-events-calendar thead th {
        padding: 5px 0;
    }
    .pbr-topbar-light {
        .col-xs-6 {
            width: 100%;
        }
        .logo-wrapper {
            text-align: center;
        }
    }
    .testimonials.testimonials-v2 .testimonials-body {
        padding: 0 30px 120px;
    }
    .pbr-header-absolute-wrapper {
        position: static;
    }
    .topbar-mobile {
        top: 0;
    }
    #pbr-topbar ul.list-inline > li {
        padding-top: 17px;
        padding-bottom: 17px;
    }
    #pbr-masthead .header-main {
        width: 100%;
        float: none;
        .logo-wrapper {
            margin-left: 0;
        }
    }
    .room-overlap .opalhotel-price {
        left: 20px !important;
        bottom: 15px !important;
    }
    #pbr-topbar.pbr-topbar-light .logo-wrapper {
        max-width: 300px;
        margin-bottom: 10px;
    }
    .opalhotel-carousel-rooms .room-carousel-item .room-price-wrap {
        float: none !important;
        margin: 0 0 20px;
    }
    .opalhotel-reservation-step {
        .button {
            display: block;
            margin-bottom: 15px;
            width: 100%;
        }
    }
    .opalhotel_reservation_customer_group {
        float: none !important;
        width: 100% !important;
    }
    .opalhotel_reservation_customer_group.left .opalhotel-form-group {
        margin-right: 0 !important;
    }
    .opalhotel_reservation_customer_group.right .opalhotel-form-group {
        margin-left: 0 !important;
    }
    .opalhotel-form-section-group.footer {
        overflow: visible !important;
        .opalhotel-button-submit {
            float: none !important;
            width: 100% !important;
        }
    }
    .opalhotel-reservation-step .choose-room {
        margin-top: 0 !important;
    }
    .room-list .room-price-wrap {
        float: none;
        margin-bottom: 20px;
    }
    .opalhotel-single .owl-buttons > div {
        width: 30px !important;
        height: 30px !important;
        line-height: 30px !important;
        margin-top: -15px !important;
    }
    #tribe-events-bar #tribe-bar-form #tribe-bar-views {
        width: 29%;
        left: 71%;
    }
    .tribe-bar-collapse #tribe-bar-collapse-toggle {
        width: 62%;
    }
    .pbr-breadscrumb .container > h3 {
        font-size: 20px;
        line-height: 28px;
    }
    .tribe-events-single .tribe-events-single-event-title {
        font-size: 26px;
        line-height: 36px;
    }
    .tribe-events-month table.tribe-events-calendar tbody td.tribe-events-present div[id*="tribe-events-daynum-"] a, 
    .tribe-events-month table.tribe-events-calendar tbody td.tribe-events-has-events div[id*="tribe-events-daynum-"] a {
        font-size: 12px;
    }
    .tribe-events-list .tribe-events-page-title, .tribe-events-month .tribe-events-page-title {
        font-size: 14px;
    }
    .room-list {
        .room-content {
            .left-col,
            .right-col {
                width: 100% !important;
            }
            .left-col {
                padding-bottom: 10px !important;
            }
            .right-col {
                padding-top: 0 !important;
            }
        }
        &:after {
            content: none !important;
        }
    }
    .opalhotel-single .opalhotel-room-meta li {
        padding: 15px !important;
        font-size: 12px !important;
        &:before {
            font-size: 14px !important;
            margin-right:5px !important;
        }
    }
    .opalhotel-single .room-description,
    .room-box,
    .opalhotel-single #opalhotel-reviews {
        padding: 20px !important;
    }
    .opalhotel-single .room-discounts-info .alert-success,
    .opalhotel-single .opalhotel-price-day .alert-danger {
        padding: 15px 20px !important;
    }
    .opalhotel-comment-form .comment-form-author, .opalhotel-comment-form .comment-form-email {
        width: 100% !important;
        padding: 0 !important;
    }
    .opalhotel-star {
        display: block !important;
        width: 100% !important;
    }
    .sidebar {
        padding: 20px 20px 0;
    }
    ul.opalhotel-search-results li.opalhotel-available-item .room-content {
        padding: 0 20px !important;
        .room-meta-info li {
            width: 100% !important;
            padding-top: 10px !important;
            margin-top: 10px !important;
            border-top: 1px solid $border-color !important;
            border-left: none !important;
        }
        .room-title {
            margin-bottom: 15px !important;
        }
    }
    #opalhotel_coupon_code {
        max-width: 157px !important;
    }
    #pbr-masthead.pbr-header-4 .header-main .reservation-link {
        display: none;
    }
    .pbr-header-4-wrapper {
        background-color: rgba($black,.8);
        position: static;
    }
    #pbr-masthead.pbr-header-4 .header-main .logo-wrapper {
        float: none;
        width: 100%;
        margin: 0;
    }
    .widget-text-heading .widget-heading,
    .widget-text-heading.style-6 .widget-heading {
        font-size: 30px !important;
    }
    #pbr-masthead.pbr-header-5 .logo-wrapper {
        float: right !important;
    }
    .testimonials.testimonials-v2 .testimonials-body {
        padding: 0 0 120px;
    }

}