/* This CSS file will be loaded at last. Any CSS customization should be placed here */

/* VikBooking CSS definitions  */
:root{
  	--vbo-white-bg-color: #fff;
	--vbo-grey-bg-color: #eee;
	--vbo-light-grey-bg-color: #f6f6f6;
	--vbo-border-color: #ddd;
	--vbo-light-border-color: #eee;
	--vbo-text-color: #444;
	--vbo-light-text-color: #999;
	--vbo-contrast-text-color: #fff;
	--vbo-input-style: #fff;
	--vbo-input-style-deactive: #f6f7f7;
	--vbo-input-style-nested-deactive: #eee;
	--vbo-darkblue-color: #144D5C;
	--vbo-blue-color: rgba(35,88,166,0.9);
	--vbo-blue-color-hover: #3a95da;
	--vbo-lightblue-color: #80b3ca;
	--vbo-lightblue-color-hover: #649fbb;
	--vbo-green-bg-color: #ccf1cc;
  	--vbo-green-color: #28a745;
	--vbo-green-color-hover: #23cf5f;
	--vbo-orange-color: #ffb74d;
	--vbo-red-color: #ff8080;
	--vbo-red-color-hover: #b90c0d
}

/* Definitions for Regularlabs Tabs */ 

.rl_tabs.outline_content>.tab-content>.tab-pane {
    padding: 12px;
    background-color: rgba(255,255,255,0.6);
}

.tab-content {
        box-shadow: 5px 5px 10px 0px rgb(0 0 0 / 20%);
}

.rl_tabs.top>ul.nav-tabs>li.active>a:focus, .rl_tabs.top>ul.nav-tabs>li>a:focus {
    border-bottom-color: transparent;
    -webkit-box-shadow: 0 -2px 2px #2358a6;
    box-shadow: 0 -2px 2px #2358a6;
}

.rl_tabs>ul.nav-tabs>li.active>a:focus, .rl_tabs>ul.nav-tabs>li>a:focus {
    outline: 0;
    border-color: #2358a6;
}

.rl_tabs.color_inactive_handles>ul.nav>li>a {
    margin-right: 2px;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #000;
    background-color: rgba(255,255,255,0.6);
    border-color: #dee2e6 #dee2e6 #fff;
    border-bottom-color: transparent;
    -webkit-box-shadow: 0 -2px 2px #2358a6;
    box-shadow: 0 -2px 2px #2358a6;
}

.rl_tabs>ul.nav-tabs>li>a[aria-selected="true"] {
    color: #000;
    background-color: rgba(255,255,255,0.6);
    border-color: #2358a6;
  	border-bottom-color: transparent;
    -webkit-box-shadow: 0 -2px 2px #2358a6;
    box-shadow: 0 -2px 2px #2358a6;
}

.rl_tabs>ul.nav-tabs>li>a {
    color: rgba(35, 88, 166, 0.9);
}

  
.nav-tabs .nav-link {
    border: 1px solid transparent;
    background: #fff;
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
}
   
.rl_tabs.align_justify>ul.nav-tabs:after, .rl_tabs.align_justify>ul.nav-tabs:before, .rl_tabs>.tab-content>.tab-pane .rl_tabs-title, ul.rl_tabs-sm {
    display: none;
}



.vbtdfree {
  border: 1px solid var(--vbo-light-border-color);
  background: var(--vbo-green-bg-color);
  color: #484848;
}

.vblastavail {
  color: var(--vbo-red-color-hover);
  font-weight:500;
}

.vbcaldivcont table .vbcaltrmonth td {
  border-bottom: none;
  font-weight: 300;
  font-size: 16px;
  line-height: 15px;
  padding: 8px 3px;
  background-color: rgba(35,88,166,0.9);
  color: white;
}

tr.vbcalnumdays td.vbtdbusyforcheckin, tr.vbcalnumdays td.vbtdbusyforcheckout {
  color: #484848;
  background: var(--vbo-green-bg-color);
}

tr.vbcalnumdays td.vbtdbusyforcheckin:hover, tr.vbcalnumdays td.vbtdbusyforcheckout:hover {
  color: #fff;
  background: var(--vbo-blue-color);
  cursor:pointer;
}

.vblegbusycheckin, .vblegbusycheckout {
  background: var(--vbo-green-bg-color);
  position: relative;
  border: 1px solid var(--vbo-border-color);
}

.vblegfree {
  background: var(--vbo-green-bg-color);
  border: 1px solid var(--vbo-border-color);
}

.vbo-availability-room-avdays .vbo-free-cell {
  background: var(--vbo-green-bg-color);
  transition: all 400ms ease-in-out 0s;
  -moz-transition: all 400ms ease-in-out 0s;
  -webkit-transition: all 400ms ease-in-out 0s;
  cursor: pointer;
}

.vbo-free-cell.vbo-cell-selected-arrival, .vbo-availability-room-avdays .vbo-free-cell:hover, .vbtdfree:hover {
  background: var(--vbo-blue-color);
  color:#fff;
  transition: all 400ms ease-in-out 0s;
  -moz-transition: all 400ms ease-in-out 0s;
  -webkit-transition: all 400ms ease-in-out 0s;
  cursor:pointer;
}

.vbo-booking-precheckin-cmd a:hover, .vbo-booking-precheckin-cmd a:active, .vbo-booking-precheckin-cmd a:focus {
  background: var(--vbo-green-color-hover);
}

.vbo-availcalendars-cont {
  padding-top:20px;
}

.booknow { 
  background-color: var(--vbo-green-color);
  color:white;
  
}
.booknow:hover {
  background-color: var(--vbo-green-color-hover);
  color:white;
}

@media only screen and (max-width: 550px){
.vboconfirmbottom {
  margin-top: 5px;
  }
.vboconfirmbottom .booknow {
  margin: 5px 0 0 15px;
  }
#vbo-selroom-1-5 input[type="number"]:not(.form-control), select:not(.form-select):not(.form-control) {
  padding: 5px!important;
}
.vbo-room-result-body-bookingsolution > div {
  padding: 10px 5px 10px 5px;
  }
}

@media only screen and (max-width: 860px){
.vbo-showprc-room-block .room_description_box {
  margin: 20px 0 0 0;
  }

.vbroomimgdesc {
  display: block;
  }
}

.vbo-oconfirm-paymentopts > h4, .vbo-booking-details-head > h4, .vbo-booking-cancform-inner > h4, .vbo-booking-chat-container > h4, .alert > h4 {
  font-family: 'Roboto', sans-serif;
  font-size: 1.2em;
  font-weight: inherit;
  text-decoration: none;
}

.vbvordudatatitle {
  color: white;
  background-color: var(--vbo-blue-color);
  padding: 5px;
  border-radius:2px;
}

.vbo-precheckin-submit {padding: 0 0 15px 0;}

.offline-cc-overlay-inner > p {
  background: var(--vbo-blue-color);
  padding: 15px;
  font-size: 1.2em;
  color: white;
}

.vbo-offline-cc-container .vbo-offline-cc-row-submit .button {
  background: var(--vbo-blue-color);
  border: 1px solid var(--vbo-blue-color);
  color: #fff;
}

.vbo-offline-cc-container .vbo-offline-cc-row-submit .button:hover {
  background: var(--vbo-blue-color-hover);
  border: 1px solid var(--vbo-blue-color-hover);
  color: white;
}

.vbdescrlistdiv > h4, .vbo-availability-room-details-right > h4, .room_carats >h4, .vbo-availcalendars-cont > h4, .vbo-seldates-cont-inner > h4, .vbo-oconfirm-paymentopts > h4, .vbo-oconfirm-cfield-separator > h4, .room_prices > h4, .room_options > h4, .vbo-booking-solutions-container > h4, .vbo-search-suggestions-container > h4, .vbo-search-solutions-container > h4, .vbo-seasonscalendar-cont > h4, .vbo-listing-amenities-wrap> h4 {
  font-size:28px; color:rgba(35,88,166,0.9);
  margin-bottom: 18px;
  padding: 3px 0 0 5px;
  background-color: rgba(255,255,255,0.6);
  border-bottom-color: transparent;
  -webkit-box-shadow: 0 2px 2px #2358a6;
  box-shadow: 0 2px 2px #2358a6;
  border-radius: 5px;
  text-align:center;
}

.room_description_box .vblistroomnamediv {
  margin-bottom: 15px;
}

.vbo-room-result-body-rname > h4 {
  font-size:24px; color:rgba(35,88,166,0.9);
}



.vblistroomnamediv > h3 {
  font-size: 32px;
  font-weight: 700;
  color: var(--vbo-blue-color);
  text-align:center;
}

.vikfxg-overlay {
  z-index: 9999 !important;
}

.vbo-rdet-descprice-block .vbo-rdet-desc-cont {
  background: none;
}

.vbrdetboxtop .room_carats {
  display: none;
}

.vbo-search-submit {
  margin: 20px 0 10px 0px;
  font-size: 1rem;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
  background: var(--vbo-green-bg-color) !important;
  font-weight: 500 !important;
}

td.ui-datepicker-unselectable.ui-state-disabled.undefined span.ui-state-default {
  background: var(--vbo-red-color) !important;
  cursor: not-allowed;
}

.vbomodchrates-bookdiv input {
  background: var(--vbo-blue-color)!important;
}

.vbo-pref-color-btn-secondary {
  border-radius: 4px;
  font-weight:bold;
}

.goback {
  margin-bottom:10px;
  font-weight:bold;
  display:inline-flex;
}

.vbo-showprc-room-head {
  background: var(--vbo-border-color);
  border: 1px solid var(--vbo-border-color);
}

.vbo-showprc-pricetable .vbo-showprc-price-entry {
  border: 1px solid var(--vbo-blue-color);
 }

.vbo-booking-details-head > h4 {
  font-family: inherit;
  font-size: 18px;
}

.vbo-room-result-body-bookbtn button.btn {
  background-color: var(--vbo-blue-color);
  color: white;
}

@media only screen and (max-width: 980px){
  .vbo-room-result-body-bookingsolutions .vbo-room-result-body-bookingsolution {
  border-color: var(--vbo-blue-color);
}}

.vbo-room-result-body-bookingsolutions .vbo-room-result-body-bookingsolution {
  border: 1px solid var(--vbo-blue-color);
  border-bottom: 2px solid var(--vbo-blue-color);
}

.vbo-room-result-body-bookingsolution > div {
  border-right: 1px solid var(--vbo-border-color);
}

.vbo-showprc-option-entry-input {
  align-items: center;
  display: flex;
  justify-content: center;
}

#vbjstotnights {
  margin: 35px 0 10px 12px;
  font-size: 14px;
}

.vbo-showprc-roomname > h3 {
  font-size: 30px;
  color: var(--vbo-blue-color);
  text-align:center;
}

.vbo-booking-upsell-container > h3 {
  font-size: 24px;
  color: var(--vbo-blue-color);
}

.vbo-booking-details-bookinfos {
  max-width:97%;
}

.vbo-booking-details-midcontainer > div, .vbvordpaybutton, .vbvordroominfo, .vbo-booking-costs-list, .vbcalsblock, .vbo-results-head, .vbo-showprc-price-entry, .vbo-showprc-room-block, .vbo-showprc-optionstable, .vbo-oconfirm-summary-room-wrapper, .vbcustomfields, .vbo-oconfirm-paymentopts, .vbo-showprc-room-head, .room_item, .room_result, .vbo-seldates-cont, .vbo-rdet-descprice-block, .vb_detcostroomdet, .vbo-availability-room-container, .vbo-search-suggestions-container, .vbvordpaynote, .vbo-room-result-body, .vbmodhorsearchmaindiv, .vbo-seasonscalendar-cont, .vbo-booking-upsell-container, .vbo-booking-upsell-room-wrap, .vbo-promotion-details, .vbo-promotion-bottom-block, .vbo-promotion-dates, .vbo-booking-leavereview-inner, .vbo-booking-leavereview-wrap .vbo-booking-details-midcontainer > div, .vbo-booking-guest-review-inner, .vbageintervals, .vbsearchorderdiv,  .vbo-booking-chat-container, .vbo-booking-chat-intro, .vbo-listing-amenities-wrap, .vbo-listing-details-wrap, .vbo-sign-bookdet-container  {
  background: #efefefa3;
  border-radius: 6px;
  padding: 20px;
}

div.table-responsive.vbo-bookings-list-container {
  background: #efefefa3;
  border-radius: 6px;
  padding: 20px;
  margin-top:20px;
}

/* don't show payment-options div as we have no choice */

.vbo-oconfirm-paymentopts {
  display:none !important;
}

.vbo-seldates-cont-inner {
  padding:20px;
}

.vbimglistdiv {
  padding:2px;
}

.vbo-seldates-cont-inner .vbo-intro-main, .vbo-roomdet-calscontainer .vbo-intro-main {
  display:none;
}

.vbo-booking-details-intro, .vbo_search .sp-module > h3 {
  font-size: 30px;
  color: var(--vbo-blue-color);
  text-align: center;
}

.vblistroomnamediv, .vbo-showprc-roomname, .vbo-room-result-body-rname, .vbo-room-result-head, .vbdescrlistdiv > h4 {
  margin-bottom: 18px;
  padding: 3px 0 0 5px;
  background-color: rgba(255,255,255,0.6);
  border-bottom-color: transparent;
  -webkit-box-shadow: 0 2px 2px #2358a6;
  box-shadow: 0 2px 2px #2358a6;
  border-radius: 5px;
}

.vbo-room-result-inner {
    border: none;
}

.vbdescrlistdiv {
  padding: 0px 0 8px 0;
  overflow: hidden;
}

/* Changed Module CSS Rooms module  */

.vbmodrooms-item {
  background: #efefefa3!important;
  border-radius: 6px;
}

.vbmodroomsboxdiv {
  background: none!important;
}

.vbmodroomsboxdiv .vbmodroomsname {
  font-weight: bold;
  font-size: 1.5rem!important;
  font-family: Amatic SC;
  color: var(--vbo-blue-color);
}

.vbmodrooms-divblock .vbmodroomsbeds {
  float: none!important;
  display: block!important;
  color: #2357a6 !important;
  font-weight: bold;
}

.vbmodroomsview > a {
  background: var(--vbo-blue-color)!important;
  border: none!important;
}

.vbmodroomsview > a:hover {
  background: var(--vbo-blue-color-hover)!important;
  border: none!important;
}

.vbo_search .sp-module {
  padding-top:30px;
}

.vbdivsearch {
  background: #efefefa3 !important;
  border-radius: 6px;
}

div.vbo-oconfirm-summary-room-wrapper-notaxes .vbo-oconfirm-summary-room-cell-tot {
  width: 100%!important;
}

.vbo-booking-canc-cmd span:hover {
  background: var(--vbo-red-color-hover);
}

.vbo-booking-details-head-cancelled {
  background: var(--vbo-red-color-hover);
  color: #fff;
}


/* Payment buttons etc */

.vbo-payment-image img {
  width: auto;
}

.vbo-pay-button {
  padding: 10px 50px !important;
  background-color: var(--vbo-blue-color);
  font-size: 1em;
  color: #fff;
  display: inline-block;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  font-size: 1rem;
  border-radius: .25rem;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.vbvordpaynote {
  background: var(--vbo-orange-color)!important;
  font-weight: 400;
  line-height: 1.5;
}

.vbo-leave-deposit {
  margin-top: 10px;
}

.fancybox-inner {
  height:700px !important;
}

.fancybox-skin {
  padding:10px !important;
}

.roomlist_carats .vbo-room-carat, .room_carats .vbo-room-carat {
  display: inline-block;
  margin: 4px 5px 0 0;
}

.vbo-search-solution, .vbo-booking-solution {
  padding-bottom:45px;
}

input.btn.vbsearchordersubmit {
  margin-top:20px;
}

.vbsearchordertitle {
  font-family: 'Amatic SC', sans-serif;
  font-size: 40px;
  font-weight: 700;
  text-decoration: none;
  color: var(--vbo-blue-color);
  text-align: center;
}

.vik_avail #sp-main-body .sp-column > h3 {
  font-family: 'Amatic SC', sans-serif;
  font-size: 36px;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  color: var(--vbo-blue-color);
}

.vbo-room-result-body-bookingsolution .vbo-room-result-body-price-amount .room_cost {
    font-size: 1.2em;
    font-weight: bold;
}

@media only screen and (max-width: 550px){
.vbo-room-result-body-bookingsolution .vbo-room-result-body-price-amount .room_cost {
    font-size: 1em;
    }
.vbo-room-result-body-bookingsolution .vbo-room-result-body-price-selection {
    flex-basis: 110px!important;
    }
}

.vbo-search-no-solutions {
    font-weight:bold;
}

.vbo-room-result-inner .vbo-room-result-head {
    flex-wrap: wrap;
}

.vbo-room-result-inner .vbo-room-result-head > div {
    padding: 5px 0 0 10px;
	font-weight: 400;
}

.vbrequired {
   font-weight: bold;
   font-size:1.2em;
}

/* Modifications Regularlabs Tabs & Accordions */

@media screen{
[data-rlta-element="container"][data-rlta-state="ready"][data-rlta-type="tabs"][data-rlta-orientation="horizontal"]:not([data-rlta-wrap-buttons="true"]) > [data-rlta-element="button-list"] {
  overflow-x: inherit;
  scrollbar-width: none;
  -ms-overflow-style: none;
  }}


[data-rlta-element="container"][data-rlta-state="ready"][data-rlta-theme="neutral"][data-rlta-type="tabs"] > [data-rlta-element="button-list"] > [data-rlta-element="button"]:not([data-rlta-state="closed"]) {
  box-shadow: none;
  margin-bottom: 0;
  color: #000;
  background-color: rgba(255,255,255,0.6);
  border-color: #2358a6;
    border-bottom-color: rgb(35, 88, 166);
  border-bottom-color: rgb(35, 88, 166);
  border-bottom-color: transparent;
  -webkit-box-shadow: 0 -2px 2px #2358a6;
  box-shadow: 0 -2px 2px #2358a6;
}

[data-rlta-element="container"][data-rlta-state="ready"][data-rlta-theme="neutral"][data-rlta-type="tabs"] > [data-rlta-element="button-list"] > [data-rlta-element="button"],[data-rlta-type="accordions"] > [data-rlta-element="button"] {
  color: rgba(35, 88, 166, 0.9);
}

@media screen{
[data-rlta-element="container"][data-rlta-state="ready"][data-rlta-type="accordions"] > [data-rlta-element="button"] > [data-rlta-element="heading"], [data-rlta-element="container"][data-rlta-state="ready"][data-rlta-type="tabs"] > [data-rlta-element="button-list"] > [data-rlta-element="button"] > [data-rlta-element="heading"] {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 300;
  margin: 0;
  padding: 0;
  width: 100%;
  }}

[data-rlta-element="container"][data-rlta-state="ready"][data-rlta-theme="neutral"][data-rlta-type="accordions"] > [data-rlta-element="button"][data-rlta-state="open"], [data-rlta-element="container"][data-rlta-state="ready"][data-rlta-theme="neutral"][data-rlta-type="accordions"] > [data-rlta-element="button"][data-rlta-state="opening"] {
  background-color: #f4f5f6;
  border-radius: 5px 5px 0 0;
  color:#000;
}

.vbo-booking-upsell-room-wrap .vbo-booking-upsell-room-name {
  font-size: 1em;
}

span.vbo-booking-upsell-room-adults {
  font-family: 'Roboto', sans-serif;
  font-size:14px!important;
}

/* Change color of chat balloon */

 .chat-conversation .chat-message .speech-bubble.received {
    background: var(--vbo-green-color)!important;
    color:#fff!important;
}

/* All days in the past are red and not clickable */

tr.vbcalnumdays td.vbtdpast {
    background: var(--vbo-red-color)!important;
    cursor: not-allowed!important;
    color: #fff!important;
}

tr.vbcalnumdays td.vbtdbusy {
    cursor: not-allowed;
}

.ui-datepicker table td:hover {
    border: 0px;
}

.ui-datepicker table td {
    border: 0px;
}

.ui-datepicker .ui-datepicker-current-day {
    border-radius: 8px;
}

ol.vbo-stepbar li.vbo-step-complete {
  color: var(--vbo-text-color);
  border-bottom: 4px solid var(--vbo-blue-color);
  background: #ccf1cca3;
  
}

ol.vbo-stepbar li.vbo-step-next {
    color: #2358a6;
}

ol.vbo-stepbar li.vbo-step-current {
  color: var(--vbo-text-color);
  border-bottom: 4px solid var(--vbo-blue-color);
  background: #efefefa3;
 
}

ol.vbo-stepbar li.vbo-step-complete:before {
    content: "";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.vbcaldivcont .vbcaltrmonth .vbo-rdet-avcal-nav {
    font-weight: bold;
}

/* Hide divs on mybooking page which contains no user info starting with 7th instance and further*/

div.vbo-bookingdet-userdetail:nth-of-type(n+8) {display:none;}

.vbo-closing-main {margin-top: 10px;}

/* Specific styling final booking page */

.vbo-oconfirm-summary-total-wrapper, .vbo-coupon-outer, .vbo-enterpin-block {
    border-radius: 6px;
}

@media only screen and (max-width: 980px) {
.vbo-oconfirm-summary-room-wrapper .vbo-oconfirm-summary-room-cell-descr {
    border-radius: 5px;
}
}

.vbliststartfromrdet, .roomcustcostlabel {
    color: var(--vbo-text-color);
}

@media only screen and (max-width: 860px){
.vbdivsearch .vb-search-inner > .vbo-search-num-racblock > .vbo-search-num-rooms {
  flex-basis: 100%;
}
}

@media only screen and (max-width: 600px ){
.vbo-search-num-aduchild-entry {
  width: 100%;
  display: flex;
  margin: 0 0 10px 0;
  flex-wrap: wrap;
}
}

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

.vbo-search-submit .btn {
  padding: 10px 10px !important;
}
.vbo-search-num-aduchild-entry {
  display: unset;
}
}

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

.vbcalsblock {
    grid-template-columns: auto;
}
}

/* New listing view */

.vbo-listing-amenities-wrap h4 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 15px;
    padding-top: 0px !important;
}

.vbo-listing-amenities-wrap {
    padding-top: 20px !important;
}

.vbo-unavailable-block {
  border: 1px solid var(--vbo-red-color-hover);
}

.vbo-unavailable-block .vbo-unavailable-icon > i {
  border: 2px solid var(--vbo-red-color-hover);
  background: var(--vbo-red-color-hover);
}

.vbo-timer-payment {
    color: var(--vbo-red-color-hover);
}

/* Change color of promotions */

.room_cost + .vbo-room-result-price-before-discount > .room_cost{
  color: var(--vbo-red-color);
}
  
.vbo-promotion-price .room_cost {
  color: var(--vbo-green-color);
}

/* Change visibility of upload document div tot none  */

div.vbo-precheckin-guest-detail.vbo-precheckin-guest-detail-files {
  display:none;
}