/*!------------------------------------------------------------------------
  Solidres - Hotel booking extension for Joomla
  ------------------------------------------------------------------------
  @Author    Solidres Team
  @Website   https://www.solidres.com
  @copyright Copyright (C) 2013 Solidres. All Rights Reserved.
  @License   GNU General Public License version 3, or later
------------------------------------------------------------------------*/

/* General
====================================================================== */
#solidres .nodisplay {
    display: none;
}
#solidres .processing {
    height: 18px;
    background: url(../images/ajax-loader2.gif) no-repeat 50% 50%;
}
.align-left,
.sr-align-left,
.table td.align-left {
    text-align: left;
}
.align-right,
.sr-align-right,
.table td.align-right {
    text-align: right !important;
}
.align-center,
.sr-align-center,
.table td.align-center {
    text-align: center;
}
.toggle_indicator {
    color: lightgrey;
}

/* Form element */
.hide {
    display: none !important;
}

/* Navigation
====================================================================== */
#sr_side_navigation {
    margin: 0;
    padding: 0;
}
#sr_side_navigation li.sr_tools {
    background-color: #eee;
    padding: 10px;
}
#sr_side_navigation li.sr_tools a:link {
    text-decoration: none;
}
#sr_panel_left #sr-toggle > i {
    font-size: 18px;
    color: #999;
    vertical-align: middle;
}
#sr_side_navigation li a#sr_dashboard img {
    margin-top: -2px;
}
#sr_side_navigation li.sr_tools #sr_current_ver {
    float: right;
    color: #999;
    margin: 3px 0 0;
    font-size: 12px;
}
@media (max-width: 1500px) {
    #sr_side_navigation li.sr_tools #sr_current_ver {
        display: none;
    }
}
@media (max-width: 767px) {
    #sr_side_navigation li.sr_tools #sr_current_ver {
        display: block;
    }
}
#sr_side_navigation li a.sr_title {
    background-color: #eee;
    padding: 5px 10px;
    color: #555;
    text-transform: uppercase;
    font-weight: bold;
    border-bottom: 1px solid #ddd;
    display: block;
    text-decoration: none;
}
#sr_side_navigation li a.sr_title i {
    font-size: 15px;
}
#sr_side_navigation li.active a.sr_title {
    background: #1f496e;
    color: #fff;
    border: 1px solid #fff;
}
#sr_side_navigation a.sr_indicator {
    display: block;
    width: 20px;
    padding: 0;
    float: right;
    line-height: 35px;
}
#sr_side_navigation li {
    list-style: none;
    line-height: 24px;
    border: 1px solid #ddd;
    margin: 0 0 5px 0;
}
#sr_side_navigation li a:hover,
#sr_side_navigation li a:focus {
    text-decoration: none;
}
#sr_side_navigation li ul {
    background-color: #fafafa;
    margin: 0;
    padding: 5px 5px 0;
}
#sr_side_navigation li ul li {
    text-indent: 5px;
    border: none;
}
#sr_side_navigation li ul li a:link {
    display: block;
    text-decoration: none;
}
#sr_side_navigation li ul li a:hover {
    background: #eee;
}
#sr_side_navigation li ul li.active a {
    color: #1f496e;
    font-weight: bold;
}
#sr_submenu_system .badge {
    padding-left: 0
}
@media (max-width: 979px) and (min-width: 768px) {
    #sr_side_navigation li a.sr_title {
        padding: 5px;
        font-size: 12px;
    }
}
@media (max-width: 767px) {
    .sr-inner, .js-stools-container-bar {
        margin-top: 20px;
    }
}
/* Only Show Icon */
#sr_panel_left.showIcon {
    width: auto;
    position: fixed;
    overflow: visible;
    z-index: 999;
}
#sr_panel_right.showIcon {
    padding-left: 65px;
    flex: 1;
}
#sr_panel_left.showIcon #sr_dashboard,
#sr_panel_left.showIcon li>ul,
#sr_panel_left.showIcon a.sr_title>span,
#sr_panel_left.showIcon .sr_indicator,
#sr_panel_left.showIcon #sr-update-note,
#sr_panel_left.showIcon #sr_side_navigation li.sr_tools #sr_current_ver {
    display: none;
}
#sr_panel_left.showIcon li>ul {
    position: absolute;
    left: 100%;
    top: 0;
    z-index: 9999;
    min-width: 190px;
    border: 1px solid #ccc;
    border-left: 2px solid #1f496e !important;
    -webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.15),0 2px 10px 0 rgba(0,0,0,0.1) !important;
    -moz-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.15),0 2px 10px 0 rgba(0,0,0,0.1) !important;
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.15),0 2px 10px 0 rgba(0,0,0,0.1) !important;
}
#sr_panel_left.showIcon .sr_tools, #sr_panel_left.showIcon a.sr_title {
    text-align: center;
}
#sr_panel_left.showIcon a.sr_title {
    display: block;
    width: 34px;
    height: 34px;
    line-height: 34px;
    box-sizing: border-box;
    padding: 0;
    overflow: hidden;
    margin: 4px;
    cursor: pointer;
}
#sr_panel_left.showIcon a.sr_title>i {
    font-size: 18px;
}
#sr_panel_left.showIcon li:hover a.sr_title {
    background: #1f496e;
    color: #fff;
}
#sr_panel_left.showIcon #sr_side_navigation>li.active:not(.not),
#sr_panel_left.showIcon #sr_side_navigation>li:hover:not(.not),
#sr_panel_left.showIcon #sr_side_navigation>li.hover:not(.not) {
    position: relative;
    overflow: visible;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
#sr_panel_left.showIcon #sr_side_navigation>li:hover>ul {
    display: block!important;
}
@media (max-width: 767px) {
    #sr_panel_left.showIcon #sr_side_navigation {
        margin-top: 20px;
    }
}
@-webkit-keyframes srPlaceHolderShimmer {
    0% {
        background-position: -468px 0;
    }
    100% {
        background-position: 468px 0;
    }
}
.sr-placeholder {
    display: inline-block;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-name: srPlaceHolderShimmer;
    animation-name: srPlaceHolderShimmer;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    background: #f6f7f8;
    background: -webkit-gradient(linear, left top, right top, color-stop(8%, #eeeeee), color-stop(18%, #dddddd), color-stop(33%, #eeeeee));
    background: -webkit-linear-gradient(left, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);
    background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);
    -webkit-background-size: 800px 104px;
    background-size: 800px 104px;
    height: inherit;
    position: relative;
    border: inherit;
}
.sr-placeholder,
[sr-placeholder-item] {
    border: none!important;
}
#sr_side_navigation.disabled {
    background-image: none;
    opacity: 0.65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
#sr_side_navigation.disabled a {
    cursor: not-allowed;
}

/* Assets
====================================================================== */
.map_canvas {
    width: 100%;
    height: 400px;
    margin: 0 0 10px 0;
}
span.no-roomtype-warning,
span.no-tariff-warning {
    color: #c09853;
}

/* Reservations
====================================================================== */
.reservation-detail-box > h3 {
    background: #eee;
    border-radius: 2px;
    border: 1px solid #ccc;
    color: black;
    text-indent: 5px;
    margin-top: 0;
    padding: 5px;
    margin-bottom: 10px;
}
.reservation-details {
    margin-left: 0;
    padding-left: 0;
}
.reservation-details li {
    list-style: none;
    border-bottom: 1px solid #eee;
    padding: 0 10px 0;
    clear: both;
    line-height: 30px;
}
.reservation-details li label {
    line-height: 30px;
    float: left;
}
.reservation-details li span {
    float: left;
}
.reservation-details.left-details li label {
    width: 45%;
}
.reservation-details.right-details li label {
    width: 55%;
}
.reservation-details.left-details li span {
    width: 55%;
}
.reservation-details.right-details li span {
	text-align: right;
    width: 45%;
}
.reservation-details li span.label {
	float: none;
}
.reservation-details li label,
.reservation-details dd label,
.reservation-details li span {
    display: block;
}
.reservation-details li.sub-line-item label {
    background: none;
}
.reservation-details li.sub-line-item span {
    font-style: italic;
}
.booked_room_extra_info {
    padding: 0 10px 0;
}
.booked_room_extra_info ul {
    margin: 0;
}
.booked_room_extra_info ul li {
    list-style: none;
}
.booked_room_extra_info label {
    display: inline-block;
    width: 50%;
}
.booked_room_cost_wrapper {
    border: 2px solid #efefef;
    margin: 15px 0 15px 0;
    padding: 10px;
}
.booked_room_cost_wrapper ul li {
    border-bottom: 1px dotted #aaa;
    line-height: 25px;
}
.booked_room_cost_wrapper ul li:last-child {
    border: none
}
.booked_room_cost_wrapper ul li label {
    margin: 0;
}
.booked_room_cost_wrapper a:link,
.booked_room_cost_wrapper a:visited,
.booked_room_cost_wrapper a:hover {
    color: inherit;
    text-decoration: none;
}
.booked_room_cost,
.booked_room_extra_cost {
    display: block;
    text-align: right;
    float: right;
}
.reservation-note-item {
    border-left: 4px solid #ccc;
    margin: 5px 0;
    padding: 5px;
}
.reservation-note-item .info {
    font-weight: bold;
}
#solidres .js-stools-field-filter .field-calendar {
    display: inline-block;
}
.approval-notice {
    color: orange;
}
.res-payment-method-id:hover {
    cursor: default;
}
.link-ico {
    text-decoration: none;
    color: #666;
}
.link-ico:hover {
    text-decoration: none;
}

/* Create new Reservation */
.reservation-single-step-holder.backend {
    background: none;
}
#solidres .room_selection_wrapper {
    background: #fafafa;
    padding: 10px 15px;
    border: 1px solid #dfdfdf;
    width: auto;
}
#solidres .room_selection_wrapper:hover {
    border-color: #999;
}
.room_selection_wrapper dd {
    margin-left: 0;
}
.toggle_breakdown:link,
.toggle_extra_details:link,
.toggle_room_confirmation:link {
    border-bottom: 1px dashed;
    text-decoration: none;
    display: inline-block;
}
.toggle_breakdown:hover,
.toggle_extra_details:hover {
    cursor: help;
    text-decoration: none;
}
.extras_row_roomtypeform select.extra_quantity,
#solidres .extras_row_guestform select {
    width: 100px;
    display: inline-block;
}
.room_selection_details .row {
    margin-bottom: 15px;
}
.booking-summary,
.sr-close-overlay {
    display: none;
}
.rooms-rates-summary-sticky {
    position: fixed;
    top: 0;
    z-index: 999;
    background: inherit;
}
.rooms-rates-summary {
    position: relative;
    display: inline-block;
}
.stay-info {
    display: flex;
}
.stay-info div {
    flex-grow: 1;
}
.rooms-rates-summary .sticky-loading {
    position: absolute;
    width: 100%;
    opacity: 0.7;
    background: url("../images/loading.gif") no-repeat center center #EEEEEE;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.summary-los {
    display: flex;
}
.summary-los div {
    flex-grow: 1;
    flex-basis: 50%;
}
@media (max-width: 767px) {
    .booking-summary {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 45px;
        background: teal;
        z-index: 9999;
        color: white;
    }
    .booking-summary-apartment {
        height: auto;
    }
    .booking-summary-apartment .btn {
        margin-bottom: 0;
    }
    .sr-close-overlay {
        position: fixed;
        right: 10px;
        top: 18px;
        z-index: 99;
    }
    .booking-summary p {
        font-size: 12px;
    }
    .booking-summary p.sline {
        line-height: 45px;
        margin: 0 0 0 7px;
    }
    .booking-summary p.dline {
        margin: 7px 0 0 7px;
    }
    .booking-summary p.dline.last {
        margin: 0 0 0 7px;
    }
    .booking-summary a:link,
    .booking-summary a:hover {
        color: white;
        font-weight: bold;
        text-decoration: none;
    }
    .booking-summary div {
        float: left;
    }
    .booking-summary-apartment div {
        float: none;
    }
    .booking-summary .fcol {
        width: 70%;
    }
    .booking-summary .scol {
        width: 30%;
    }
    .booking-summary .scol p {
        line-height: 45px;
        margin: 0;
    }
    .sr-overlay {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        height: 100%;
        background: #e4e4e4;
        z-index: 99999;
        padding: 10px;
        overflow-y: scroll;
    }
    .rooms-rates-summary-sticky {
        position: inherit;
    }
}
.booking-summary-apartment p {
    margin: 10px;
}
.booking-summary-apartment a:link, .booking-summary-apartment a:hover {
    color: #333;
}

/* Step3 - Confirmation */
#reservation-confirmation-box .table tr.nobordered td {
    border-top: none;
}
#reservation-confirmation-box .table tr.nobordered.first td {
    border-top: 1px solid #ddd;
}
#reservation-confirmation-box .table tr.nobordered td.noleftborder {
    border-left: none;
}
#reservation-confirmation-box .table tr.nobordered.termsandconditions td,
#reservation-confirmation-box .table tr.nobordered.sendoutgoingemails td{
    border-top: 1px solid #ddd;
}
#reservation-confirmation-box input[type="text"] {
    text-align: right;
}

/* System Info
====================================================================== */
table.system-table tr td {
    width: 50%;
}
#solidres .system-info-page .new-update a:link,
#solidres .system-info-page .new-update a:hover,
#solidres .system-info-page .new-update a:visited {
    color: red;
}
.new-update {
    display: block;
}
.system-info-section {
    margin-bottom: 20px;
}

/* General CSS for styles in Frontend
====================================================================== */
#solidres .reservation_asset_item a:hover {
    text-decoration: none;
}
#solidres .reservation_asset_item a:focus,
#solidres .reservation_asset_item .btn:focus {
    outline: none;
}
#solidres .inner {
    margin: 10px;
}
#asset-desc hr#system-readmore, .roomtype_desc hr#system-readmore {
    display: none;
}

/* Asset Information */
#solidres .rating {
    color: #ffbb00;
}
#inline_map {
    width: 100%;
    height: 100vh;
}
#inline_map img {
    max-width: none;
}

/* Simple Gallery */
.reservation_asset_item .main-photo img {
    float: none;
    width: 100%;
    margin-bottom: 10px;
}
.reservation_asset_item .other-photos img {
    margin: 0 5px 10px 0;
    padding: 0;
    display: inline-block;
}

/* Menu Tab */
.reservation_asset_item .nav-tabs {
    margin-bottom: 0;
}
.reservation_asset_item .nav-tabs > li > a {
    font-weight: bold;
    text-transform: uppercase;
}

/* Login Form - Coupon Input */
.coupon {
    border-radius: 5px;
    border: 1px dashed #ffbb00;
    background: #fff4c8;
    padding: 10px;
}
.coupon_prop {
    margin: 0 0 20px 0;
}
.coupon input {
    float: left;
}
.coupon > span {
    padding-left: 5px;
}
/* Check Availability Form */
#asset-checkavailability-form {
    margin-bottom: 20px;
}
.room_num_row .room_num_label {
    font-weight: bold;
    font-style: italic;
    margin-top: 6px;
    text-align: center;
}

.room_num_row .room_num_label label {
    display: block;
}
@media (max-width: 767px) {
    .room_num_row .room_num_label label, .action label {
        display: none;
    }
    .room_num_row .room_num_label {
        text-align: left;
        margin-top: 0;
    }
}
.room_num_row fieldset {
    background: #f7f7f7;
    margin-bottom: 1em;
}

.room_num_row fieldset legend {
    font-size: inherit;
    border-bottom: 1px solid #CCC;
    margin-bottom: 10px;
}

/* Date picker */
#ui-datepicker-div {
    z-index: 999999 !important;
}
.datepicker_inline {
    display: block;
    position: absolute;
    z-index: 1100;
}
.disabledCalendar {
    opacity: .6;
}
.ui-datepicker {
    padding: 15px 15px 10px;
}
.ui-datepicker th {
    font-size: 11px;
    color: #555;
}
.ui-datepicker td span, .ui-datepicker td a {
    padding: 5px;
}
.ui-datepicker .ui-widget-header {
    background: none;
    border: none;
    color: teal;
}
.ui-datepicker .ui-state-default,
.ui-datepicker .ui-widget-content .ui-state-default,
.ui-datepicker .ui-widget-header .ui-state-default {
    background: none;
    border: 1px solid #eee;
    color: #777;
}
.ui-datepicker .ui-state-highlight,
.ui-datepicker .ui-widget-content .ui-state-highlight,
.ui-datepicker .ui-widget-header .ui-state-highlight {
    background: #eee;
    border: 1px solid #ddd;
}
.ui-datepicker .ui-state-active,
.ui-datepicker .ui-widget-content .ui-state-active,
.ui-datepicker .ui-widget-header .ui-state-active {
    background: teal;
    color: #fff;
}
.ui-datepicker .ui-state-disabled,
.ui-datepicker .ui-widget-content .ui-state-disabled,
.ui-datepicker .ui-widget-header .ui-state-disabled {
    opacity: 0.5;
}
.ui-datepicker .ui-state-disabled span,
.ui-datepicker .ui-widget-content .ui-state-disabled span,
.ui-datepicker .ui-widget-header .ui-state-disabled span {
    text-decoration: line-through;
}
.ui-datepicker a.ui-state-default:hover {
    background: #eee;
    border: 1px solid #ddd;
    color: teal;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
    opacity: 1;
    background: #eee;
    border-color: #ddd;
    color: teal;
    font-size: 13px;
    font-weight: bold;
}
#sr_panel_right button.ui-datepicker-current {
    margin: .5em .2em .4em;
}
.ui-datepicker-next:hover, .ui-datepicker-prev:hover {
    background: none;
    border: 1px solid #aaa;
}
td.bookable a.ui-state-default,
td.bookable.ui-datepicker-unselectable a.ui-state-default {
    background: #edf6f6;
    color: #008489;
}
td.bookable a.ui-state-default:hover,
td.bookable.ui-datepicker-unselectable a.ui-state-default:hover {
    background: #cceeeb;
}
td.ui-datepicker-current-day.bookable a.ui-state-default {
    font-weight: bold;
}

/* Wizard */
.wizard:before,
.wizard:after {
    display: table;
    line-height: 0;
    content: "";
}
.wizard:after {
    clear: both;
}
.wizard ul {
    padding: 0;
    margin: 0;
    list-style: none outside none;
}
.wizard ul li.list-inline-item {
    position: relative;
    margin-right: 0;
}
.wizard ul li .badge {
    text-shadow: none;
}
.wizard ul li.active {
    color: teal;
}
.wizard ul li.active .badge {
    background-color: teal !important;
}
.wizard ul li:nth-child(1) {
    z-index: 10;
}
.wizard ul li:nth-child(2) {
    z-index: 9;
}
.wizard ul li:nth-child(3) {
    z-index: 8;
}
.wizard ul li:nth-child(4) {
    z-index: 7;
}
.wizard ul li:nth-child(5) {
    z-index: 6;
}
.wizard ul li:nth-child(6) {
    z-index: 5;
}
.wizard ul li:nth-child(7) {
    z-index: 4;
}
.wizard ul li:nth-child(8) {
    z-index: 3;
}
.wizard ul li:nth-child(9) {
    z-index: 2;
}
.wizard ul li:nth-child(10) {
    z-index: 1;
}

/* Step1 - Room & Rate
====================================================================== */
.button-row .col-md-4 {
    text-align: right;
}
@media (max-width: 767px) {
    .button-row .col-md-4 {
        text-align: left;
    }
}
.num_rooms_available_msg {
    color: red;
    border-bottom: 1px dashed red;
    font-style: italic;
    font-weight: bold;
}
.reservation_asset_item .more_desc {
    margin: 20px 0 0 0;
}
.btn.toggle_more_desc, .btn.load-calendar, .btn.toggle-tariffs, .btn.show-inquiry-form {
    margin-top: 5px;
}
#sr-inquiry-form-modal .modal-body {
    max-height: initial;
    overflow-y: initial;
}
@media (max-width: 480px) {
    span.rating-wrapper {
        display: block;
    }
}

/* Availability Calendar */
.availability-calendar {
    text-align: center;
    padding-top: 20px;
    margin-bottom: 20px;
}
.availability-calendar table {
    margin: 10px auto;
}
div.availability-calendar table tr th {
    color: teal;
    border-top: none;
    padding-bottom: 5px;
    text-align: left;
}
div.availability-calendar table tr td {
    border-top: none;
    padding: 0;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
}
div.availability-calendar table tr.row-month-day {
    border-bottom: 1px solid #fff;
}
div.availability-calendar table tr td span.today {
    font-weight: bold;
    text-decoration: underline;
}
div.availability-calendar table tr td.past {
    color: #ccc;
}
div.availability-calendar table.btype-0 tr td.busy.ci a {
    background: linear-gradient(135deg, transparent 48%, #e06666 50%);
}
div.availability-calendar table.btype-0 tr td.restricted.ci a {
    background: linear-gradient(135deg, transparent 48%, #ffd966 50%);
}
div.availability-calendar table.btype-1 tr td.busy.ci a {
    background: #e06666;
}
div.availability-calendar table.btype-1 tr td.restricted.ci a {
    background: #ffd966;
}
div.availability-calendar table tr td.busy.co a {
    background: linear-gradient(-45deg, transparent 48%, #e06666 50%);
    width: 100%;
    height: 100%;
}
div.availability-calendar table tr td.restricted.co a {
    background: linear-gradient(-45deg, transparent 48%, #ffd966 50%);
    width: 100%;
    height: 100%;
}
div.availability-calendar table tr td.busy.ci.co {
    background: #e06666;
}
div.availability-calendar table tr td.restricted.ci.co {
    background: #ffd966;
}
div.availability-calendar table tr td a {
    color: black;
    display: block;
    width: 100%;
    height: 100%;
    line-height: 30px;
}
div.availability-calendar table tr td.busy a {
    background: #e06666;
}
div.availability-calendar table tr td.restricted a {
    background: #ffd966;
}
div.availability-calendar table tr td.busy a:hover,
div.availability-calendar table tr td.restricted a:hover {
	cursor: default;
	text-decoration: none;
}
div.availability-calendar table tr td.busy a:focus,
div.availability-calendar table tr td.restricted a:focus {
	text-decoration: none;
}
span.legend-busy,
span.legend-restricted {
    display: inline-block;
    width: 12px;
    height: 12px;
}
span.legend-busy {
    background: #e06666;
}
span.legend-restricted {
    background: #ffd966;
}

/* Tariff */
.tariff-box {
    margin: 0 0 10px 0;
    -webkit-transition: background-color 3000ms linear;
    -moz-transition: background-color 3000ms linear;
    -o-transition: background-color 3000ms linear;
    transition: background-color 3000ms linear;
}
.tariff-box p {
    margin: 0;
}
.tariff-value {
    text-align: right;
}
.starting_from, .min_tariff, .normal_tariff, .tariff_suffix {
    display: block;
}
@media (max-width: 767px) {
    .tariff-title-desc, .tariff-value {
        text-align: center;
        margin-bottom: 10px;
    }
}
.sr-strikethrough {
    font-size: 15px;
    display: block;
    text-decoration: line-through;
}
p.last_chance {
    color: red;
    font-weight: bold;
}
select.last_chance {
    border: 1px solid red;
    color: red
}
.prioritizing-roomtype-notice {
    background: white;
    border-top: 2px dashed #d2d2d2;
    border-bottom: 2px dashed #d2d2d2;
    padding: 20px;
    font-size: 15px;
    margin-bottom: 15px;
}

.tariff-break-down span {
    font-weight: bold;
    display: block;
    margin-right: 10px;
}
.tariff-break-down span.gross,
.tariff-break-down span.tax {
    font-weight: normal;
    margin: 0;
}
.tariff-break-down td {
    padding: 10px;
}
.tariff-sep {
    border: 1px dashed #ccc;
    margin-bottom: 10px;
}

/* Roomtype form */
.room_index_form_heading h4 {
    margin: 15px 0 5px 0;
}
.breakdown {
    background: #f4f4f4;
    border: 1px solid #e7e7e7;
    padding: 10px;
    margin: 10px 0;
    display: block;
    font-size: 12px;
    font-weight: normal;
}
.breakdown table {
    margin-bottom: 0;
}
.breakdown table .sr-align-right {
    font-weight: bold;
}
.breakdown .breakdown-row {
    text-align: center;
}
.breakdown-row > div {
    margin: 5px 0 10px 0;
}
.breakdown-row .breakdown-wday {
    background: lightgrey;
    font-weight: bold;
}
.breakdown-row .breakdown-adult, .breakdown-row .breakdown-child {
    margin-bottom: 0;
}
.breakdown-row .breakdown-child {
    padding-top: 5px;
}
.breakdown-row span.gross {
    color: teal;
    font-weight: bold;
}
.extras_row_roomtypeform input[type="checkbox"],
.extras_row_guestform input[type="checkbox"] {
    vertical-align: middle;
    margin: 0;
}
#solidres .extras_row_roomtypeform input,
#solidres .extras_row_roomtypeform select,
#solidres .extras_row_guestform input,
#solidres .extras_row_guestform select {
    margin-right: 5px;
}

.extras_toggle:hover {
    cursor: pointer;
}
.extra_details {
    padding: 10px;
    border: 1px solid #e7e7e7;
    margin: 10px 0;
    clear: left;
    background: #f4f4f4;
    display: block;
    font-size: 12px;
    line-height: 18px;
}
.extra_details p {
    margin-bottom: 0;
}
.extra_details img {
    float: none;
}

/* Facilities - Policies */
.custom-field-row {
    border-bottom: 1px solid #eee;
    padding:  5px 0 5px 0;
}
.custom-field-row.last {
    border-bottom: none;
}
.info-heading {
    font-weight: bold;
}

/* Powered */
.powered {
    text-align: center;
    margin: 10px 0 0 0;
}
.powered a {
    color: teal;
    font-weight: bold;
}

/* Step2 - Guest Info
====================================================================== */
#sr-exp-toc {
    margin: 0;
}
#solidres .popover {
    max-width: 450px !important;
}
.popover-title {
    font-weight: bold;
}
#solidres .payment_method_details {
    background: #fafafa;
    border: 1px solid #dfdfdf;
    padding: 15px 20px 10px;
}
.popover_payment_methods:hover {
    cursor: help;
}

/* Form validation */
.sr-validate input.error,
.sr-validate select.error ,
.sr-validate textarea.error,
.room-form input.error,
.room-form select.error,
.room-form textarea.error,
.sr-experience input.error,
.sr-experience select.error,
.sr-experience textarea.error {
    border-color: #b94a48;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
    color: #b94a48;
}

.sr-validate label.error,
.room-form label.error,
.sr-experience label.error {
    color: #b94a48;
}
input[type="checkbox"]#processonlinepayment {
    margin: 0
}

/* Step3 - Confirmation
====================================================================== */
.confirmation table {
    margin-top: 10px
}
.toggle_extracost_confirmation:link {
    border-bottom: 1px dashed;
    text-decoration: none;
    color: inherit;
}
.toggle_extracost_confirmation:hover {
    cursor: help;
}

/* Customer Dashboard
====================================================================== */
.reservation-row {
    border: 1px solid #eee;
    margin-bottom: 10px;
}
.reservation-row .checkinout {
    text-align: center;
}
.reservation-row .dayt,
.reservation-row .dayn,
.reservation-row .montht,
.reservation-row .yearn {
    display: block;
}
.reservation-row .dayn {
    font-size: 48px;
    line-height: 48px;
}
.reservation-row h3 i {
    color: #ffbb00;
}
.reservation-row img {
    width: 100%;
    height: auto;
    vertical-align: middle;
}

@media (max-width: 767px) {
    .reservation-row .checkinout .col-md-6 {
        width: 50%;
        float: left;
    }
}
.reservation-cancelled {
    color: red;
    font-weight: bold;
}

#toolbar joomla-toolbar-button {
    margin-inline-start: .75rem;
}

#toolbar joomla-toolbar-button:first-child {
    margin-inline-start: 0;
}
nav .btn {
    margin: 5px 0;
}

/* API */
p.api_credentials {
    height: inherit;
    padding: 4px 6px;
    border: 1px solid #ccc;
}

/* Single Room types
====================================================================== */
.single_room_type_view #system-readmore {
    display: none;
}
.single_room_type_view .call_to_action {
    text-align: center;
}

/* Direction: rtl
====================================================================== */
html[dir="rtl"] .coupon input {
    float: right;
}
html[dir="rtl"] .button-row .col-md-4 {
    text-align: left;
}
html[dir="rtl"] .extras_row_roomtypeform input[type="checkbox"],
html[dir="rtl"] .extras_row_guestform input[type="checkbox"] {
     float: right;
}
html[dir="rtl"] #solidres .extras_row_roomtypeform input,
html[dir="rtl"] #solidres .extras_row_guestform input {
    margin-right: 0;
    margin-left: 5px;
}
html[dir="rtl"] #solidres .extras_row_roomtypeform select,
html[dir="rtl"] #solidres .extras_row_guestform select {
    margin-left: 5px;
    margin-right: 0;
}
html[dir="rtl"] #solidres .breakdown-row .col-md-2 {
    float: right;
}
html[dir="rtl"] .guestinfo .checkbox input[type="checkbox"] {
    margin-right: 0;
    margin-left: 5px;
}
html[dir="rtl"] .payment_method_list .popover {
    right: inherit !important;
}
html[dir="rtl"] .confirmation .table-bordered td {
    border-left: inherit;
    border-right: 1px solid #ddd;
}
html[dir="rtl"] .confirmation ul {
    margin-right: 25px;
}
html[dir="rtl"] .statistics-box.dark i {
    right: auto;
    left: 0;
}
html[dir="rtl"] div#navigation_links_wrapper div#left_nav_links {
    width: auto;
}
html[dir="rtl"] div.sr_freeze_columns_wrapper {
    float: right;
}
html[dir="rtl"] .navbar .nav > li > a {
    color: #555;
}
@media (max-width: 767px) {
    html[dir="rtl"] .room_num_row > div > div:nth-child(1) {
        text-align: right;
    }
}
/* Wishlist and share box
====================================================================== */
#sr-wishlist .rating {
    color: #f7ba0c;
    font-size: 13px;
    width: 7px;
}
#sr-wishlist .review_stars,
#sr-wishlist .review_count {
    display: inline-block;
    font-weight: 700;
    float: right;
}
#sr-wishlist .room-type-row {
    border-top: 1px solid #eee;
    font-size: 11px;
    padding-top: 5px;
}
#sr-wishlist .name {
    margin-top: 0;
    margin-bottom: 5px;
}
#sr-wishlist .asset-row,
#sr-wishlist .exp-row{
    position: relative;
    padding: 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: .4s all ease;
    -moz-transition: .4s all ease;
    -o-transition: .4s all ease;
    transition: .4s all ease;
}
#sr-wishlist .asset-row:hover,
#sr-wishlist .exp-row:hover{
    -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    -moz-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
#sr-wishlist .asset-row a.icon,
#sr-wishlist .exp-row a.icon{
    display: none;
    position: absolute;
    top: 5px;
    right: 5px;
}

#sr-wishlist .asset-row:hover a.icon,
#sr-wishlist .exp-row:hover a.icon{
    display: block;
}
#share-box:after,
.sr-wish-list:after {
    display: table;
    content: "";
    clear: both;
}
.sr-wish-list > a,
.sr-wish-list > a:hover,
.sr-wish-list > a:focus {
    display: inline-block!important;
    font-size: 1.2em;
    line-height: 20px;
    border-radius: 50%;
    padding: 5px;
    text-align: center;
    overflow: visible;
}
#share-box p {
    margin: 10px;
}
#share-box p a {
    display: block;
    line-height: 36px;
    background: #EEE;
    padding: 10px;
    font-size: 18px;
}
.sr-wish-list a i.added {
    color: red;
}
#search-results .fa-heart.added {
    color: red;
}
.sr-wish-list {
    text-align: right;
}
#sr-wishlist .room-type-row .inner {
    padding: 5px;
}
@media (max-width: 767px){
    .sr-wish-list {
        text-align: left;
        padding: 5px 0;
    }
}

/* Bootstrap vs UIKit conflicts
====================================================================== */
body {
    padding-left: 0;
    padding-right: 0;
    background-color: transparent;
}
ul.inline,
ol.inline,
ul.unstyled,
ol.unstyled,
.list-striped,
.list-condensed,
.nav:not(.nav-list),
.pager,
.pagination ul {
    padding-left: 0;
}

ul.sr-list-short-code {
    list-style: none;
    width: 450px;
    margin-left: -5px;
}

ul.sr-list-short-code > li {
    display: inline-block;
    margin: 0 5px 5px 5px;
}

ul.sr-list-short-code > li > a {
    width: auto !important;
}

.sr-field-ui-datepicker-container input[type="text"] {
    background: transparent;
}

.nav-tabs .nav-link,
.nav .nav-item,
.form-horizontal .control-label {
    display: block !important;
}

.element-invisible {
    position: absolute;
    padding: 0;
    margin: 0;
    border: 0;
    height: 1px;
    width: 1px;
    overflow: hidden;
}
.element-invisible:focus {
    width: auto;
    height: auto;
    overflow: auto;
    background: #eee;
    color: #000;
    padding: 1em;
}

select.ui-datepicker-month {
    float: left;
}

/* Fix conflicts with Helix framework */
.contentpane.com-solidres {
    padding: 0 !important;
}

/* Apartment layout
====================================================================== */
.sr-apartment-container address {
    margin: 0;
}
.sr-apartment-box {
    margin: 0 0 15px 0;
    padding: 15px;
    border: 1px solid #EEE;
}
.sr-apartment-box .sr-review,
.sr-apartment-detail-label .fa {
    color: #f67921;
}
.sr-apartment-box .sr-review {
    padding-top: 8px;
}
.sr-apartment-container .sr-gallery {
    overflow: hidden;
    margin-bottom: 20px;
}
.sr-flex-box {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    flex-wrap: wrap;
}
.sr-apartment-detail-container {
    align-items: center;
}
.sr-apartment-detail {
    text-align: center;
    flex-grow: 1;
    width: 95px;
}
.sr-apartment-detail-value {
    font-weight: bold;
    font-size: 18px;
    line-height: 28px;
}
.sr-apartment-container .leader {
    margin-bottom: 20px;
    margin-top: 20px;
    font-weight: bold;
}
#sr-apartment-map {
    height: 280px;
    width: 100%;
}
.sr-apartment-review ul {
    list-style: none;
    margin: 0;
}
.sr-apartment-review .progress {
    margin-bottom: 5px;
}
.sr-apartment-review .bar strong {
    color: #fff;
}
.sr-apartment-review .sr-review {
    border: 1px solid #ddd;
    width: 150px;
    height: 150px;
    padding: 20px;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    font-weight: bold;
}
.sr-apartment-review .sr-review header {
    font-size: 32px;
    line-height: 34px;
}
#solidres .apartment-form-holder .inner {
    margin: 0;
}
.sr-apartment-top-info p {
    line-height: 28px;
}
.apartment-form-holder .breakdown {
    background: none;
    border: none;
    padding: 0;
}
.apartment-form-holder .breakdown table th,
.apartment-form-holder .breakdown table td {
    border: none;
    padding-left: 0;
    padding-right: 0;
}
.apartment-form-holder .breakdown table td:first-child {
    text-decoration: underline;
}
.sr-apartment-container .sr-list-icon li {
    color: inherit;
}
.sr-apartment-container .sr-list-icon svg[class^="sr-icon-"] {
    fill: currentColor;
}
#session_expiration .modal-body {
    text-align: center;
}
#session_expiration .modal-body .countdown {
    font-size: 24px;
    margin: 15px 0
}
#session_expiration .modal-body .countdown > span {
    display: inline-block;
    padding: 5px 15px;
    background: #222;
    color: #fff;
    border-radius: 4px
}
.payment_processing {
    text-align: center;
}
.processing_screen {
    background: url('../images/loading.gif') center center no-repeat;
    display: block;
    width: 100%;
    height: 68px;
    margin-bottom: 15px;
}

#solidres .modal:not(.in):not(.show) {
    visibility: hidden;
}

.sr-payment-history .alert.alert-info {
    margin: inherit;
}

#solidres a[target="_blank"]::before {
    content: inherit;
}

#solidres #adminForm table tbody td > .alert.alert-warning {
    margin: 0;
    padding: 0.5em;
}

/* Joomla modal width height modifier
====================================================================== */
.jviewport-height10 {
    height: 10vh;
}
.jviewport-height20 {
    height: 20vh;
}
.jviewport-height30 {
    height: 30vh;
}
.jviewport-height40 {
    height: 40vh;
}
.jviewport-height50 {
    height: 50vh;
}
.jviewport-height60 {
    height: 60vh;
}
.jviewport-height70 {
    height: 70vh;
}
.jviewport-height80 {
    height: 80vh;
}
.jviewport-height90 {
    height: 90vh;
}
.jviewport-height100 {
    height: 100vh;
}

[class*=jviewport-height] iframe {
    height: 100%;
}

.modal-dialog.jviewport-width10 {
    width: 10vw;
    max-width: none;
}
.modal-dialog.jviewport-width20 {
    width: 20vw;
    max-width: none;
}
.modal-dialog.jviewport-width30 {
    width: 30vw;
    max-width: none;
}
.modal-dialog.jviewport-width40 {
    width: 40vw;
    max-width: none;
}
.modal-dialog.jviewport-width50 {
    width: 50vw;
    max-width: none;
}
.modal-dialog.jviewport-width60 {
    width: 60vw;
    max-width: none;
}
.modal-dialog.jviewport-width70 {
    width: 70vw;
    max-width: none;
}
.modal-dialog.jviewport-width80 {
    width: 80vw;
    max-width: none;
}
.modal-dialog.jviewport-width90 {
    width: 90vw;
    max-width: none;
}
.modal-dialog.jviewport-width100 {
    width: 100vw;
    max-width: none;
}

.modal iframe {
    width: 100%;
}
