/*
Theme Name: Mystiqueroom
Version: 1.0
Author: cantinart
Author URI: https://cantinart.hu
Description: Mystiqueroom
*/

strong {
    font-weight: bold;
}

small {
    font-size: 80%;
}

.accent-color {
    color: var(--nectar-accent-color);
}

.accent-border {
    border-color: var(--nectar-accent-color);
}

.fully-rounded {
    border-radius: 35px!important;
}

.accent-background {
    background-color: var(--nectar-accent-color);
}

.accent-background h2, .accent-background a {
    color: #333;
}

.swiper-slide h2.ns-heading-el {
    font-weight: bold;
}

[class*=-bg-panel] {
    border-radius: 15px;
    padding: 15px;
}

.accent-bg-panel {
    background: var(--nectar-accent-color);
    color: black;
}

.extra-1-bg-panel {
    background: var(--nectar-extra-color-1);
    color: white;
}

.white-bg-panel {
    background: white;
    color: black;
}

.acccent-border-panel {
    border-radius: 15px;
    padding: 15px;
    margin-bottom:15px;
    border: 1px solid var(--nectar-accent-color);
}

.wpml-ls-menu-item .wpml-ls-flag {
    display: inline;
    vertical-align: middle;
	width: 60px;
    height: auto;
}

.nectar-fancy-ul ul.round-icon li {
    padding-left: 50px;
}

.nectar-fancy-ul ul.round-icon li .icon-default-style[class^="icon-"] {
    color: black;
    background: var(--nectar-accent-color);
    width: 35px;
    height: 35px;
    line-height: 35px;
    font-size: 23px;
    border-radius: 50%;
}

span.badge-pill-border {
    padding: 5px 25px;
    border: 1px solid;
    border-radius: 40px;
}

button.nectar-button {
    border: 0;
}

button.nectar-button i, button.nectar-button i[class*=fa-] {
    color: white;
    position: relative;
    top: auto;
    right: auto;
    opacity: 1;
    margin-top: 0;
}

select.form-control {
    padding: 10px;
    width: 100%;
    border: none;
    font-weight: 400;
    font-size: 12px;
    line-height: 22px;
    color: #555;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .16);
    transition: all .2s linear;
}

.material.woocommerce-page[data-form-style=default] input#coupon_code,
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select.form-control,
textarea.form-control {
    border-radius: 25px;
    padding: 10px 15px;
    height: auto;
    background-color: rgba(0, 0, 0, .04);
    border: 2px solid transparent;
}

select.form-control.light {
    background-color: rgba(255, 255, 255, 0.35);
    color: black;
}

#page-header-wrap [data-alignment-v=middle] .col {
    position: absolute;
}

@media (min-width: 768px) {
    .h-md-auto {
        height: auto !important;
    }
}

/* ---------------------------------------- Contact form ---------------------------------------- */
.wpcf7-form .form-group {
    position: relative;
}

.wpcf7-form .form-control {
    background: rgba(255, 255, 255, 0.5);
    padding: 1em 0.75em;
    height: auto;
}

.wpcf7-form .form-group label {
    margin: 0;
    position: absolute;
    top: .75rem;
    margin-left: .25rem;
    padding: .5rem;
    line-height: 1em;
    color: var(--dark);
    z-index: 9;
    transition: .2s all;
}

.wpcf7-form .form-group.has-value label {
    top: -0.55rem;
    background: var(--nectar-accent-color);
    font-size: 13px;
    padding: .25rem;
    border-radius: 15px;
    margin-left: 10px;
}


/* ---------------------------------------- Room Page ---------------------------------------- */
#room-header {
    padding-top: 500px;
    background-size: cover;
    background-position: center;
    margin: 0 20px -160px;
    border-radius: 15px;
}

.eventhall div#room-header {
    margin-bottom: -300px;
}

@media (max-width: 1300px) {
    #room-header {
        padding-top: 400px;
        margin-bottom: -150px;
    }

    .eventhall div#room-header {
        margin-bottom: -270px;
    }
}

@media (max-width: 767px) {
    #room-header {
        margin-bottom: -130px;
    }

    .eventhall div#room-header {
        margin-bottom: -255px;
    }
}

div#room-data {
    text-align: center;
}

.accent-bg-panel p {
    padding: 0;
    font-weight: bold;
}

p.property-value {
    font-size: 37px;
    line-height: 1.4em;
}

p.property-value small {
    font-size: 60%;
}

#gallery img {
    border-radius: 15px;
}

/* ---------------------------------------- Room list ---------------------------------------- */

button[data-room_filter_tag].active {
    background: var(--nectar-accent-color) !important;
    color: var(--nectar-extra-color-1) !important;
    border-color: var(--nectar-accent-color) !important;
}


.room-list-single-element {
    border-radius: 15px;
    padding: 15px;
    height: 450px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.room-list-single-element p, .room-list-single-element img {
    position: relative;
}

span.room-list-single-element-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
    z-index: 0;
    border-radius: 15px;
    transition: .45s all;
}

.room-list-single-element:hover span.room-list-single-element-overlay {
    background: rgba(0, 0, 0, .8);
}

a.room-list-single-element-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

span.difficulty-indicator {
    width: 8px;
    border-top: 3px solid white;
    margin-left: 5px;
}

span.difficulty-indicator.first-half {
    border-top-left-radius:2px;
    border-bottom-left-radius:2px;
}

span.difficulty-indicator.second-half {
    margin-left: 0;
    border-top-right-radius:2px;
    border-bottom-right-radius:2px;
}

span.difficulty-indicator.active {
    border-color: var(--nectar-accent-color);
}

span.difficulty-indicator-container {
    display: flex;
    margin-left: 15px;
}

p.room-list-single-description {
    width: calc(100% - 100px);
    font-size: 17px;
    line-height: 25px;
    max-height: 75px;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.room-list-single-video-container {
    width: 100px;
    text-align: center;
}

.room-list-single-element .nectar-button.regular.m-extra-color-gradient-1 {
    z-index: 1;
}

a.video-toggler {
    padding: 15px;
    border: 1px solid white;
    border-radius: 50%;
    color: white;
    background: transparent;
    position: relative;
    z-index: 1;
}

img.room-list-single-logo {
    max-height: 200px;
}


/* ------------------------------------ Room list By Place -------------------------------------- */

.room-mini-list-element {
    position: relative;
    margin-bottom: 10px;
}

.room-mini-list-element * {
    transition: .15s all;
}

a.room-mini-list-element-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 11;
}

.room-mini-list-element-content {
    border-radius: 15px;
    padding: 5px;
}

a.room-mini-list-element-link:hover + .room-mini-list-element-content {
    background: #95fca3;
    background: linear-gradient(125deg, #95fca3, #13ccdc);
}

a.room-mini-list-element-link:hover + .room-mini-list-element-content * {
    color: #333;
}
a.room-mini-list-element-link:hover + .room-mini-list-element-content .room-mini-list-element-image img {
    -webkit-filter: invert(100%); /* Safari/Chrome */
    filter: invert(100%);
}

.room-mini-list-element-image {
    width: 80px;
    padding-right: 10px;
    padding-left: 5px;
}

.room-mini-list-element-image img {
    margin: 0 !important;
    margin-right: 10px !important;
}

.room-mini-list-element-description {
    width: calc(100% - 80px);
}

.room-mini-list-element h3 {
     font-size: 19px;
     line-height: 1.4em;
     margin: 0 !important;
 }

.room-mini-list-element-description p {
    font-size: 13px;
    line-height: 16px;
    opacity: 0.7;
}

h4.section-divider-title {
    position: relative;
}

h4.section-divider-title:before {
    content: '';
    position: absolute;
    width: 100%;
    border-bottom: 1px solid var(--nectar-accent-color);
    top: 50%;
    left: 0;
}

h4.section-divider-title span {
    background-color: #070e01;
    position: relative;
    padding: 0 3px;
}


/* ---------------------------------------- gift card ---------------------------------------- */

.gift-card-box {
	background-color: gray;
	padding: 25px;
	max-width: 350px;;
	margin: auto;
	border-radius: 15px;
	text-align: center;
}

.gift-card-input,
.wp_paypal_button_options,
input.wp_pp_button_reference {
	width: 100% !important;
	height: 36px;
	padding: 5px;
	font-size: 18px;
}

.gift-card-p,
.wp_pp_button_reference_section label {
	font-size: 18px;
	font-weight: bold;
	color: #776346;
	width: 100%;
	margin: 34px 0 18px !important;
}

input.buy_now_button_image {
	margin-top: 22px;
	color: black;
}

select.form-control option {
    color: black;
}

/* ---------------------------------------- Room Page ---------------------------------------- */

#room-header {
    position: relative;
    overflow: hidden;
}

#room-header video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 140%;
}

.room-logo-holder {
    position: relative;
}
img.room-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -220px;
}

section#reservation {
    /*padding: 500px 0;*/
}

a.gallery-image {
    display: block;
    width: 100%;
    height: 200px;
    background-size: cover;
    background-position: center;
}


/* ---------------------------------------- Simple Reservation ---------------------------------------- */


#simple-reservation section{
	display: none;
}
#simple-reservation section.active{
	display: block;
}

#simple-reservation section.room-select {
    border-top: 1px solid var(--nectar-extra-color-1);
    border-bottom: 1px solid var(--nectar-extra-color-1);
    padding-top: 40px;
}

#simple-reservation section.room-select h2 {
    font-size: 33px;
    margin-bottom: 40px;
}

.reservation-container .badge-pill-border,
#simple-reservation .reservation-table .badge-pill-border {
    width: 400px;
    max-width: 100%;
    display: inline-block;
}

.reservation-container img.reservation-room-logo.img-fluid {
    max-height: 100px;
}

.desktop-reservation-date-selector p.text-muted {
    padding: 0;
    margin: 0;
    position: absolute;
    left: 0;
    font-size: 17px;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.5) !important;
}

.desktop-reservation-date-selector p.text-muted a {
    color: rgba(255, 255, 255, 0.5) !important;
}

.desktop-reservation-date-selector h5 + p.text-muted {
    left: auto;
    right: 0;
}

#simple-mobile-date-helper {
    width: 0;
    height: 0;
    padding: 0;
    border: 0;
    margin: 0;
    position: absolute;
}

.simple-reservation-date-select {
    margin: 0;
    text-align: center;
}

.simple-reservation-date-select span {
    color: white!important;
    font-size: 21px;
    margin: 0 15px;
}

.simple-reservation-date-select i {
    color: var(--nectar-accent-color) !important;
    font-size: 33px;
}

h4.simple-reservation-day-title {
    font-size: 21px;
    line-height: 1.4em;
}

h4.simple-reservation-day-title span {
    opacity: .6;
}

.room-select img.img-fluid {
    filter: grayscale(1);
    transition: .5s all;
	cursor: pointer;
}

.room-select img.img-fluid:hover {
    transform: scale(1.1);
}

.room-select .active img.img-fluid, .room-select img.img-fluid:hover {
    filter: grayscale(0);
}

.simple-reservation-date-select i {
    cursor: pointer;
}

i.time-indicator {
    display: inline-block;
    height: 40px;
    width: 40px;
    line-height: 40px;
    border-radius: 50%;
    background: var(--nectar-accent-color);
    color: var(--nectar-extra-color-1);
    cursor: pointer;
	transition: .15s all;
    top:0!important;
}

i.time-indicator.fa-solid.fa-ban {
    color: #e93f33;
    background: transparent;
    cursor: default;
    font-size: 40px;
}

i.time-indicator.fa-solid.fa-phone {
    color: #333;
}

i.time-indicator.fa-bookmark {
    color: #FDB82F;
    background: transparent;
    font-size: 40px;
}

.btn-prev {
    cursor: pointer;
    margin-top: 20px;
    margin-bottom: 20px;
    display: inline-block;
}

div#mobile-reservation-time-selector {
    position: relative;
}

.datepicker.active {
	transform: translateZ(999px);
}

ul#times-container {
    padding: 0;
    list-style: none;
    background: rgba(14, 6, 3, 0.95);
    position: absolute;
    width: 100%;
	z-index: 9;
	transform: translateZ(999px);
	display:none;
}

ul#times-container li {
    padding: 10px;
    cursor: pointer;
    border: 1px solid white;
    border-top: 0;
}

ul#times-container li:hover {
    background: rgba(255, 255, 255, 0.15);
}

ul#times-container li i {
    width: 25px;
    height: 25px;
    line-height: 25px;
    font-size: 15px;
    margin-right: 5px;
}

ul#times-container li a {
    color: var(--white);
    display: block;
    margin: -10px;
    padding: 10px;
	text-decoration:none;
}

.col-12.text-center.place-container:after {
    content: '';
    display: block;
    position: absolute;
    border-bottom: 2px solid #e4c18a;
    width: calc(100% - 30px);
    top: 50%;
	z-index: -1;
}

@media (min-width: 767px) and (max-width: 1100px) {
    h4.simple-reservation-day-title.m-0 {
        font-size: 15px;
        line-height: 1.4em;
    }
}

/* -------------------- Eventhall Reservation -------------------- */
.simple-reservation-date-select.text-dark *:not(.accent-color) {
    color: var(--nectar-extra-color-1) !important;
}


a.eventhall-only-phone-time i {
    margin-right: 10px;
    font-size: 27px;
}
a.eventhall-only-phone-time {
    text-decoration: none;
    display: inline-flex;
    background: #ffb818;
    border-radius: 50px;
    padding: 5px 20px;
    text-align: left;
    align-items: center;
    font-size: 17px;
    line-height: 20px;
}

p.eventhall-unavailable-time {
    display: inline-block;
    background: red;
    padding: 15px 30px;
    border-radius: 50px;
    color: white;
}

.eventhall-time-select-container h5 {
    color: var(--nectar-extra-color-1);
    font-size: 31px;
    font-weight: bold;
}

span.eventhall-changing-field {
    font-size: 33px;
    line-height: 40px;
    color: var(--nectar-accent-color);
    font-weight: bold;
}


/* ---------------------------------------- Bulk Reservation ---------------------------------------- */

.room-logo-container p {
    font-size: 13px;
}

#bulk-reservation section{
	display: none;
	width: 100%;
}
#bulk-reservation section.active{
	display: block;
}

#bulk-reserved-times {
    position: fixed;
    right: -240px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
	width: 300px;
	display: flex;
    flex-direction: column;
    -webkit-transition: .15s all;
    -moz-transition: .15s all;
    -ms-transition: .15s all;
    -o-transition: .15s all;
    transition: .15s all;

    box-shadow: none;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}
#bulk-reserved-times.show{
	right: 0;

    box-shadow: 0 0 10px rgba(0, 0, 0, .7);
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

#bulk-reserved-times.hide{
	right:-300px;
}

#bulk-reserved-heading {
    display: flex;
    background: var(--nectar-extra-color-1);
    cursor: pointer;
    align-items: center;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .7);
}

#bulk-reserved-times.show div#bulk-reserved-heading {
    border-bottom-left-radius: 0;
    box-shadow: none;
}

#bulk-reserved-content {
    margin-left: 60px;
    width: 300px;
    display: inline-block;
    background: white;
	overflow-y: scroll;
    border-bottom-left-radius: 20px;

    -webkit-transition: .15s all;
    -moz-transition: .15s all;
    -ms-transition: .15s all;
    -o-transition: .15s all;
    transition: .15s all;
}

#bulk-reserved-times.show #bulk-reserved-content {
    margin-left: 0px;
}

div#bulk-reserved-content i {
    cursor: pointer;
    font-size: 27px;
    padding: 7px;
}


#bulk-reserved-heading i {
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 31px;
    color: var(--nectar-accent-color);
    top: 0;
	-webkit-transition: .15s all;
	-moz-transition: .15s all;
	-ms-transition: .15s all;
	-o-transition: .15s all;
	transition: .15s all;
}

#bulk-reserved-heading p {
    margin: 0;
    font-size: 19px;
    line-height: 50px;
    padding-bottom: 0;
    color: white;
    flex-grow: 1;
    text-align: center;
}

#bulk-reserved-content h5 {
    color: var(--nectar-extra-color-1);
    margin: 0;
}

#bulk-reserved-content h5:first-of-type {
    margin-top: 15px;
}

#bulk-reservation-table img.img-fluid {
    max-height: 140px;
}

.bulk-reservation-date-select i, #bulk-date-selector {
    cursor: pointer;
}

.bulk-reservation-date-selector p.text-muted {
    padding: 0;
    margin: 0;
    position: absolute;
    left: 0;
    font-size: 17px;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.5) !important;
}

#bulk-date-selector {
    color: #333;
    font-size: 19px;
    margin-left: 15px;
    margin-right: 15px;
}

.bulk-reservation-date-select i {
    border-radius: 50%;
    transition: .15s all;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 33px;
    text-align: center;
    color: var(--nectar-extra-color-1);
}

input#bulk-date-helper {
    width: 0;
    height: 0;
    padding: 0;
    border: 0;
	margin:0;
    position: absolute;
}

#select-guests-num {
    position: fixed;
    top: 0;
    left: 0;
	width:100%;
	height:100%;
	z-index:999999999;
    background: rgba(0, 0, 0, .95);
}

#select-guests-num-container {
    position: absolute;
	max-width: 100%;
    top: 50%;
    left: 50%;
    padding: 50px;
    transform: translate(-50%, -50%);
}

#bulk-reservation-table img.place-image {
    width: 100px;
    margin-left: -15px;
}

select#bulk-reservation-start-time-selector {
    background: white;
    text-align: center;
    font-size: 21px;
}

@media all and (max-width: 767px) {
    .bulk-single-room-row .room-logo-container {
        padding-right: 0;
        position: relative;
    }

    .bulk-single-room-row .room-logo-container:before {
        background: var(--nectar-extra-color-1);
        content: '';
        height: 100%;
        width: calc(100% - 15px);
        position: absolute;
        top: 0;
        left: 15px;
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
    }

    .bulk-single-room-row .room-logo-container .white-bg-panel {
        z-index: 1;
        position: relative;
    }

    .bulk-single-room-row .room-times-container {
        padding-left: 0;
    }


    .bulk-single-room-row .room-times-container .extra-1-bg-panel {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }

    .bulk-reservation-room-time {
        justify-content: center;
        padding: 0;
    }

    .bulk-reservation-room-time h5 {
        margin-left: -10px;
        margin-right: -10px;
    }

}

/* FOOTER */

#footer-partner-logos img {
    filter: hue-rotate(60deg);
}

ul#menu-lablec-menu {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
}

ul#menu-lablec-menu li {
    list-style: none;
    padding: 0 10px;
    margin-bottom: 10px;
    border-right: 1px solid #ababab;
}

ul#menu-lablec-menu li:last-of-type {
    border: 0;
}

.woocommerce-checkout .nectar-global-section.before-footer, .woocommerce-account .nectar-global-section.before-footer, .woocommerce-cart .nectar-global-section.before-footer, body:not(.page):not(.single-post):not(.single-portfolio) .nectar-global-section.before-footer, .single-portfolio #regular_portfolio [data-nav-pos="in_header"] .nectar-global-section.before-footer {
    padding-top: 0;
}

/* ---------------------------------------- Responsive ---------------------------------------- */

@media all and (min-width: 1200px){
	h1.bigger-lg {
		font-size: 3rem;
	}
}

@media all and (min-width: 1001px) and (max-width: 1199px){
    .highlighted-menu-item > .sf-with-ul * {
        font-size: 130%;
    }

    #top nav > ul > li > a {
        font-size: 15px;
        margin-right: 10px !important;
        margin-left: 10px !important;
    }
}

@media all and (max-width: 1000px) {
    span.eventhall-changing-field {
        font-size: 25px;
    }
}

@media all and (max-width: 690px) {
    .room-list-single-element p {
        font-size: 13px;
        line-height: 1.4em;
    }

    p.property-title {
        font-size: 13px;
    }

    p.property-value {
        font-size: 27px;
        line-height: 1.4em;
    }

    .room-list-filter button.nectar-button.small.see-through.accent-color {
        padding: 5px 10px;
    }

    ul#menu-lablec-menu {
        border-top: 1px solid #bbb;
        padding-top: 20px;
    }
    ul#menu-lablec-menu li {
        font-size: 13px;
        margin-bottom: 5px;
    }
}

@media all and (max-width: 575px) {
    p.room-list-single-description {
        opacity: 0;
        height: 0;
    }

    span.difficulty-indicator {
        width: 5px;
    }

    span.difficulty-indicator-container {
        margin-left: 0;
        margin-top:7px;
    }

    .suggestion-element strong {
        font-size: 13px;
    }
    .suggestion-element img {
        width: 40px;
    }

    p.property-value {
        font-size: 19px;
    }

    .eventhall-time-select-container p {
        font-size: 14px;
        line-height: 1.4em;
    }

    span.eventhall-changing-field {
        font-size: 18px;
        line-height: 1.5em;
    }

    body.material #header-secondary-outer .nectar-center-text {
        font-size: 13px;
    }
    body.material #header-secondary-outer .nectar-center-text a.mr-5 {
        margin-right: 10px !important;
    }
}


/* ---------------------------------------- Animations ---------------------------------------- */
.hover-scale {
	transition: 1s all;
}
.hover-scale:hover {
	transform:scale(1.1);
}
.animate-rotate:hover {
	animation-name: rotation;
	animation-duration: .3s;
}

.animate-scale:hover {
	animation-name: scaleit;
	animation-duration: .3s;
}

@keyframes rotation {
	0%	{transform: rotate(0deg);}
	50%	{transform: rotate(-5deg);}
	100%	{transform: rotate(0deg);}
}
@keyframes scaleit {
	0%	{transform: scale(1);}
	50%	{transform: scale(1.05);}
	100%	{transform: scale(1);}
}