@charset "UTF-8";

/* Colors */

:root{
    --main-color: #1E379E;
    --second-color: rgb(27, 50, 145, 0.6);
    --accent-color: #ffaf00;
    --accent-dark-color: rgba(255, 175, 0, 0.7);
    --main-light-color: rgba(27, 50, 145, 0.8);
    --light-color: #d3e4f3;
    --success: #28a745;
    --success-light: #d0ede6;
    --info: #17a2b8;
    --warning: #ff8007;
    --warning-light: #ffeebf;
    --danger: #dc3545;
    --danger-light: #f2dede;
    --blue: #1E379E;
    --light: #f8f9fa;
    --dark: #343a40;
    --text: #545454;
    --text-grey: #999999;
    --grey-light: #E4E4E4;
    --grey-bg: #F2F2F2;
    --grey-border: #DEDEDE;
    --green: #14a480;
    --gradient-main-colors: linear-gradient(to left, rgba(34, 63, 183, 1), rgba(34, 63, 183, 0.98));
    --gradient-soft-main-colors: linear-gradient(to left, rgba(27, 50, 145, 0.5), rgba(34, 63, 183, 0.5));
    --soft-transition: all 300ms cubic-bezier(.25, .1, .25, 1);
}

.text-blue {
    color: var(--blue);
}

header ul {
    background-color: rgba(var(--bs-info-rgb),var(--bs-bg-opacity));
}

/* Media queries */
@media (min-width: 576px){
    .fix-info .header-info {
        left: calc(50% - 325px);
        right: calc(50% - 325px);
    }
    .ui-dialog-xl  {
        width: 95% !important;
    }
}
@media (min-width: 768px){
    .fix-info .header-info {
        left: calc(50% - 415px);
        right: calc(50% - 415px);
    }
    .ui-dialog-xl  {
        width: 80% !important;
    }
}
@media (min-width: 992px){
    .fix-info .header-info {
        left: calc(50% - 535px);
        right: calc(50% - 535px);
    }
    .ui-dialog-xl  {
        width: 65% !important;
    }
}
@media (min-width: 1200px){
    .fix-info .header-info {
        left: calc(50% - 640px);
        right: calc(50% - 640px);
    }
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
*{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
html, body {
    height: 100%;
}
.ui-widget-content a{
    color: var(--main-light-color);
}
a label,
a span {
    cursor: pointer;
}
.clear {
    clear: both;
}
.fs-24 {
    font-size: 24px !important;
}
.fs-22 {
    font-size: 22px !important;
}
.fs-20 {
    font-size: 20px !important;
}
.fs-19 {
    font-size: 19px !important;
}
.fs-18 {
    font-size: 18px !important;
}
.fs-17 {
    font-size: 17px !important;
}
.fs-16 {
    font-size: 16px !important;
}
.fs-15 {
    font-size: 15px !important;
}
.fs-14 {
    font-size: 14px !important;
}
.fs-13 {
    font-size: 13px !important;
}
.separator-title {
    border-top: 1px solid var(--grey-light);
}
.text-grey {
    color: var(--text-grey);
}
.text-green {
    color: var(--green);
}
.text-orange {
    color: var(--warning);
}
.text-white {
    color: #FFF !important;
}
.text-ellipsis {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.text-ellipsis-80pc {
    max-width: 80%;
}
.semibold {
    font-weight: 500;
}
.ibm {
    display: inline-block;
    vertical-align: middle;
}
.block {
    display: block !important;
}
.inline-block {
    display: inline-block !important;
}
.nowrap {
    white-space: nowrap;
}
.pre-line {
    white-space: pre-line;
}
.flex {
    display: flex;
}
.flex-1 {
    flex: 1;
}
.flex-v-center {
    align-items: center;
}
.point-separator-left:before {
    content: "·";
    padding: 0 0.4em;
    color: var(--text-grey);
    font-weight: normal;
}
.has-tooltip {
    cursor: help !important;
}
.lh-15 {
    line-height: 1.5;
}
.sticky-bottom {
    position: -webkit-sticky !important;
    position: sticky !important;
    bottom: 0 !important;
}
.height-zero {
    height: 0 !important;
}
.text-reset-html,
.text-reset-html * {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 1em !important;
    line-height: 1.3em !important;
    background-color: transparent !important;
    color: var(--text) !important;
    font-weight: normal !important;
    font-style: normal !important;
    padding: 0 !important;
    margin: 0 !important;
}
.text-reset-html-basic,
.text-reset-html-basic * {
    font-family: 'Montserrat' !important;
    font-size: 1em !important;
    line-height: 1.3em !important;
    padding: 0 !important;
    margin: 0 !important;
}
.text-remove-br br {
    display: none;
}
.text-remove-br.activity-description-text.opened br {
    display: initial;
}

/* Override primefaces commons styles */
*,
body,
.ui-widget{
    font-size: 14px;
    font-family: 'Montserrat', Arial, sans-serif;
}
.ui-datepicker-week-end {
    background-color: #eaf0f5;
}

.ui-widget-header,
.ui-widget-content{
    border: none;
    background: none;
    padding: 0;
}

#formFilters\:amenitiesFilter_panel {
    background-color: white;
}

.custom-disabled.ui-commandlink.ui-state-disabled {
    pointer-events: initial !important; /* Show tooltip when link is disabled */
    color: var(--main-light-color);
}
a.ui-button,
button.ui-button {
    background: var(--main-light-color);
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    margin-right: 0;
    padding: 6px 12px;
    position: relative;
    transition: var(--soft-transition);
    line-height: 1;
}
button.ui-button:hover{
    background: var(--second-color);
}
button.ui-button-accent{
    background: var(--accent-color);
}
button.ui-button-accent:hover{
    background: var(--accent-dark-color);
}
button.ui-button-cancel{
    background: var(--text);
}
button.ui-button-cancel:hover{
    background: var(--dark);
}
button.ui-button-green{
    background: var(--green);
}
button.ui-button-green:hover{
    background: var(--green);
}
button.ui-button-yellow{
    background: rgba(255, 200, 0, 1);
}
button.ui-button-yellow:hover{
    background: rgb(203, 152, 0);
}
.ui-button-as-commandlink {
    padding: 10.2px 18px !important;
}
a.ui-button-grey,
button.ui-button-grey {
    background: var(--grey-bg);
    color: var(--text) !important;
    padding: 10px 19px 10px 16px;
}
a.ui-button-grey:hover,
button.ui-button-grey:hover {
    background: var(--grey-border);
}
button.ui-button-grey:not(.ui-button-text-icon-left) .ui-button-text {
    padding: 0;
}
button.ui-button-grey.ui-button-text-icon-left .ui-button-text {
    padding: 0 0 0 2.4em;
}
button.ui-button-light{
    background: var(--main-light-color);
}
button.ui-button-light:hover{
    background: var(--second-color);
}
button.ui-button.inverted-color{
    background: #fff;
    color: var(--main-color) !important;
}
button.ui-button.inverted-color:hover{
    background: #ddd;
}
button.ui-button.bordered{
    background: transparent;
    border: 1px solid var(--second-color);
    color: var(--second-color) !important;
}
button.ui-button.bordered:hover {
    background: var(--info);
    color: var(--light) !important;
    border: 1px solid var(--info);
}

.ui-button-transparent {
    background: transparent !important;
    color: var(--text) !important;
}

.ui-button-transparent:hover {
    background: transparent !important;
}

.ui-button-rounded {
    border-radius: 2em !important;
}

button.ui-button-icon {
    background-color: transparent;
    color: var(--text);
    border: 1px solid var(--grey-border);
    border-radius: 50%;
    padding: 6px 8px;
}

button.ui-button-icon:hover {
    color: var(--main-light-color);
    background-color: transparent;
    border: 1px solid var(--grey-border);
}

.ui-button-not-box-shadow {
    box-shadow: none !important;
}

/* Button icons */

button.ui-button .ui-icon:before,
button.ui-button-text-icon-left .ui-icon:before {
    content: "";
    font-family: "Material Icons";
    font-size: 20px;
    font-weight: normal !important;
    text-transform: lowercase;
}
button.ui-button .ui-icon-edit:before {
    content: "edit";
}
button.ui-button .ui-icon-close:before {
    content: "close";
}
button.ui-button .ui-icon-save:before {
    content: "save";
}
button.ui-button .ui-icon-print:before {
    content: "print";
}
button.ui-button .ui-icon-cart:before {
    content: "shopping_cart";
}
button.ui-button .ui-icon-add-cart:before {
    content: "add_shopping_cart";
}
button.ui-button .ui-icon-calendar:before{
    content: "event";
}
button.ui-button .ui-icon-return:before {
    content: "keyboard_backspace";
}
button.ui-button .ui-icon-more-vert:before {
    content: "more_vert";
}
button.ui-button .ui-icon-credit-card:before {
    content: "credit_card";
}
button.ui-button .ui-icon-description:before {
    content: "description";
}
button.ui-button .ui-icon-not-interested:before {
    content: "not_interested";
}
button.ui-button .ui-icon-note-add:before {
    content: "note_add";
}
button.ui-button .ui-icon-tag:before {
    content: "label_outline";
}
button.ui-button .ui-icon-open-in-new:before {
    content: "open_in_new";
}
button.ui-button .ui-icon-delete:before {
    content: "delete";
}
button.ui-button .ui-icon-sync:before {
    content: "sync";
}
button.ui-button .ui-icon-send:before {
    content: "send";
}
button.ui-button .ui-icon-check:before {
    content: "check";
}
button.ui-button .ui-icon-cancel:before,
button.ui-button .ui-icon-close:before{
    content: "close";
}
button.ui-button .ui-icon-arrowreturnthick-1-n:before{
    content: "cloud_upload";
}
button.ui-button.ui-button-icon-only{
    width: auto;
}
button.ui-button.ui-button-icon-only .ui-icon{
    position: absolute;
    text-indent: initial;
    margin: 0;
    top: calc(50% - 10px);
    left: calc(50% - 10px);
}
button.ui-button.ui-button-text-icon-left .ui-icon{
    position: absolute;
    text-indent: initial;
    margin: 0;
    top: 10px;
    left: 18px;
    height: 22px;
    width: 22px;
}
button.ui-button.ui-button-icon-only .ui-button-text{
    width: 22px;
}
.ui-button-arrow .ui-button-text:after {
    font-family: "Material Icons";
    content: "keyboard_arrow_down";
    font-size: 1em;
    padding-left: 0.25em;
    text-transform: lowercase !important;
    font-weight: normal;
    vertical-align: middle;
}
.ui-inputgroup{
    position: relative;
}
.ui-inputgroup button.ui-button {
    position: absolute;
    z-index: 1;
    right: 0;
    top: 0;
    bottom: 0;
    border-radius: 0 5px 5px 0;
}
.ui-inputgroup-rounded .ui-button {
    border-bottom-right-radius: 25px;
    border-top-right-radius: 25px;
}
.ui-inputgroup-rounded .ui-inputtext {
    border-radius: 25px !important;
}
.ui-inputgroup-clear .input-text .ui-autocomplete-input {
    padding-right: 45px;
}
.ui-inputgroup-clear .clear-button {
    background-color: transparent;
    color: var(--dark);
}
.ui-inputgroup-clear .clear-button:hover {
    background-color: transparent;
    color: var(--main-light-color);
}

.icon-round i {
    background: var(--grey-bg);
    color: var(--text);
    padding: 8px;
    border-radius: 50%;
    vertical-align: middle;
    display: inline-block;
}

button.ui-button.ui-button-back {
    background: transparent;
    color: var(--main-light-color);
    padding-left: 2.3em;
    padding-right: 0;
}

button.ui-button.ui-button-back .ui-button-text {
    padding-left: 0;
    padding-right: 0;
    font-weight: 500;
    text-transform: initial;
    font-size: 14px;
}

button.ui-button.ui-button-back .ui-button-text:before {
    content: "arrow_back";
    font-family: "Material Icons";
    font-size: 24px;
    text-transform: lowercase;
    position: absolute;
    top: 0.25em;
    left: 0;
}

.ui-button-back.white {
    color: #FFF !important;
}


/* Calendar */

.ui-calendar:not(.mainSearch_input) {
    display: flex;
    justify-content: flex-start;
    position: relative;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 0;
    transition: var(--soft-transition);
    transition-property: border;
    min-width: 140px !important;
}

.ui-calendar:not(.mainSearch_input) > .ui-inputfield {
    flex: 1;
    position: relative;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 11px 14px;
    transition: unset;
}

.ui-calendar > button.ui-datepicker-trigger {
    padding: 0 15px 0 0;
    background: transparent;
    color: var(--text);
    display: flex;
    align-items: center;
}

/* Tabs */
.ui-tabs.ui-tabs-top > .ui-tabs-nav {
    width: auto;
    border-radius: 4px;
    padding: 0;
    display: table;
    margin: 0 auto;
}
.ui-tabs.ui-tabs-top > .ui-tabs-nav li {
    margin: 0;
    float: none;
    top: 0;
    padding: 0;
    bottom: 0;
    background: #fff;
}
.ui-tabs.ui-tabs-top > .ui-tabs-nav li:first-child{
    border-radius: 4px 0 0 4px;
}
.ui-tabs.ui-tabs-top > .ui-tabs-nav li:last-child{
    border-radius: 0 4px 4px 0;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-selected{
    background: var(--main-light-color);
}
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a{
    color: #fff;
    float: none;
    display: inline-block;
}
.tabView-flights .ui-tabs-panel,
.tabView-transfers .ui-tabs-panel {
    padding: 20px 0 0 0;
}
/* Carousel */
.ui-carousel{
    position: relative;
}
.ui-carousel.hideArrows span.ui-carousel-button{
    display: none;
}
.ui-carousel .ui-carousel-header .ui-carousel-header-title{
    padding: 0;
}
.ui-carousel .ui-carousel-button{
    width: 45px;
    height: 45px;
    border-radius: 50%;
    top: calc(50% - 22px);
    z-index: 11;
    position: absolute;
    background: #fff;
    border: 1px solid #eee;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 0 1px 1px rgba(20,23,28,.1), 0 3px 1px 0 rgba(20,23,28,.1);
}
.ui-carousel .ui-carousel-button.ui-state-disabled{
    opacity: 0;
}

.ui-carousel .ui-carousel-button.ui-carousel-prev-button{
    left: -50px;
    background: #fff url(../img//ic_keyboard_arrow_left_black_24px.svg) no-repeat center center/80%;
}
.ui-carousel .ui-carousel-button.ui-carousel-next-button{
    right: -50px;
    background: #fff url(../img//ic_keyboard_arrow_right_black_24px.svg) no-repeat center center/80%;
    margin-right: 40px;
}
.productHomeHighlight .ui-carousel-button.ui-carousel-prev-button, .destiny-photos-wrapper .ui-carousel-button.ui-carousel-prev-button {
    left: 10px;
}
.productHomeHighlight .ui-carousel-button.ui-carousel-next-button, .destiny-photos-wrapper .ui-carousel-button.ui-carousel-next-button {
    right: -30px;
}
#campaignsForm .ui-carousel-item {
    width: 101vw;
}
.ui-carousel .ui-carousel-viewport .ui-carousel-items .ui-carousel-item {
    margin: 0;
}
.ui-carousel .ui-carousel-header{
    padding: 0;
    height: 0;
}
.ui-slider {
    height: 2px;
    width: 100% !important;
    padding: 0;
    margin: 10px 0 10px 8px;
    background: var(--grey-border);
    border-radius: 3px;
    width: calc(100% - 21px) !important;
}
.ui-slider > .ui-slider-handle{
    background: var(--main-light-color);
    box-shadow: 0 2px 8px rgba(0,0,0,0.38);
}
.ui-slider > .ui-slider-handle:active {
    box-shadow: 0 0 0 8px rgba(0,0,0,0.1);
}
.ui-slider > .ui-slider-range {
    background: var(--main-light-color);
}
.ui-panelgrid .ui-panelgrid-cell{
    border: none;
}


/* Messages */

#content_login_content > #messages {
    top: 20px;
}

.toast {
    position: fixed;
    max-width: 330px;
    width: 100%;
    z-index: 99999;
    right: 20px;
    top: 125px; /* 60px /header + 60px .header-info-fixed or .component-selected-info-wrapper + 5px additional */
    background: transparent;
    text-align: left;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: none;
    animation-fill-mode: none;
    -webkit-animation-name: animationOpacity;
    animation-name: animationOpacity;
}

.toast > [class^="ui-messages-"] {
    color: var(--text);
    border: none;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin: 0;
    border-radius: 6px;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.toast > [class^="ui-messages-"] + [class^="ui-messages-"] {
    margin-top: 15px !important;
}

.toast [class^="ui-messages-"][class$="-summary"] {
    font-size: 15px;
    font-weight: 600;
}

.toast [class^="ui-messages-"][class$="-detail"] {
    font-size: 14px;
    padding-top: 5px;
}

.toast .ui-messages ul li {
    line-height: 1.2;
}

.toast .ui-icon-close {
    flex: 0 0 24px;
    order: 1;
    position: absolute;
    display: flex;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.toast .ui-icon-close:before {
    content: "close";
    font-family: "Material Icons";
    position: absolute;
    color: var(--text);
    top: 8px;
    right: 8px;
    text-indent: initial;
    z-index: 999999;
    font-size: 20px;
    text-transform: lowercase;
    padding: 5px;
    border-radius: 50%;
    opacity: 0;
}

.toast .ui-icon-close:hover:before {
    opacity: 1;
}

.toast ul {
    margin: 0;
    flex: 1;
    padding: 15px 50px 15px 0;
    white-space: normal;
    max-width: 300px;
    word-wrap: break-word;
    list-style-type: none;
}

.toast [class^="ui-messages-"][class$="-icon"] {
    background: none !important;
    display: flex;
    height: auto;
    width: auto;
    align-self: flex-start;
    padding-top: 10px;
    pointer-events: none;
}

.toast [class^="ui-messages-"][class$="-icon"]:before {
    font-family: "Material Icons";
    display: inline-block;
    font-size: 24px;
    margin: 5px 15px 0 17px;
}

.toast .ui-messages-info {
    background: #FFF !important;
    border-left: 5px solid var(--success) !important;
}

.toast .ui-messages-info-icon:before {
    content: "check";
    color: var(--success);
}

.toast .ui-messages-warn {
    background: #FFF !important;
    border-left: 5px solid var(--warning) !important;
}

.toast .ui-messages-warn-icon:before {
    content: "warning";
    color: var(--warning);
}

.toast .ui-messages-error {
    background: #FFF !important;
    border-left: 5px solid var(--danger) !important;
}

.toast .ui-messages-error-icon:before {
    content: "error_outline";
    color: var(--danger);
}

.toast .ui-messages-fatal {
    background: #FFF !important;
    border-left: 5px solid var(--text) !important;
}

.toast .ui-messages-fatal-icon:before {
    content: "block";
    color: var(--text);
}


/* Fixed message error */
.toastfix {
    width: 100%;
    z-index: 99999;
    right: 20px;
    top: 80px;
    background: transparent;
    text-align: left;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: none;
    animation-fill-mode: none;
    -webkit-animation-name: animationOpacity;
    animation-name: animationOpacity;
}

.toastfix .ui-messages-error {
    background: #FFF !important;
    border-left: 5px solid var(--danger) !important;
}
.toastfix > [class^="ui-messages-"] {
    color: var(--text);
    border: none;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin: 0;
    border-radius: 6px;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.toastfix ul {
    margin: 0;
    flex: 1;
    padding: 15px 50px 15px 0;
    white-space: normal;
    word-wrap: break-word;
    list-style-type: none;
}

.toastfix [class^="ui-messages-"][class$="-icon"] {
    background: none !important;
    display: flex;
    height: auto;
    width: auto;
    align-self: flex-start;
    padding-top: 10px;
    pointer-events: none;
}

.toastfix [class^="ui-messages-"][class$="-icon"]:before {
    font-family: "Material Icons";
    display: inline-block;
    font-size: 24px;
    margin: 5px 15px 0 17px;
}
.toastfix .ui-messages-error-icon:before {
    content: "error_outline";
    color: var(--danger);
}

.toastfix [class^="ui-messages-"][class$="-summary"] {
    font-size: 15px;
    font-weight: 600;
}



/* Common messages styles */

.ui-messages ul li + li{
    margin-top: 8px;
}

.ui-messages ul li > span{
    margin: 0;
}

.ui-messages ul li > span:not(:empty){
    width: 100%;
    display: inline-block;
}

.ui-message-info,
.ui-messages-info {
    background: var(--info);
}

.ui-message-error,
.ui-messages-error{
    background: var(--danger);
    color: white;
}

ui-message > span.ui-messages-error-icon{
    display: none;
}


/* Commons text styles */

.page-title {
    font-size: 26px;
    font-weight: bold;
}
.section-title {
    font-size: 20px;
    font-weight: bold;
    display: flex;
}


/* Animations */

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: none;
    animation-fill-mode: none;
}
@-webkit-keyframes animationOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes animationOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}
@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}
@keyframes fadeIn {
    from { opacity: 0.3; }
    to   { opacity: 1; }
}
/* Firefox < 16 */
@-moz-keyframes fadeIn {
    from { opacity: 0.3; }
    to   { opacity: 1; }
}
/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadeIn {
    from { opacity: 0.3; }
    to   { opacity: 1; }
}
/* Internet Explorer */
@-ms-keyframes fadeIn {
    from { opacity: 0.3; }
    to   { opacity: 1; }
}
/* Opera < 12.1 */
@-o-keyframes fadeIn {
    from { opacity: 0.3; }
    to   { opacity: 1; }
}
.animated-opacity {
    -webkit-animation-name: animationOpacity;
    animation-name: animationOpacity;
}
.animated-fade-in-down {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
}
.animation-update .animation-item {
    -webkit-animation: fadeIn 1s; /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadeIn 1s; /* Firefox < 16 */
    -ms-animation: fadeIn 1s; /* Internet Explorer */
    -o-animation: fadeIn 1s; /* Opera < 12.1 */
    animation: fadeIn 1s;
}

.ui-dialog-mask {
    background: rgba(0, 0, 0, 0.24);
}
/* Main componentes */

/* pe:BlockUI */
.blockUI.blockMsg{
    background: white;
    border-radius: 2px;
    padding: 10px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    box-shadow: 0 3px 7px 0 rgba(0,0,0,0.3) !important;
    color: #333;
    font-weight: bold;
    text-align: center;
    position: fixed !important;
    top: 40% !important;
    left: 57% !important;
}
.blockUI.blockOverlay{
    z-index: 998 !important;
}
.blockUI > .pe-blockui-content{
    display: flex;
    flex-flow: column;
}
/* Select */
.ui-selectonemenu{
    position: relative;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    transition: var(--soft-transition);
    transition-property: border;
    display: flex;
    min-width: initial !important;
}
.ui-selectonemenu > label.ui-selectonemenu-label{
    padding: 11px 14px;
    font-size: 15px;
    line-height: normal;
    text-overflow: ellipsis;
}
.ui-selectonemenu > .ui-selectonemenu-trigger {
    width: 32px;
}
.ui-selectonemenu > .ui-selectonemenu-trigger:before {
    font-family: "Material Icons";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    display: flex;
    right: 0;
    content: "keyboard_arrow_down";
    color: var(--text);
    text-indent: initial;
    line-height: normal;
    font-size: 20px;
    align-items: center;
}
.ui-selectmanycheckbox label {
    vertical-align: middle;
    cursor: pointer;
    margin: 0;
    outline: medium none;
    z-index: 1;
    display: inline-block;
}
.ui-selectonemenu-panel{
    background: #fff;
}
.ui-selectonemenu-panel .ui-selectonemenu-list {
    padding: 0;
}
.ui-selectonemenu-panel .ui-selectonemenu-list-item {
    padding: 12px 15px;
    margin: 0;
    white-space: initial;
    font-size: 16px;
}
.ui-selectonemenu-panel .ui-selectonemenu-items-wrapper {
    height: 100% !important;
    max-height: 45vh !important;
    max-width: 350px;
}
.ui-selectonemenu-panel.ui-widget-content.ui-corner-all.ui-helper-hidden.ui-shadow {
    box-shadow: 0 2px 4px 0 rgba(0,0,0,.16);
    margin: 2px 0;
    border-radius: 6px;
}
.ui-selectonemenu-panel.ui-widget-content.ui-corner-all.ui-helper-hidden.ui-shadow {
    box-shadow: 0 2px 4px 0 rgba(0,0,0,.16);
    margin: 2px 0;
}
.ui-selectonemenu-panel .ui-selectonemenu-item.ui-state-highlight {
    font-weight: 600;
    background: var(--grey-bg);
}
.ui-selectonemenu-panel .ui-selectonemenu-filter-container {
    display: block;
    padding: 12px;
    border-bottom: 1px solid var(--grey-border);
}
.ui-selectonemenu-panel .ui-selectonemenu-filter {
    width: 100%;
}
.ui-selectonemenu-panel .ui-selectonemenu-filter-container .ui-icon {
    position: absolute;
    top: 21px;
    right: 20px;
    text-indent: initial;
    width: 24px;
    height: 24px;
    pointer-events: none;
}
.ui-selectonemenu-panel .ui-selectonemenu-filter-container .ui-icon:before {
    content: "search";
    font-family: "Material Icons";
    font-size: 24px;
    color: var(--text);
    pointer-events: none;
}
/* Autocomplete medium */
.ui-autocomplete.input-md {
    border: 1px solid transparent;
    font-size: 16px;
    border-radius: 5px;
}
.ui-autocomplete.input-md .ui-autocomplete-input {
    border: 1px solid transparent;
    font-size: 16px;
    border-radius: 5px;
    text-overflow: ellipsis;
    padding: 9px 12px 9px 45px;
    color: var(--text);
    width: 100%;
}
.ui-autocomplete.input-md-icon:before {
    font-family: 'Material Icons';
    color: var(--text-grey);
    position: absolute;
    font-size: 24px;
    top: 8px;
    left: 12px;
    z-index: 1;
    text-transform: lowercase;
    pointer-events: none;
}
.icon-flight-land:before{
    content: "flight_land";
}
.icon-flight-takeoff:before{
    content: "flight_takeoff";
}
.icon-directions-bus:before{
    content: "directions_bus";
}
.ui-autocomplete.input-md.input-border{
    border: 1px solid #ccc;
}
/* Calendar medium */
.ui-calendar.input-md {
    border: 1px solid transparent;
    font-size: 16px;
    border-radius: 2px;
}
.ui-calendar.input-md.input-border{
    border: 1px solid #ccc;
}
/* Select big */
.ui-selectonemenu.select-lg {
    border: 1px solid #CCC;
    font-size: 16px;
    border-radius: 2px;
}
.ui-selectonemenu.select-lg .ui-selectonemenu-label {
    padding: 14px 13px;
}
.ui-selectonemenu.select-lg-icon:before {
    font-family: 'Material Icons';
    color: var(--text-grey);
    position: absolute;
    font-size: 22px;
    top: 10px;
    left: 12px;
    z-index: 1;
    text-transform: lowercase;
    pointer-events: none;
}
.ui-selectonemenu.select-lg-icon .ui-selectonemenu-label {
    padding: 14px 12px 14px 45px;
    text-overflow: ellipsis;
    color: var(--text);
}
.icon-date:before{
    content: "date_range";
}
.icon-event:before{
    content: "event";
}
.icon-event-note:before{
    content: "event_note";
}
.icon-night:before{
    background-image: url(../img/ic_moon_outline.svg);
    width: 20px;
    height: 20px;
    color: var(--text-grey);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 20px;
    content: "";
}
.icon-extra-nights {
    position: relative;
}
.icon-extra-nights:before {
    content: "+";
    font-size: 15px;
    font-weight: 600;
    color: var(--text-grey);
    display: inline-block;
    vertical-align: middle;
    padding-right: 4px;
}
.icon-extra-nights:after {
    background-image: url(../img/ic_moon_outline.svg);
    width: 16px;
    height: 16px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 16px;
    content: "";
    display: inline-block;
    vertical-align: middle;
}
.ui-selectonemenu.select-no-border {
    border: 1px solid transparent;
}
.ui-selectonemenu.ui-state-hover,
.ui-selectonemenu.ui-state-focus {
    background-color: white;
}
/* Input mask*/
.ui-inputmask{
    position: relative;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 10px;
    font-size: 15px;
    line-height: 16px;
    color: #333;
    text-overflow: ellipsis;
}


/* Inputs */

input.ui-inputfield,
textarea.ui-inputtextarea {
    position: relative;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
    padding: 11px;
    transition: var(--soft-transition);
    transition-property: border;
}
input.ui-inputfield:focus,
textarea.ui-inputtextarea:focus,
input.ui-inputfield:active,
textarea.ui-inputtextarea:active {
    border-color: var(--second-color);
}
input.ui-inputfield.ui-state-error,
.ui-autocomplete-input.ui-state-error,
.ui-selectonemenu.ui-state-error {
    border: 2px solid var(--danger) !important;
}
span.mainSearch_input .ui-inputfield.ui-state-error,
span.mainSearch_input .ui-autocomplete-input.ui-state-error {
    border: 2px solid var(--danger);
}


/* Checkbox */

.ui-chkbox-box > .ui-chkbox-icon {
    border-radius: 2px;
    border: 2px solid #949494;
    height: 20px;
    width: 20px;
    cursor: pointer;
}

.ui-chkbox-box > .ui-chkbox-icon.ui-icon-check {
    border-color: var(--main-light-color);
    background: var(--main-light-color);
    position: relative;
    text-indent: inherit;
}

.ui-chkbox-box > .ui-icon-check:before {
    content: "check";
    font-family: "Material Icons";
    color: #fff;
    position: absolute;
    text-align: center;
    text-transform: lowercase;
    left: -2px;
    top: -2px;
    z-index: 1;
    font-size: 20px;
}


/* Slider range */

.range-indicator {
    display: inline-block;
    text-align: left;
    width: 100%;
    margin: 0 0 10px 0;
}

/* Overlay panel */

.ui-overlaypanel {
    box-shadow: none;
}
.ui-overlaypanel-content {
    background: #fff;
    border-radius: 8px;
    border: 1px solid var(--grey-border);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    padding: 20px;
}
.ui-overlaypanel .ui-overlaypanel-close{
    position: absolute;
    right: 15px;
    top: 15px;
}
.overlaypanel-scroll {
    overflow-y: auto;
    max-height: 50vh;
}
/* Paginator */
.ui-paginator .ui-paginator-page {
    padding: 10px;
    display: inline-block;
    border-radius: 50%;
    width: 35px;
    border: 1px solid var(--grey-border);
    height: 35px;
    color: var(--main-light-color);
}
.ui-paginator .ui-paginator-page:hover,
.ui-paginator .ui-paginator-page.ui-state-active {
    background: var(--main-light-color);
    color: var(--light);
    border: 1px solid var(--main-light-color);
}
.ui-paginator .ui-paginator-page.ui-state-active {
    cursor: default;
}
.ui-paginator .ui-paginator-page + .ui-paginator-page {
    margin-left: 10px;
}
/* Accordion */
.ui-accordion .ui-accordion-header .ui-icon.ui-icon-triangle-1-e,
.ui-accordion .ui-accordion-header .ui-icon.ui-icon-triangle-1-s{
    background: none;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    top: auto;
    left: auto;
    margin: 0 5px 0 0;
    height: 20px;
    width: 20px;
}
.ui-accordion .ui-accordion-header .ui-icon.ui-icon-triangle-1-e:before,
.ui-accordion .ui-accordion-header .ui-icon.ui-icon-triangle-1-s:before{
    font-family: "Material Icons";
    font-size: 20px;
    position: absolute;
    color: #333;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    height: 20px;
    width: 20px;
    text-transform: lowercase;
    letter-spacing: inherit;
    text-indent: initial;
    line-height: normal;
}
.ui-accordion .ui-accordion-header .ui-icon.ui-icon-triangle-1-e:before{
    content: "chevron_right";
}
.ui-accordion .ui-accordion-header .ui-icon.ui-icon-triangle-1-s:before{
    content: "expand_more";
}
.ui-radiobutton-icon.ui-icon-bullet {
    width: 8px;
    height: 8px;
    background: var(--main-light-color);
    border-radius: 50%;
    margin: 4px;
    display: inline-block;
}
/* Material icons */
.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;  /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
}
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }
/* Body content structure */
#content{
    margin: 0 auto -285px;
    min-height: 100vh;
    padding-top: 60px;
}
header.has-campaign ~ #content {
    padding-top: 240px;
}
.container {
    width: 100% !important;
    max-width: 1280px;
    padding: 30px 12px;
    margin-right: auto;
    margin-left: auto;
}
#main-search + .container {
    min-height: 350px;
}
.container-fluid{
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}
/* Login */
#principal{
    padding: 0;
    position: relative;
    background-size: cover;
    background-attachment: fixed;
    background: var(--gradient-main-colors);
    margin: 0;
}
#principal > #video-background{
    overflow: hidden;
    width: 45%;
    background: #f0efef;
    -webkit-clip-path: ellipse(52% 160% at 42% 10%);
    clip-path: ellipse(52% 160% at 42% 10%);
    min-height: 100vh;
    display: inline-block;
    vertical-align: middle;
    position: relative;
}
#video-background.gradient::before,
#video-background.gradient::after {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    left: 0;
    content: "";
    bottom: 0;
    z-index: 2;
    transition: var(--soft-transition);
}
#video-background::before {
    background: linear-gradient( to bottom, #249eb500, #000000bf );
    z-index: 3;
}
#video-background::after{
    background: url("https://www.jinx.com/content/super_hero_grid_grey.png");
}
#video-background > .video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    margin: auto;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}
#video-background > .video.active{
    opacity: 1;
}
#principal > #video-background + #general{
    float: right;
    width: 55%;
    height: 100vh;
    display: flex;
    vertical-align: middle;
    align-items: center;
}
#principal > #video-background + #general input[id$="username"] {
    width: 100%;
}
#principal #content_login{
    width: 100%;
}
#principal #content_login_content {
    padding: 25px;
    width: 85%;
    max-width: 792px;
    margin: 0 auto;
}
#semVer-bar{
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0;
    text-align: right;
    display: flex;
    flex-flow: row;
    justify-content: flex-end;
    align-items: center;
    color: #FFF;
    font-size: 15px;
}
#semVer-bar i.version-indicator{
    padding: 10px;
    position: relative;
    order: 1;
    z-index: 1;
    color: rgba(255,255,255,0.8);
    cursor: help;
}
#semVer-bar i.version-indicator:hover {
    color: rgba(255,255,255,1);
}
#semVer-bar i.version-indicator:hover + .versioning-info {
    transform: translateX(0);
}
#semVer-bar .versioning-info {
    transform: translateX(150%);
    transition: var(--soft-transition);
    transition-property: transform;
}
.login-wrapper {
    padding: 0 150px 0 100px !important;
}
.login-wrapper .login-cnt {
    display: flex !important;
    flex: 1 !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
}
.login-wrapper .login-cnt > .ui-panel-content {
    flex: 1 !important;
    margin: 0 !important;
}
.link-white {
    color: #FFF !important;
    border-bottom: 1px solid rgba(255,255,255,0.5);
}
.login-form {
    max-width: 340px;
    width: 100%;
}
.login-form .more-options {
    border-bottom: 1px solid rgba(0,0,0,0.15);
    margin-bottom: 30px;
    padding-bottom: 40px;
}

/* Header */

header{
    z-index: 999;
    position: fixed;
    width: 100%;
    top: 0;
}

[id$='menuBar'].menuBar {
    height: 60px;
    background: var(--gradient-main-colors);
    padding: 0;
    display: flex;
    align-items: center;
    box-shadow: 0 2px 3px rgba(0,0,0,0.15);
}

[id$='menuBar'].menuBar > ul.ui-menu-list {
    width: 100%;
    display: flex;
    align-items: stretch;
    padding: 0 15px;
    height: 100%;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem,
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options .option-menu{
    position: relative;
    border: none;
    margin: 0;
    display: flex;
    padding: 0 10px;
    align-items: center;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options{
    margin-left: auto;
    display: flex;
    order: 999;
    align-items: center;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options .option-menu{
    padding: 0 15px;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menuitem-active,
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options .option-menu:hover{
    background: rgba(255,255,255,.15);
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem > a.ui-menuitem-link {
    display: inline-block;
    vertical-align: middle;
    line-height: normal;
    float: none;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .03em;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem img{
    height: 35px;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options .option-menu i{
    color: #fff;
    vertical-align: middle;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #eye-icon,
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #strikethrough-eye-icon,
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #cart-icon,
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-icon {
    position: relative;
    display: inline-block;
}


/* Header - Cart */

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options > a{
    height: 100%;
    display: inline-block;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options .option-menu .icon-items{
    width: 20px;
    height: 20px;
    position: absolute;
    top: -9px;
    right: -9px;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options .icon-items:after {
    content: attr(data-badge);
    position: absolute;
    top: 0;
    right: 0;
    font-size: 11px;
    background: var(--accent-color);
    color: white;
    width: 19px;
    height: 19px;
    text-align: center;
    line-height: 19px;
    border-radius: 50%;
}


/* Header - User */

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-icon > i {
    background: rgba(0,0,0,0.2);
    padding: 7px;
    color: #FFF;
    border-radius: 50%;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-icon_items.icon-items:after,
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-options > .user-option .icon-items:after {
    background: var(--green);
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-info{
    display: inline-block;
    margin-left: 15px;
    color: #fff;
    padding: 12px 0;
    line-height: 18px;
    height: 100%;
    vertical-align: middle;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-options{
    margin: 0;
    width: 250px;
    background: #fff;
    box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
    position: absolute;
    right: 64px;
    top: 60px;
    z-index: 9999;
    padding: 0;
    border-radius: 8px;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-options > .user-option {
    line-height: normal;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-options > .user-option.option-separator {
    border-top: 1px solid var(--grey-border);
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-options > .user-option > a,
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-options > .user-option > span {
    color: #333;
    display: inline-block;
    padding: 15px 20px;
    width: 100%;
    font-size: 15px;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-options > .user-option > a:hover{
    background: var(--grey-bg);
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-options .user-option:first-child > a {
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-options .user-option:last-child > a {
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #user-options > .user-option .icon-items{
    position: relative;
    display: inline-block;
    top: 0;
    right: 0;
    vertical-align: middle;
    margin-left: 10px;
    width: 20px;
    height: 20px;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #login {
    margin: 0;
    width: 350px;
    background: #fff;
    box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
    position: absolute;
    right: 64px;
    top: 60px;
    z-index: 9999;
    padding: 0;
    border-radius: 4px;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #login > .login-option {
    line-height: normal;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #login > .login-option.option-separator {
    border-top: 1px solid var(--text);
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #login > .login-option > label {
    color: #333;
    margin: 10px 5px;
    padding-top: 10px;
    width: 20%;
    font-size: 15px;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #login > .login-option > input {
    color: #333;
    margin: 10px 5px;
    width: 70%;
    font-size: 15px;
}

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #login > .login-option > button {
    margin: 10px;
}

/* login responsive */
#menuPackageResponsive #login-mobile {
    margin: 0;
    width: 300px !important;
    background: #fff;
    box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
    position: absolute;
    left: 50%;
    top: 60px;
    z-index: 9999;
    padding: 0;
    border-radius: 4px;
    transform: translateX(-50%);
}

#menuPackageResponsive #login-mobile > div {
    float: none !important;
    width: 100% !important;
    border: none !important;
    margin: 0 !important;
}

#menuPackageResponsive #login-mobile > .login-option {
    line-height: normal;
}

#menuPackageResponsive #login-mobile > .login-option.option-separator {
    border-top: 1px solid var(--text);
}

#menuPackageResponsive #login-mobile > .login-option > label {
    color: #333;
    margin: 10px 5px;
    padding-top: 10px;
    width: 20%;
    font-size: 15px;
}

#menuPackageResponsive #login-mobile > .login-option > input {
    color: #333;
    margin: 10px 5px;
    width: 70%;
    font-size: 15px;
}

#menuPackageResponsive #login-mobile > .login-option > button {
    margin: 10px;
}

#menuPackageResponsive #login-mobile a {
    color: var(--main-light-color);
}

#menuPackageResponsive #login-mobile .botonAccederAgencia {
    background: var(--main-light-color);
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    margin-right: 0;
    padding: 14px;
    position: relative;
    transition: var(--soft-transition);
    line-height: 1;
    text-align: center;
}

#menuPackageResponsive #login-mobile .botonAccederAgencia:hover {
    background: var(--second-color);
}
/* login responsive */

/*
    * Header responsive
 */

#user-icon-mobile {
    margin-top: -7px;
}

#menuPackageResponsive .option-menu {
    padding: 2px !important;
    background: none !important;
}

/* #login-mobile * {
    color: black;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 15px;
} */

[id$='menuPackageResponsive'].menuPackageResponsive {
    height: 60px;
    background: var(--gradient-main-colors);
    padding: 0;
    display: flex;
    align-items: center;
    box-shadow: 0 2px 3px rgba(0,0,0,0.15);
}

[id$='menuPackageResponsive'].menuPackageResponsive > ul.ui-menu-list {
    width: 100%;
    display: flex;
    align-items: stretch;
    padding: 0 15px;
    height: 100%;
}

[id$='menuPackageResponsive'].menuPackageResponsive > ul.ui-menu-list > li.ui-menuitem,
.option-menu{
    position: relative;
    border: none;
    margin: 0;
    display: flex;
    padding: 0 10px;
    align-items: center;
}

[id$='menuPackageResponsive'].menuPackageResponsive > ul.ui-menu-list > li.ui-menuitem.ui-menuitem-active,
.option-menu:hover{
    background: rgba(255,255,255,.15);
}

[id$='menuPackageResponsive'].menuPackageResponsive > ul.ui-menu-list > li.ui-menuitem > a.ui-menuitem-link {
    display: inline-block;
    vertical-align: middle;
    line-height: normal;
    float: none;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .03em;
}

[id$='menuPackageResponsive'].menuPackageResponsive > ul.ui-menu-list > li.ui-menuitem img{
    height: 35px;
}

#eye-icon-mobile,
#strikethrough-eye-icon-mobile,
#cart-icon-mobile,
#user-icon-mobile {
    position: relative;
    display: inline-block;
}

#user-icon-mobile > i {
    background: rgba(0,0,0,0.2);
    padding: 7px;
    color: #FFF;
    border-radius: 50%;
}

#user-icon-mobile_items.icon-items:after,
#user-options-mobile > .user-option .icon-items:after {
    background: var(--green);
}

#user-info-mobile{
    display: inline-block;
    margin-left: 15px;
    color: #fff;
    padding: 12px 0;
    line-height: 18px;
    height: 100%;
    vertical-align: middle;
}

#user-options-mobile{
    margin: 0;
    width: 250px;
    background: #fff;
    box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
    position: absolute;
    right: 64px;
    top: 60px;
    z-index: 9999;
    padding: 0;
    border-radius: 8px;
}
#user-options-mobile > .user-option {
    line-height: normal;
}
#user-options-mobile > .user-option.option-separator {
    border-top: 1px solid var(--grey-border);
}
#user-options-mobile > .user-option > a,
#user-options-mobile > .user-option > span {
    color: #333;
    display: inline-block;
    padding: 15px 20px;
    width: 100%;
    font-size: 15px;
}

#user-options-mobile > .user-option > a:hover{
    background: var(--grey-bg);
}

#user-options-mobile .user-option:first-child > a {
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}

#user-options-mobile .user-option:last-child > a {
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
}

#user-options-mobile > .user-option .icon-items{
    position: relative;
    display: inline-block;
    top: 0;
    right: 0;
    vertical-align: middle;
    margin-left: 10px;
    width: 20px;
    height: 20px;
}

/* #login-mobile{
    margin: 0;
    width: 350px;
    background: #fff;
    box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
    position: absolute;
    right: 20px;
    top: 60px;
    z-index: 9999;
    padding: 0;
    border-radius: 4px;
} */

.header-info-fixed {
    max-width: 100vw;
}

header {
    max-width: 100vw;
}

/* #login-mobile > .login-option {
    line-height: normal;
}
#login-mobile > .login-option.option-separator {
    border-top: 1px solid var(--text);
}
#login-mobile > .login-option > label {
    color: #333;
    margin: 10px 5px;
    padding-top: 10px;
    width: 20%;
    font-size: 15px;
}

#login-mobile > .login-option > input {
    color: #333;
    margin: 10px 5px;
    width: 70%;
    font-size: 15px;
}

#login-mobile > .login-option > button {
    margin: 10px;
} */
#search-options-mobile{
    margin: 0;
    width: 350px;
    background: #fff;
    box-shadow: 0px 1px 6px 2px rgba(0, 0, 0, 0.08);
    position: absolute;
    right: 10px;
    top: 60px;
    padding: 20px;
    z-index: 9999;
    border-radius: 4px;
}
#search-options-mobile > .search-options-label{
    color: #444;
    font-weight: 600;
    font-size: 15px;
    width: 100%;
    float: left;
    line-height: normal;
}
#search-options-mobile .search-options-input{
    width: 100%;
    border-radius: 2px 0 0 2px;
    border: 1px solid #ccc;
    border-right: 0;
    padding: 8px 8px 8px 40px;
}
#search-options-mobile .ui-inputgroup{
    float: left;
    width: 100%;
    line-height: normal;
    margin-top: 15px;
}
#search-options-mobile .ui-inputgroup:before{
    content: "search";
    font-family: "Material Icons";
    position: absolute;
    font-size: 20px;
    margin: 8px 12px;
    color: var(--text);
    z-index: 2;
    pointer-events: none;
}
#cart-options-mobile {
    top: 60px;
    width: 250px;
    background: #fff;
    box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.18);
    position: absolute;
    right: 20px;
    line-height: normal;
    z-index: 9999;
    border-radius: 8px;
}
#cart-options-mobile.cart-options-empty {
    text-align: center;
    padding: 65px;
    font-size: 20px;
}
#cart-options-mobile.cart-options-empty > i{
    font-size: 45px;
    margin-bottom: 25px;
    background: var(--grey-bg);
    border-radius: 50%;
    padding: 25px;
}
#cart-options-mobile > #product-list-mobile {
    max-height: 40vh;
    overflow-y: auto;
    padding: 15px 20px 15px 10px;
}
#cart-options-mobile #actions-cart-mobile #cart-price-mobile{
    text-align: right;
    margin-bottom: 10px;
    font-size: 17px;
    float: right;
    width: 100%;
}
#cart-options-mobile #actions-cart-mobile{
    padding: 20px;
    float: left;
    width: 100%;
    border-top: 1px solid var(--grey-border);
}

@media (max-width: 768px) {
    #cart-options-mobile #actions-cart-mobile [id$='j_idt2648']{
        float: right;
        margin-bottom: 24px;
        color: var(--main-light-color);
    }
}

#modalLogin{
    margin: 0;
    width: 350px;
    background: #fff;
    box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2);
    right: 64px;
    top: 60px;
    z-index: 9999;
    padding: 0;
    border-radius: 4px;
}

#modalLogin > .login-option {
    line-height: normal;
}
#modalLogin > .login-option.option-separator {
    border-top: 1px solid var(--text);
}
#modalLogin > .login-option > label {
    color: #333;
    margin: 10px 5px;
    padding-top: 10px;
    width: 20%;
    font-size: 15px;
}

#modalLogin > .login-option > input {
    color: #333;
    margin: 10px 5px;
    width: 70%;
    font-size: 15px;
}

#modalLogin > .login-option > button {
    margin: 10px;
}


/* Header - Search */

[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #search-options{
    margin: 0;
    width: 350px;
    background: #fff;
    box-shadow: 0px 1px 6px 2px rgba(0, 0, 0, 0.08);
    position: absolute;
    right: 10px;
    top: 60px;
    padding: 20px;
    z-index: 9999;
    border-radius: 4px;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #search-options > .search-options-label{
    color: #444;
    font-weight: 600;
    font-size: 15px;
    width: 100%;
    float: left;
    line-height: normal;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #search-options .search-options-input{
    width: 100%;
    border-radius: 2px 0 0 2px;
    border: 1px solid #ccc;
    border-right: 0;
    padding: 8px 8px 8px 40px;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #search-options .ui-inputgroup{
    float: left;
    width: 100%;
    line-height: normal;
    margin-top: 15px;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #search-options .ui-inputgroup:before{
    content: "search";
    font-family: "Material Icons";
    position: absolute;
    font-size: 20px;
    margin: 8px 12px;
    color: var(--text);
    z-index: 2;
    pointer-events: none;
}
/* Menubar - Cart */
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #cart-options {
    top: 60px;
    width: 650px;
    background: #fff;
    box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.18);
    position: absolute;
    right: 200px;
    line-height: normal;
    z-index: 9999;
    border-radius: 8px;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #cart-options.cart-options-empty {
    text-align: center;
    padding: 65px;
    font-size: 20px;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #cart-options.cart-options-empty > i{
    font-size: 45px;
    margin-bottom: 25px;
    background: var(--grey-bg);
    border-radius: 50%;
    padding: 25px;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #cart-options > #product-list {
    max-height: 40vh;
    overflow-y: auto;
    padding: 15px 20px 15px 10px;
}
.detail-product-booking  .product{
    color: #4e4e4e;
    padding: 10px 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-around;
    align-items: stretch;
    position: relative;
}
.detail-product-booking .component-detail-info-summary:not(.expanded) > .product{
    padding: 0;
}
.detail-product-booking .component-detail-info-summary.expanded > .product{
    padding: 0 0 10px;
}
.detail-product-booking .ui-datalist-item .product.inherit{
    margin-bottom: 10px;
}
.detail-product-booking .ui-datalist-item .product.inherit:after {
    border-bottom: 1px solid #e0e0e0;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}
.detail-product-booking  .ui-datalist-item:not(:last-child) .component-detail-info-summary:not(.expanded) .product {
    border: none;
}
.detail-product-booking  .product > .product-action-delete{
    width: 40px;
    vertical-align: top;
    text-align: center;
    flex: 0 0 40px;
}
.detail-product-booking .product > .product-action-delete > a:hover {
    color: var(--main-light-color);
}
.detail-product-booking .product > .product-action-delete > a {
    color: var(--text);
}
.detail-product-booking  .product > .product-detail{
    flex: 1;
    display: flex;
    flex-wrap: wrap;
}
.detail-product-booking  .product > .product-detail > .product-poster-wrapper{
    width: 95px;
    height: 73px;
    position: relative;
    border-radius: 2px;
}
#checkout-form .detail-product-booking  .product > .product-detail > .product-poster-wrapper {
    width: 150px;
    height: 100px;
}
#checkout-form .detail-product-booking .product > .product-detail .product > .product-detail > .product-poster-wrapper{
    width: 80px;
    height: 57px;
}
.detail-product-booking  .product > .product-detail > .product-poster-wrapper > label.otherBL-indicator{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,.7);
    color: white;
    display: flex;
    align-items: center;
    padding: 2px 4px;
}
.detail-product-booking  .product > .product-detail > .product-poster-wrapper.product-poster-flight-wrapper{
    background: #fff url(../img/icon-multi-flight.png) no-repeat center center / 40%;
    border: 1px solid var(--grey-border);
    border-radius: 8px;
}
.detail-product-booking  .product > .product-detail > .product-poster-wrapper.product-poster-excursion-wrapper,
.detail-product-booking  .product > .product-detail > .product-poster-wrapper.product-poster-service-wrapper,
.detail-product-booking  .product > .product-detail > .product-poster-wrapper.product-poster-product-wrapper{
    background: #fff url(../img/no_pic_product.png) no-repeat center / cover;
}
.detail-product-booking  .product > .product-detail > .product-poster-wrapper.product-poster-bus-wrapper {
    background: #fff url(../img/no_pic_transfer.png) no-repeat center / cover;
}
.detail-product-booking  .product > .product-detail > .product-poster-wrapper.product-poster-insurance-wrapper{
    background: #fff url(../img/no_pic_insurance.png) no-repeat center / cover;
}
.detail-product-booking .product > .product-detail > .product-poster-wrapper img{
    object-fit: cover;
    width: 100%;
    height: 100% !important;
    border-radius: 8px;
}
.detail-product-booking .product > .product-detail > .product-info{
    flex: 1;
    padding-left: 20px;
    text-align: left;
}
.detail-product-booking .product > .product-detail > .product-info > .product-name{
    font-weight: bold;
    font-size: 16px;
    display: flex;
    align-items: center;
}
.detail-product-booking .product > .product-detail > .product-info > .product-name > a {
    font-size: 18px;
    margin-right: 5px;
}
.detail-product-booking .product > .product-detail > .product-info > .product-name > img{
    margin-right: 8px;
}
.detail-product-booking  .product > .product-detail > .product-info > .product-main-info{
    font-size: 13px;
    line-height: 1.3em;
    margin-top: 5px;
    margin-bottom: 10px;
}
#checkout-form .detail-product-booking  .product > .product-detail > .product-info > .product-main-info{
    margin-top: 7px;
    line-height: 1.7em;
}
#checkout-form .detail-product-booking .product > .product-detail > .product-info > .product-main-info > * {
    /*display: flex;*/
    align-items: flex-start;
}
.detail-product-booking  .product > .product-detail > .product-info > .product-main-info .iataFlight {
    font-size: 11px;
    vertical-align: top;
    margin: -4px 0 0 2px;
    display: inline-block;
}
#cart-options .detail-product-booking  .product > .product-detail > .product-info > .product-main-info li.ui-datalist-item:not(:empty) {
    margin: 10px 0 0px 0;
    width: 100%;
}
.detail-product-booking  .product > .product-price{
    vertical-align: top;
    text-align: right;
    font-weight: 700;
}
.detail-product-booking  .product > .product-price > .price-indicator{
    float: right;
    font-size: 11px;
    font-weight: normal;
    color: #444;
}
.detail-product-booking  .product > .product-price .status{
    color: #888;
    font-size: 14px;
    margin-top: 5px;
    font-weight: normal;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #cart-options #actions-cart #cart-price{
    text-align: right;
    margin-bottom: 10px;
    font-size: 17px;
    float: right;
    width: 100%;
}
[id$='menuBar'].menuBar > ul.ui-menu-list > li.ui-menuitem.ui-menubar-options #cart-options #actions-cart{
    padding: 20px;
    float: left;
    width: 100%;
    border-top: 1px solid var(--grey-border);
}


/* Footer */

/* Sticky footer styles */
#content:after{
    content: "";
    display: block;
}

footer,
#content:after{
    min-height: 285px;
}

footer {
    position: relative;
    background: var(--grey-bg);
    z-index: 99;
    margin-top: 100px;
    padding: 20px 0;
    overflow: auto;
}

footer  .footer-content {
    display: flex;
}

footer .footer-content .footerLink {
    flex: 1;
    padding: 0 15px 0 0;
}

footer .footer-content .footerLink h2 {
    font-size: 16px;
    font-weight: 600;
    padding: 20px 0;
}

footer .footer-content .footerLink li {
    margin: 0;
}

footer .footer-content .footerLink a {
    color: var(--text);
    border-radius: 3px;
    line-height: 2.2;
    padding: 0;
    vertical-align: middle;
    font-size: 14px;
    position: relative;
    display: table;
    transition: var(--soft-transition);
}

footer .footer-content .footerLink a:hover {
    color: var(--main-light-color);
}

#footerPanel {
    margin-top: 30px;
    padding-top: 20px;
}

/* Main search products */

#main-search {
    background: var(--grey-light);
    padding: 0;
}

#main-search_content {
    padding: 25px 0 !important;
}

#main-search.search-flights {
    background: url(../img/covers/flight-cover.jpg) center center var(--grey-bg) no-repeat;
    background-size: cover;
}

#main-search.search-flights #main-search_content {
    background: rgba(255,255,255,0.5);
}
.search-activities {
    background: url(../img/covers/activities-cover.jpg) center center var(--grey-bg) no-repeat;
    background-size: cover;
}

.search-activities .overlay {
    background: rgba(255,255,255,0.5);
    padding: 25px 0 15px 0;
}

#main-search.search-transfers {
    background: url(../img/covers/transfer-cover.jpg) center center var(--grey-bg) no-repeat;
    background-size: cover;
}

#main-search.search-transfers #main-search_content {
    background: rgba(255,255,255,0.5);
}

.package-search-table .actions {
    padding: 12px 0 !important;
    background-color: var(--grey-light);
}
form.mainSearch-form{
    position: relative;
    width: 100%;
    color: var(--text);
    max-width: 1280px;
    margin: 0 auto;
}
form.mainSearch-form > table.mainSearch-table{
    width: 100%;
    margin: 0 auto;
    position: relative;
}
form.mainSearch-form > table.mainSearch-table td{
    position: relative;
    padding: 4px;
}

#packages-components .product-actions {
    text-align: right !important;
    margin-bottom: 2rem;
}

@media (max-width: 768px) {
    form.mainSearch-form > table.mainSearch-table tr td {
        flex: 0 0 100% !important;
        width: 100% !important;
        float: none;
    }
}

@media (max-width: 1200px) {
    form.mainSearch-form > table.mainSearch-table tr {
        display: flex;
        flex-wrap: wrap;
    }

    form.mainSearch-form > table.mainSearch-table tr td:first-child {
        flex: 0 0 100%;
        width: 100%;
    }

    form.mainSearch-form > table.mainSearch-table tr td {
        flex: 0 0 auto;
        width: auto;
    }
}

form.mainSearch-form > table.mainSearch-table td.visibility-hidden {
    padding: 0 4px;
}
form.mainSearch-form > table.mainSearch-table td.ui-panelgrid-cell.swipe-origin-destiny {
    background-color: var(--grey-light);
    border-radius: 100%;
    margin: auto -17px;
    height: 34px;
    -webkit-transition: background-color 150ms ease 0ms;
    width: 34px;
    z-index: 1;
}
form.mainSearch-form > table.mainSearch-table td.ui-panelgrid-cell.swipe-origin-destiny:active{
    background-color: var(--main-light-color);
}
form.mainSearch-form > table.mainSearch-table td.ui-panelgrid-cell.swipe-origin-destiny > *{
    display: flex;
    align-items: center;
    position: absolute;
    text-align: center;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
}

form.mainSearch-form > table.mainSearch-table td.ui-panelgrid-cell.swipe-origin-destiny > * > i.material-icons{
    font-size: 22px;
    color: var(--text);
    margin: auto;
    vertical-align: middle;
    font-weight: 100;
    transition: transform 150ms ease 0ms;
}
form.mainSearch-form > table.mainSearch-table td.ui-panelgrid-cell.swipe-origin-destiny > *.rotated > i.material-icons{
    transform: rotateZ(180deg);
}
form.mainSearch-form h1.title-main-form{
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 10px;
}
form.mainSearch-form > table.mainSearch-table td.column-hidden{
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 120px;
}
form.mainSearch-form > table.mainSearch-table td.column-hidden-min{
    visibility: hidden;
    position: absolute;
    left: 25%;
    top: 60px;
}
form.mainSearch-form > table.mainSearch-table td.landtour-column-hidden{
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 30px;
}

.landtour-detail-search,
.package-detail-search,
.activity-detail-search {
    background: var(--grey-light);
    padding: 15px 15px 5px 15px;
    border-radius: 8px;
}

.landtour-detail-search {
    padding-bottom: 15px !important;
}

.package-detail-search .accordion-custom > .ui-accordion-content {
    background-color: #FFF;
    color: var(--text);
}


/* Tooltip */

.ui-tooltip .ui-tooltip-text {
    background: rgba(0,0,0,0.8);
    color: #FFF;
    padding: 15px 20px;
    border-radius: 6px;
    font-size: 15px;
    box-shadow: none;
}

.ui-tooltip .ui-tooltip-arrow {
    border-top-color: rgba(0,0,0,0.8);
}

.ui-tooltip.inverted-colors .ui-tooltip-text {
    background: #FFF;
    color: var(--text);
    border: 1px solid rgb(220, 214, 214);
    box-shadow: 0 5px 8px 0 rgba(146,170,187,0.3);
}
.ui-tooltip.inverted-colors .ui-tooltip-arrow {
    border-top-color: #fff;
}

.tooltip-title {
    font-weight: 600;
    display: block;
    margin-bottom: 10px;
}

.tooltip-desc {
    font-weight: 400;
    display: block;
}


/* Dot separator */

.dot-separator:before {
    content: "\00b7";
    display: inline-block;
    margin: 0 0.5em;
    color: var(--text-grey);
}

/* Comma separator */

.comma-separator:before {
    content: ",";
    display: inline-block;
    margin: 0 0.4em 0 0;
}

/* Comma separator block */

.comma-separator-block > *:not(:first-child):before {
    content: ",";
    display: inline-block;
    margin: 0 0.4em 0 0;
}


/* FileUploader PDF */

.file-uploader {
    border: 2px dashed var(--grey-light);
    text-align: center;
    border-radius: 4px;
    text-align: center;
    margin-bottom: 20px;
    padding: 10px;
}

.file-uploader > .fileupload-buttonbar {
    text-align: right;
    background: var(--main-color);
}

.file-uploader .ui-fileupload-messages .ui-messages-error .ui-messages-close {
    float: none !important;
    position: absolute !important;
    right: 15px !important;
    top: 10px !important;
}

.file-uploader .ui-fileupload-messages .ui-messages-error .ui-messages-close .ui-icon {
    text-indent: initial !important;
}

.file-uploader .ui-fileupload-messages .ui-messages-error .ui-messages-close .ui-icon-close:before {
    font-family: "Material Icons";
    display: inline-block;
    vertical-align: sub;
    font-size: 1.3em;
    content: "close";
    color: var(--dark);
}

.file-uploader .ui-fileupload-messages .ui-messages-error {
    border-radius: 4px;
    border: 0;
    color: var(--danger);
    background-color: var(--danger-light);
    padding: 15px 20px;
    margin: 15px 0;
    font-size: 15px;
    line-height: 1.4;
    position: relative;
}

.file-uploader .ui-fileupload-messages .ui-messages-error ul {
    max-width: initial;
    text-align: left;
    padding: 0;
}

/* In progess files */

.file-uploader .ui-fileupload-files {
    margin: 0 auto !important;
    width: 100%;
    max-width: 700px;
}

.file-uploader .ui-fileupload-files .ui-fileupload-cancel {
    padding: 5px;
    float: right;
    color: var(--text);
    background-color: transparent;
}

.file-uploader .ui-fileupload-row>div {
    display: table-cell;
    padding: 6px;
    text-align: left;
    vertical-align: middle;
}

.ui-fileupload-row>.ui-widget-content {
    display: none !important;
}

.file-uploader .ui-fileupload-preview canvas {
    padding-right: 6px;
    max-width: 80px;
    max-height: 30px;
}

.file-uploader .ui-fileupload-row {
    display: table-row;
    border-bottom: 1px solid var(--grey-light);
}

.file-uploader .ui-fileupload-content .ui-progressbar {
    width: 200px !important;
    height: 5px !important;
    margin: 0 0 0 15px !important;
    top: 0 !important;
    background-color: var(--grey-light) !important;
    border-radius: 10px !important;
}

.file-uploader .ui-fileupload-content .ui-progressbar .ui-progressbar-value {
    height: 100% !important;
    background-color: var(--green) !important;
    border-radius: 10px !important;
    position: initial !important;
}

/* Files */

.file-uploaded {
    margin: 0;
}

.file-uploaded ul {
    display: flex !important;
    flex-wrap: wrap;
    border: none !important;
    margin: 0 -10px 0 -10px;
}

.file-uploaded ul:after {
    content: '';
    flex: auto;
}

.file-uploaded ul li {
    border: 1px solid var(--grey-light);
    border-radius: 8px;
    width: calc(20% - 20px);
    margin: 0 10px 20px 10px;
    text-align: center;
    height: 155px;
    position: relative;
}

.file-uploaded ul li:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.file-uploaded ul li .btn-delete {
    position: absolute;
    top: 0;
    right: 0;
    padding: 13px 0 13px 13px;
    background: transparent !important;
    color: #FFF !important;
}

.file-uploaded ul li .btn-download {
    position: absolute;
    top: 33px;
    padding: 12px 20px;
    background: transparent !important;
    color: #FFF !important;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 2em;
    width: 100%;
    max-width: 120px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    z-index: 2;
    font-weight: 600;
}

.file-uploaded ul li .btn-download:hover {
    background: rgba(0,0,0,.2) !important;
}

.file-uploaded ul li .btn-delete .ui-button-text {
    padding: 5px 18px;
}

.file-uploaded ul li .file-actions {
    display: none; /* Hidden by default */
    background-color: rgba(0,0,0,.65);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 54px); /* File name and date */
    z-index: 1;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.file-uploaded ul li:hover .file-actions {
    display: block;
}

.file-uploaded ul li .file-date {
    color: var(--text-grey);
    padding-top: 3px;
    display: block;
}

.file-uploaded ul li .file-name {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    text-align: left;
    line-height: 1.4;
}

.file-uploaded ul li .imageLink {
    position: relative;
    display: inline-block;
}

.file-uploaded ul li .imageLink,
.file-uploaded ul li .documentLink {
    border-bottom: 1px solid var(--grey-light);
    transition: .13s all ease-in-out;
    position: relative;
    height: 100px;
    margin: 0 auto;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.file-uploaded ul li .documentLink>img,
.file-uploaded ul li .imageLink>img {
    width: auto;
    max-height: 100%;
}

.file-uploaded ul li .documentLink:before {
    font-family: "Material Icons";
    display: inline-block;
    vertical-align: sub;
    font-size: 50px;
    content: "insert_drive_file";
    color: var(--second-color);
}

.file-uploaded .file-uploaded-data {
    padding: 10px 15px;
    text-align: left;
    z-index: 2;
}

/* Dialog */
/* Normal dialog */
.ui-dialog {
    background: #fff;
    border-radius: 6px;
    position: absolute;
    box-shadow: 0 24px 38px 3px rgba(0,0,0,0.14), 0 9px 46px 8px rgba(0,0,0,0.12), 0 11px 15px -7px rgba(0,0,0,0.2);
    overflow: hidden;
    max-width: 90vw;
}
.ui-dialog.booking-dialog > .ui-dialog-titlebar{
    z-index: 1;
    padding: 20px 35px;
    position: absolute;
    width: 100%;
}
.ui-dialog > .ui-dialog-titlebar > .ui-dialog-titlebar-close:before,
.ui-overlaypanel .ui-overlaypanel-close:before{
    content: "close";
    font-family: "Material Icons";
    font-size: 20px;
    color: #333;
    font-weight: normal;
}
.ui-dialog .ui-dialog-titlebar-close{
    position: relative;
    width: 30px;
    height: 30px;
}
.ui-dialog.booking-dialog .ui-dialog-titlebar-close:hover:before{
    background: rgba(0, 0, 0, 0.42);
}
.ui-dialog .ui-dialog-titlebar-close:before {
    transition: .18s all ease-in-out;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    background: transparent;
    position: absolute;
    padding: 5px;
    top: 0;
    right: 0;
}
.ui-dialog > .ui-dialog-titlebar > .ui-dialog-title{
    padding: 7px 15px 7px 0;
    margin: 0px;
    font-size: 17px;
    font-weight: 400;
    color: #333;
}
.ui-dialog > .ui-dialog-titlebar > .ui-dialog-titlebar-icon > span.ui-icon-closethick {
    display: none;
}
.ui-dialog .ui-dialog-titlebar-close:hover{
    padding: 1px;
    border: none;
}

/* Login error dialog */
.ui-login-dialog {
    background: #fff;
    border-radius: 4px;
    position: absolute;
    box-shadow: 0 24px 38px 3px rgba(0,0,0,0.14), 0 9px 46px 8px rgba(0,0,0,0.12), 0 11px 15px -7px rgba(0,0,0,0.2);
    overflow: hidden;
    max-width: 90vw;
}
.ui-login-dialog.booking-dialog > .ui-dialog-titlebar{
    z-index: 1;
    padding: 20px 35px;
    position: absolute;
    width: 100%;
}
.ui-login-dialog > .ui-dialog-titlebar{
    background: var(--accent-color) !important;
}
.ui-login-dialog > .ui-dialog-titlebar > .ui-dialog-titlebar-close:before,
.ui-overlaypanel .ui-overlaypanel-close:before{
    content: "close";
    font-family: "Material Icons";
    font-size: 20px;
    color: #333;
    font-weight: normal;
}
.ui-login-dialog .ui-dialog-titlebar-close{
    position: relative;
    width: 30px;
    height: 30px;
}
.ui-login-dialog.booking-dialog .ui-dialog-titlebar-close:hover:before{
    background: rgba(0, 0, 0, 0.42);
}
.ui-login-dialog .ui-dialog-titlebar-close:before {
    transition: .18s all ease-in-out;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    background: transparent;
    position: absolute;
    padding: 5px;
    top: 0;
    right: 0;
}
.ui-login-dialog > .ui-dialog-titlebar > .ui-dialog-title{
    padding: 7px 15px 7px 0;
    margin: 0px;
    font-size: 17px;
    font-weight: bold;
    color: white;
}
.ui-login-dialog > .ui-dialog-titlebar > .ui-dialog-titlebar-icon > span.ui-icon-closethick {
    display: none;
}
.ui-login-dialog .ui-dialog-titlebar-close:hover{
    padding: 1px;
    border: none;
}
.ui-login-dialog > .ui-dialog-content{
    color: #333;
}
.ui-login-dialog > .ui-dialog-content > .ui-widget-content{
    color: #333;
}

/* Other style dialog */
.ui-dialog.ui-new-dialog > .ui-dialog-titlebar > .ui-dialog-titlebar-close:before,
.ui-dialog.ui-new-dialog > .ui-dialog-titlebar > .ui-dialog-title{
    color: #fff;
}
.ui-new-dialog > .ui-dialog-content {
    padding: 0;
}
.ui-new-dialog .package-dialog-content{
    max-height: calc(100vh - 300px);
    overflow-y: auto;
}
/* Dialog component package */
.ui-dialog.dialog-component-package{
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    top: 60px !important;
    bottom: 0 !important;
}
.ui-dialog.dialog-component-package > .ui-dialog-titlebar{
    height: 0;
    padding: 0;
    display: none;
}
.ui-dialog.dialog-component-package > .ui-dialog-content{
    padding: 0;
}
.ui-dialog.dialog-component-package > .ui-dialog-content .content-component-dialog{
    display: flex;
    flex-flow: column;
    height: calc(100vh - 50px);
}
.ui-dialog.dialog-component-package > .ui-dialog-content .content-component-dialog .results-component-wrapper{
    flex: 1;
    overflow: auto;
    margin-bottom: 10px;
}
/* TODO revisar y aplicar nuevo standard para dialogs */
.ui-dialog.dialog-DistributionPaxes{
    width: 660px !important;
    top: 15% !important;
}
#templateDialog > .ui-dialog-titlebar > .ui-dialog-titlebar-icon,
.ui-new-dialog > .ui-dialog-titlebar > .ui-dialog-titlebar-icon{
    padding: 7px 15px;
    right: 0;
    z-index: 1;
}
.ui-new-dialog > .ui-dialog-content .poster-product-booking{
    padding: 50px 20px 15px;
    background: var(--second-color);
    background-position: center;
    background-size: cover;
    height: 135px;
    border: none;
    color: white;
    position: relative;
    z-index: -1;
}
.ui-new-dialog > .ui-dialog-content .poster-product-booking > img{
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -2;
    object-fit: cover;
    right: 0;
    height: 100%;
}
.ui-new-dialog.ui-new-dialog-flight > .ui-dialog-content .poster-product-booking > img{
    width: 250px;
}
.ui-new-dialog > .ui-dialog-content .poster-product-booking:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #003d68c9;
    z-index: -1;
    background-position: center;
}
.ui-new-dialog.ui-new-dialog-package{
    max-height: calc(100vh - 100px);
    top: calc(100vh - (100vh - 100px)) !important;
    z-index: 9999 !important;
}
.ui-new-dialog.ui-new-dialog-package > .ui-dialog-content .poster-product-booking:after,
.ui-new-dialog.ui-new-dialog-flight > .ui-dialog-content .poster-product-booking:after {
    transform: rotate(-10deg);
}
.ui-new-dialog.ui-new-dialog-package .package-dialog-component-content {
    display: flex;
    flex-wrap: nowrap;
    flex-flow: column;
    justify-content: space-between;
}

.ui-new-dialog > .ui-dialog-content .longNameProduct {
    font-size: 22px;
    font-weight: bold;
}
.ui-new-dialog > .ui-dialog-content .summaryProductBooking{
    padding: 15px 15px 25px;
    font-size: 14px;
    color: #333;
    z-index: 10;
}
.ui-new-dialog > .ui-dialog-content .summaryProductBooking .priceSummary{
    float: left;
    width: 100%;
    font-size: 22px;
    font-weight: bold;
    margin: 5px 0 20px;
}
.ui-new-dialog > .ui-dialog-content .imageProduct{
    width: 100px;
    height: 100px;
    position: relative;
    text-align: center;
    margin: -55px auto 15px;
    border-radius: 25%;
    background: #eaeaea no-repeat center center / cover;
}
.ui-new-dialog > .ui-dialog-content  .starRatingOn::before,
.ui-new-dialog > .ui-dialog-content  .starRatingOff::before{
    font-size: 20px;
}
.ui-new-dialog > .ui-dialog-content .imageProduct > img{
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 25%;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.35);
    border: 5px solid rgba(255, 255, 255, 0.19);
}
.ui-new-dialog > .ui-dialog-content .imageProduct.lodgingImageProduct:before{
    background-image: url(../img/no_pic_hotel.png);
    background-size: cover;
    background-position: center;
    content: "";
    width: 100px;
    height: 100px;
    display: block;
    background-color: #d8d8d8;
    position: relative;
    z-index: -1;
    border-radius: 25%;
}
/* Booking dialog */
.ui-dialog.booking-dialog > .ui-dialog-titlebar > .ui-dialog-titlebar-close:before{
    color: white;
}
.ui-dialog.booking-dialog .ui-dialog-content{
    padding: 0;
}
.ui-dialog.booking-dialog .header-booking-dialog{
    position: relative;
    color: white;
}
.ui-dialog.booking-dialog .header-product-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.ui-dialog.booking-dialog .header-product-background::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #003d68c9;
    background-position: center;
}
.ui-dialog.booking-dialog .header-product-background > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ui-dialog.booking-dialog .header-product-info{
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    width: 85%;
    margin: 0 auto;
    align-items: center;
    padding: 50px 0 15px;
}
.ui-dialog.booking-dialog .header-product-info .circle-product-image{
    width: 50px;
    height: 50px;
    position: relative;
}
.ui-dialog.booking-dialog .header-product-info .circle-product-image > img{
    object-fit: cover;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.ui-dialog.booking-dialog .header-product-info .info-product{
    flex: 1;
    margin-left: 10px;
    z-index: 1;
}
.ui-dialog.booking-dialog .header-product-info .info-product .product-name {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}
.ui-dialog.booking-dialog .header-product-info .info-product .product-name > h1 {
    font-size: 24px;
}
.ui-dialog.booking-dialog .header-product-info .info-product .product-category {
    flex: 1;
    text-align: left;
    margin-left: 10px;
}
.ui-dialog.booking-dialog .header-product-info .info-product .product-address{
    color: #ddd;
    display: flex;
    align-items: center;
}
.ui-dialog.booking-dialog .header-product-info .info-product .product-address > i {
    font-size: 17px;
}
.ui-dialog.booking-dialog .content-booking-dialog{
    position: relative;
    padding-bottom: 50px;
}
.ui-dialog.booking-dialog .header-booking-dialog-FLIGHT, .ui-dialog.booking-dialog .header-booking-dialog-PACKAGE,
.ui-dialog.booking-dialog .content-booking-dialog-FLIGHT, .ui-dialog.booking-dialog .content-booking-dialog-PACKAGE {
    width: 680px;
}
.ui-dialog.booking-dialog .header-booking-dialog-OTHER-PRODUCT, .ui-dialog.booking-dialog .content-booking-dialog-OTHER-PRODUCT {
    width: 475px;
}
.ui-dialog.booking-dialog .content-booking-dialog .info-product-searched{
    background: var(--grey-bg);
    border-bottom: 1px solid var(--grey-border);
    display: flex;
    flex-flow: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    font-size: 13px;
    color: #333;
    font-weight: 600;
}
.ui-dialog.booking-dialog .content-booking-dialog .info-product-booking{
    display: flex;
    flex-flow: column;
    padding: 20px;
}
.ui-dialog.booking-dialog .content-booking-dialog .info-product-booking > * {
    margin: 10px 0 5px;
    line-height: 15px;
}
.ui-dialog.booking-dialog .content-booking-dialog .info-product-booking .price-product-booking {
    font-size: 17px;
    margin: 2px 0 12px;
    font-weight: bold;
}
.ui-dialog.booking-dialog .content-booking-dialog .info-product-searched > * {
    padding: 8px;
    font-size: 11px;
    flex: 1;
    text-align: center;
}
.ui-dialog.booking-dialog .content-booking-dialog .info-product-searched > * + * {
    border-left: 1px solid var(--grey-border);
}
.ui-dialog.booking-dialog .content-booking-dialog .footer-action-booking{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    border-top: 1px solid var(--grey-border);
    background: var(--grey-bg);
}
.ui-dialog.booking-dialog .content-booking-dialog .resultado.rTransporte .distribution > .distribution_line > .companyAndTransportWrapper{
    padding-left: 0;
    width: 100px;
}
.ui-dialog.booking-dialog .content-booking-dialog .components-package{
    margin: 0;
    width: 100%;
}
.ui-dialog.booking-dialog .content-booking-dialog .components-package > .ui-accordion-header{
    display: flex;
    flex-wrap: nowrap;
    padding: 10px 25px;
    font-weight: bold;
    border: 1px solid var(--grey-border);
    margin: -1px 0;
    align-items: center;
}

.booking-extra-info {
    padding: 10px 30px;
    display: block;
    line-height: 1.5;
    text-align: left;
    width: 100%;
}

.info-remark {
    padding: 9px 10px;
    background: var(--info);
    color: white;
    display: block;
    line-height: 1.5;
}


/* Standard modal sizes */

.ui-dialog-sm {
    width: 500px !important; /* Override primefaces style */
}

.ui-dialog-lg {
    width: 750px !important; /* Override primefaces style */
}

.ui-dialog-xl {
    width: 1000px !important; /* Override primefaces style */
}


/* Transport Cabins modal */

.transport-cabins-panel{
    padding: 5px 0;
}
.transport-cabins-panel .transport-cabins-grid tr {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.transport-cabins-panel .transport-cabins-grid tr > td:first-child{
    align-self: center;
    font-size: 16px;
    flex-grow: 1;
    margin: 0 8px;
    min-width: 76px;
}


/* Standard modal */
.ui-common-dialog  {
    /*position: absolute; !* Scroll page when modal content overflows *!*/
    padding: 35px;
}
.ui-common-dialog .ui-dialog-titlebar {
    height: auto;
    padding: 0;
}
.ui-common-dialog .ui-dialog-titlebar .ui-dialog-title {
    font-size: 24px;
    font-weight: bold;
    color: var(--text);
    padding: 0;
}
.ui-common-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close:before,
.ui-overlaypanel .ui-overlaypanel-close:before {
    color: var(--text);
    font-size: 24px;
    padding: 5px;
    transition: var(--soft-transition);
}
.ui-common-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close:hover:before{
    color: var(--main-light-color);
}
.ui-common-dialog .ui-dialog-content {
    padding: 20px 0 0 0;
    overflow-y: auto;
    overflow-x: hidden;
}
.ui-common-dialog .ui-dialog-footer {
    padding: 22px 0 0 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 40px;
}
.ui-common-dialog .ui-dialog-footer .actions-right {
    margin-left: auto;
}

.ui-common-dialog-overflow {
    max-height: 100vh !important;
    position: fixed !important;
}

.ui-common-dialog-overflow .ui-dialog-content {
    overflow-y: hidden !important;
    padding: 20px 0 0 0 !important;
}

.ui-common-dialog-overflow .ui-dialog-content-overflow {
    max-height: calc(100vh - 179px) !important; /* Common header and footer height */
    overflow-y: auto !important;
}

.ui-common-dialog-overflow .ui-dialog-footer {
    margin-top: 0 !important;
}

/* Standard loading modal */
.ui-loading-dialog {
    background: transparent;
    position: fixed;
    box-shadow: none;
    max-width: 100vw;
    width: 100vw !important;
    top: 60px !important; /* Header height */
    left: 0 !important;
    height: 3px !important; /* Loading bar height */
    overflow: hidden;
}

.ui-loading-dialog .ui-dialog-title,
.ui-loading-dialog .ui-dialog-content,
.ui-loading-dialog .ui-dialog-titlebar {
    padding: 0 !important;
}

.ui-loading-dialog:before {
    display: block;
    position: absolute;
    content: "";
    left: -200px;
    width: 200px;
    height: 3px; /* Loading bar height */
    background: var(--accent-color);
    background: -moz-linear-gradient(left, var(--accent-color) 1%, var(--accent-dark-color) 100%);
    background: -webkit-linear-gradient(left, var(--accent-color) 1%,var(--accent-dark-color) 100%);
    background: linear-gradient(to right, var(--accent-color) 1%, var(--accent-dark-color) 100%);
    border-radius: 5px;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=
    'var(--accent-color)', endColorstr='var(--accent-dark-color)',GradientType=1 );
    animation: page-spin 3.5s linear infinite;
}

@keyframes page-spin {
    from {left: -200px; width: 30%;}
    50% {width: 30%;}
    70% {width: 70%;}
    80% { left: 50%;}
    95% {left: 120%;}
    to {left: 100%;}
}

/* Filter panel */
.filter-panel {
    width: 310px;
    flex: 0 0 310px;
    vertical-align: top;
    margin-right: 40px;
    margin-bottom: auto;
}
.filter-panel .occurrenceNumber {
    color: var(--text-grey);
}
.product-filter{
    border-radius: 8px;
    border: 1px solid var(--grey-border);
    background: #fff;
    padding: 20px;
    height: 100% !important;
    overflow: auto;
    overflow-x: clip;
}
.product-filter .filter-field-name{
    padding: 20px 0 10px 0;
    width: 100%;
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
}

.product-filter .filter-field-name-tag{
    padding-bottom: 10px;
    width: 100%;
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
}

.parentFilter tbody tr td label{
    padding-top: 4px;
}

.product-filter .filter-title{
    padding: .2em 0 .4em 0;
    width: 100%;
    float: left;
    font-size: 17px;
    font-weight: 600;
}
/* Filter checkbox */
.product-filter table.ui-selectmanycheckbox{
    width: 100%;
}
.product-filter table.ui-selectmanycheckbox td{
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: nowrap;
    align-items: flex-start;
    margin: 0 -20px;
    padding: 4px 20px;
}
.product-filter table.ui-selectmanycheckbox td:hover,
.product-filter .ui-tree .ui-treenode:hover{
    background: var(--grey-bg);
}
.product-filter table.ui-selectmanycheckbox td > label {
    margin: 0;
    flex-grow: 1;
    padding-left: 10px;
    display: flex;
    justify-content: space-between;
    align-items: initial;
}
.product-filter table.ui-selectmanycheckbox td > label > span:first-child {
    flex: 1;
    padding-right: 10px;
    padding-top: 3px;
}
.product-filter .ui-tree{
    display: flex;
}
.product-filter .ui-tree .ui-tree-container {
    width: 100%;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    overflow: unset;
}
.product-filter .ui-tree .ui-treenode {
    width: calc(100% + 40px);
    margin: 0 -20px;
    padding: 4px 20px;
}
.product-filter .ui-tree .ui-treenode-label{
    margin: 0;
    flex-grow: 1;
    padding: 0 0 0 10px;
    display: flex;
    align-items: center;
    white-space: normal;
}
.product-filter .ui-tree .ui-treenode-label > span:first-child{
    flex: 1;
}
.product-filter .ui-tree .ui-treenode-children:not(:empty){
    margin: 0;
    padding: 10px 0 5px 0;
    flex: 1 1 100%;
}
.product-filter .ui-treenode .ui-treenode-content .ui-icon {
    position: relative;
    width: 20px;
    height: 20px;
}
.product-filter .ui-treenode .ui-treenode-content .ui-icon.ui-icon-triangle-1-e {
    background-image: url(../img/round-keyboard_arrow_right-24px.svg);
    background-size: 20px;
}
.product-filter .ui-treenode .ui-treenode-content .ui-icon.ui-icon-triangle-1-s {
    background-image: url(../img/round-keyboard_arrow_down-24px.svg);
    background-size: 20px;
}
.product-filter .ui-treenode .ui-treenode-children .ui-treenode{
    width: 100%;
    margin: 0 -20px;
    padding: 4px 20px;
    margin-left: 30px;
}
/* Autocomplete */
.product-filter .ui-autocomplete,
.product-filter .ui-autocomplete .ui-autocomplete-input{
    width: 100%;
}

/* Filter accordion */
.product-filter .ui-accordion > .ui-accordion-header{
    padding: 10px 20px;
}
.product-filter .ui-accordion > .ui-accordion-content{
    padding: 0 20px;
    margin: 0 -20px;
}
.product-filter .ui-accordion > .ui-accordion-header{
    font-size: 16px;
    font-weight: 600;
    color: #444;
    background: #fafafa;
    margin: 15px -20px 5px;
}
/* Viewmode */
#viewmode-selector {
    background: var(--grey-bg);
    border-radius: 8px;
    margin: 0 0 2em 0;
    display: flex;
}
#viewmode-selector > a {
    display: inline-block;
    border-right: 1px solid var(--grey-border);
}
#viewmode-selector > a > i.material-icons {
    padding: 10px 16px;
    color: var(--text-grey);
    font-size: 26px;
}
#viewmode-selector > a > i.material-icons.active,
#viewmode-selector > a:hover i.material-icons {
    color: var(--main-light-color);
}
#viewmode-selector > form:last-child {
    margin-left: auto;
}
#viewmode-selector > form:last-child > .ui-selectonemenu-sortlist {
    min-width: 154px;
    background: transparent;
    border: none;
    border-left: 1px solid var(--grey-border);
    height: 100%;
    border-radius: 0;
    transition: var(--soft-transition);
}
#viewmode-selector > form:last-child > .ui-selectonemenu-sortlist:hover {
    background: rgba(255,255,255,.2);
}
#viewmode-selector > form:last-child > .ui-selectonemenu-sortlist .ui-selectonemenu-label{
    background: transparent;
    height: 100%;
    display: flex;
    vertical-align: middle;
    align-items: center;
}
/* Loading indicator */
.loading-indicator:before{
    content: "";
    background-color: rgba(255,255,255,.7);
    position: absolute;
    z-index: 99;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.loading-indicator:after{
    position: absolute;
    content: "";
    z-index: 100;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    padding: 7px;
    background-image: url(../img/loadingIndicator.svg);
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 45px;
}
/* Item cards */
.item-card {
    width: 100%;
    border: 1px solid var(--grey-border);
    padding: 0;
    border-radius: 8px;
    background: #fff;
    margin-bottom: 15px;
    transition: all 300ms cubic-bezier(.25, .1, .25, 1);
    transition-property: box-shadow, border-color;
}
/* Product card */
.item-card.product-card{
    display: flex;
    flex-wrap: wrap;
}
.product-card.opened {
    box-shadow: 0 4px 12px rgba(0,0,0,0.18);
    margin-bottom: 30px;
}
.product-card > .product-poster{
    min-height: 180px;
    flex: 0 0 210px;
    position: relative;
    display: flex;
    align-items: center;
    background-color: #E7F0F6;
    border-top-left-radius: 7px;
    border-bottom-left-radius: 7px;
}
.product-card.transfer-card > .product-poster {
    min-height: 150px;
}
.product-card.opened > .product-poster {
    border-bottom-left-radius: 0;
}
.product-card > .product-poster > img{
    display: block;
    max-width: 100%;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--soft-transition);
    transition-property: object-fit;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}
.product-card.opened > .product-poster > img {
    border-bottom-left-radius: 0;
}
.product-card .product-poster .empty-image {
    object-fit: contain;
}
.product-card > .product-poster > img.loading{
    width: 45px;
    height: 45px;
}
/* Transfer card */
.product-card.transfer-card > .product-poster.transfer-poster{
    border: none;
}
.product-card.transfer-card .modality-transfer {
    font-size: 13px;
    font-weight: bold;
    padding: 5px 10px;
    background: #ddd;
    border-radius: 2px;
}
.journeys-transfer {
    flex-direction: column;
    align-items: start !important;
    text-align: left;
    margin-top: 10px;
}
.journeys-transfer > span ~ span {
    margin-top: 10px;
}
.journeys-transfer > .journey-transfer-info {
    display: flex;
    align-items: center;
}
.journeys-transfer > .journey-transfer-info > img{
    margin-right: 5px;
    filter: hue-rotate(-26deg) saturate(7);
}
.product-card.lodging-card .product-poster img {
    border-bottom-left-radius: 8px;
    border-top-left-radius: 8px;
}
.product-card.lodging-card .lodging-poster img[src*="no_pic_hotel"] {
    object-fit: contain;
}
.product-card.lodging-card > .product-main-content .locationFrom {
    display: inline-block;
    border-radius: 6px;
    padding: 3px 10px;
    background: var(--grey-bg);
    color: var(--text);
    font-weight: 500;
    line-height: 13px;
    margin: 0 8px;
}
.product-card.lodging-card > .product-main-content .locationFrom:before {
    content: "my_location";
    font-family: "Material icons";
    display: inline-block;
    vertical-align: middle;
    margin-top: -2px;
    margin-right: 10px;
    font-size: 17px;
    color: #444;
}
.product-card.lodging-card > .product-main-content .amenityIcon{
    display: inline-block;
    position: relative;
    float: left;
    width: 22px;
    height: 22px;
    margin-right: 8px;
}
.product-card.lodging-card > .product-main-content .amenityIcon:before{
    font-family: "Material Icons";
    font-size: 22px;
    color: var(--text);
}
.product-card.lodging-card > .product-main-content .amenityIcon.BARAMENITY:before{
    content: "local_bar";
}
.product-card.lodging-card > .product-main-content .amenityIcon.WIFIAMENITY:before{
    content: "wifi";
}
.product-card.lodging-card > .product-main-content .amenityIcon.PARKINGAMENITY:before{
    content: "local_parking";
}
.product-card.lodging-card > .product-main-content .amenityIcon.POOLAMENITY:before {
    content: "pool";
}
.product-card.lodging-card > .product-main-content .amenityIcon.SPAAMENITY:before {
    content: "spa";
}
.product-card.lodging-card > .product-main-content .amenityIcon.AIRAMENITY:before {
    content: "ac_unit";
}
.product-card.lodging-card > .product-main-content .amenityIcon.STRONGBOXAMENITY {
    background-image: url(../img/strongbox.svg);
    background-size: 90%;
    background-repeat: no-repeat;
    background-position: center;
}
.availability-results{
    flex: 1 1 100%;
}
.availability-results .numRooms {
    display: block;
    padding: 15px;
    background-color: var(--grey-bg);
    border-top: 1px solid var(--grey-border);
    border-bottom: 1px solid var(--grey-border);
    font-size: 14px;
    font-weight: 700;
}
.availability-results .variety-wrapper {
    display: flex;
    flex-wrap: nowrap;
}
.availability-results .variety-wrapper + .variety-wrapper{
    border-top: 1px solid var(--grey-border);
}
.availability-results .variety-wrapper > .variety-name{
    flex-basis: 275px;
    padding: 15px;
}
.availability-results .variety-wrapper > .modality-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    border-left: 1px solid var(--grey-border);
}
.transfers.availability-results .variety-wrapper > .variety-name {
    padding: 15px 15px 15px 0;
}
.transfers.availability-results .modality {
    padding: 15px 0 15px 15px;
}
.client-rating {
    position: absolute;
    bottom: 0;
    left: 0;
    top: 0;
    right: 0;
    display: flex;
    align-items: flex-end;
    padding: 0 10px 15px;
    color: #fff;
    border-radius: 2px 0 0 2px;
    background: linear-gradient(to top, rgba(0, 0, 0, .8) 0, rgba(0, 0, 0, 0) 50%);
}
.client-rating > .client-rating_label{
    padding: 4px 10px;
    font-weight: 600;
    text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.72);
}
.client-rating > .client-rating_indicator{
    padding: 4px;
    border-radius: 3px;
    color: #fff;
    background: #333;
    font-weight: 700;
}
.client-rating > .client-rating_indicator.REGULAR{
    background: orange;
}
.client-rating > .client-rating_indicator.GOOD{
    background: yellowgreen;
}
.client-rating > .client-rating_indicator.VERYGOOD{
    background: #4cbd51;
}
.client-rating > .client-rating_indicator.EXCELENT{
    background: darkgreen;
}
.product-card > .product-content{
    flex: 1;
}
.product-card > .product-price #actionBtnInsidePckg {
    align-self: center;
}
.product-card > .product-price {
    flex: 0 0 200px;
    border-radius: 0 10px 10px 0px;
}
/* Highlights */
#highlights-title{
    font-size: 17px;
    font-weight: 600;
    color: #555;
}
/* Package card */
.product-card.package-card .product-main-content .icons {
    display: flex;
    flex-flow: wrap;
}

.package-card .icon img {
    max-width: 20px;
    max-height: 20px;
    margin-right: 3px;
}

.package-card .itineraryPanel {
    top: initial !important;
    left: initial !important;
}

/* Results page */

.message-no-result {
    text-align: center;
    width: 100%;
    align-items: center;
    padding: 60px 10px;
    display: flex;
    flex-flow: column;
    font-weight: 600;
    border: 1px solid var(--grey-border);
    border-radius: 6px;
}

.message-no-result::before {
    content: "\e923";
    font-family: "Pangea Icons";
    font-size: 75px;
    font-weight: normal;
    display: block;
    width: 100%;
}

.message-no-result * {
    font-size: 20px;
    margin-top: 25px;
}

.no-data-block {
    display: flex;
    flex: 1;
    flex-flow: column;
    align-items: center;
    padding: 60px 30px;
    border: 1px solid var(--grey-border);
    border-radius: 6px;
}

.results-wrapper{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.lodging-results-wrapper,
.service-results-wrapper,
.transfer-results-wrapper,
.landtour-results-wrapper{
    flex: 1;
    position: relative;
}
.flight-results-wrapper{
    flex: 1;
    position: relative;
    width: 70%;
}
/* View map mode */
.container-fluid #viewmode-selector{
    position: absolute;
    z-index: 1;
    width: auto;
    left: 10px;
    top: 10px;
    margin: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    background-color: #FFF;
}
#viewMapDiv [class^='label']{
    background: var(--dark);
    color: var(--light);
    padding: 4px 10px;
    border-radius: 3px;
    font-size: 13px;
    font-weight: bold;
    opacity: 1 !important;
    overflow: visible !important;
    white-space: nowrap !important;
    box-shadow: rgba(0, 0, 0, 0.3) 1px 1px 4px 0px;
}
#viewMapDiv [class^='label']:after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: calc(50% - 4px);
    width: 8px;
    height: 8px;
    background: inherit;
    transform: rotate(45deg);
    box-shadow: rgba(0, 0, 0, 0.3) 2px 2px 5px 0px;
}
#viewMapDiv .label-regular,
#viewMapDiv .label-regular:after{
    background: orange;
}
#viewMapDiv .label-good,
#viewMapDiv .label-good:after{
    background: yellowgreen;
}
#viewMapDiv .label-verygood,
#viewMapDiv .label-verygood:after{
    background: #4cbd51;
}
#viewMapDiv .label-excelent,
#viewMapDiv .label-excelent:after{
    background: darkgreen;
}
/* Landtours page */
#landtour-highlights{
    width: 100%;
}
.results-landtours-list .landtour-poster img {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}
.results-landtours-list .ui-datagrid-column.ui-g-12 {
    margin-bottom: 0;
    padding: 0 !important;
}
/* Landtour sheet */
.landtour-sheet{
    width: 100%;
}
.landtour-sheet .landtour-sheet-background{
    height: 30vh;
    position: relative;
    background: #fafafa;
    display: flex;
}
.landtour-sheet .landtour-sheet-background:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: "";
    z-index: 1;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4));
}
.landtour-sheet .landtour-sheet-background img.background-image{
    object-fit: cover;
    object-position: center;
    height: 100%;
    position: absolute;
    width: 100%;
}
.landtour-sheet .landtour-sheet-background > .landtour-sheet-actions{
    margin-top: auto;
    z-index: 10;
}
.landtour-sheet .landtour-sheet-content{
    padding: 30px 0;
}
.landtour-sheet .landtour-info{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.landtour-sheet .landtour-main-info {
    display: inline-block;
    width: 100%;
    margin-bottom: 10px;
}
.landtour-sheet .landtour-main-info > .landtour-name{
    font-size: 24px;
    font-weight: 700;
}
.landtour-sheet .landtour-main-info > .list-cities {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-grey);
}
.landtour-sheet .landtour-main-price{
    margin: 0 auto 0 15px;
}
.landtour-sheet .landtour-main-price > * {
    width: 100%;
    display: inline-block;
    text-align: right;
    margin-bottom: 5px;
}
.landtour-sheet .landtour-main-price > .price{
    font-weight: 600;
    font-size: 23px;
}
.landtour-sheet #availability-results-landtour:not(:empty) {
    margin: 35px 0;
    position: relative;
}
.landtour-sheet #availability-results-landtour .product_varietiesProduct{
    border: 1px solid var(--grey-border);
    border-radius: 8px;
}
.landtour-sheet .landtour-sheet-description {
    margin-top: 30px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    line-height: 1.5em;
}
.landtour-sheet .landtour-description-left{
    width: 60%;
    flex-basis: 60%;
    margin-right: 50px;
}
.landtour-sheet .landtour-description-right{
    padding: 30px;
    border-radius: 8px;
    border: 1px solid var(--grey-border);
    width: 40%;
    flex-basis: 40%;
}
.landtour-sheet .landtour-description-right ul {
    list-style-type: disc;
    padding-left: 16px;
}
.landtour-sheet .landtour-description-right ul > li{
    margin-bottom: 10px;
}
.landtour-sheet .landtour-description-right .remarks-not-found{
    width: 100%;
    margin: 20px auto;
    display: inline-block;
    text-align: center;
    padding: 10px;
}
.landtour-sheet .landtour-description-mobile {
    display: none;
}
.landtour-sheet .landtour-block-info > .landtour-block-title{
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    display: inline-block;
    width: 100%;
}
.landtour-block-info {
    font-size: initial !important;
    padding-bottom: 5px !important;
}
.landtour-sheet .landtour-block-info:not(:last-child){
    /*text-align: justify;*/
    border-bottom: 1px solid var(--grey-border);
    padding-bottom: 25px;
    margin-bottom: 25px;
}
.landtour-sheet .landtour-data{
    display: flex;
    width: 100%;
    align-content: space-around;
    flex-wrap: wrap;
}
.landtour-sheet .landtour-data > .landtour-data-name {
    width: 32%;
    flex-basis: 32%;
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 20px;
}
.landtour-sheet .landtour-data > .landtour-data-value {
    width: 68%;
    flex-basis: 68%;
    margin-bottom: 20px;
}
.landtour-sheet .landtour-amenity-wrapper{
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.landtour-sheet .landtour-amenity-wrapper:after{
    content: "";
    flex: auto;
}
.landtour-sheet .landtour-amenity{
    display: inline-block;
    vertical-align: top;
    padding: 10px 5px;
    text-align: center;
    opacity: 0.6;
    width: 105px;
    transition: opacity .15s ease-in-out;
}
.landtour-sheet .landtour-amenity:hover{
    opacity: 0.8;
}
.landtour-sheet .landtour-amenity > img{
    height: 48px;
    object-fit: cover;
}
.landtour-sheet .landtour-amenity > span{
    display: inline-block;
}
.landtour-sheet .landtour-amenity > span:first-letter{
    text-transform: uppercase;
}
.landtour-sheet .landtour-amenity-list{
    list-style: inherit;
    margin: 20px 0 0 20px;
    display: flex;
    flex-wrap: wrap;
}
.landtour-sheet .landtour-amenity-list li{
    flex: 1 1 50%;
}

.landtour-sheet .landtour-itineraries ul.landtour-itineraries{
    position: relative;
}
.landtour-sheet .landtour-itineraries ul > li{
    padding: 0 0 25px 35px;
    position: relative;
}
.landtour-sheet .landtour-itineraries ul > li:before {
    content: "";
    width: 13px;
    height: 13px;
    position: absolute;
    left: 0;
    top: 3px;
    border: 2px solid var(--grey-border);
    background: #fff;
    border-radius: 50%;
    z-index: 1;
    transition: all .2s ease-in-out;
}
.landtour-sheet .landtour-itineraries ul > li:hover:before {
    background: #888;
    border-color: #777;
}
.landtour-sheet .landtour-itineraries ul > li:after {
    content: "";
    position: absolute;
    width: 1px;
    top: 0;
    bottom: 0;
    left: 8px;
    background: var(--grey-border);
}
.landtour-sheet .landtour-itineraries ul > li:first-child:after {
    top: 5px;
}
.landtour-sheet .landtour-itineraries ul > li .itinerary-order{
    display: inline-block;
    width: 100%;
    font-size: 15px;
    font-weight: 600;
}
.landtour-sheet .landtour-itineraries ul > li .itinerary-order:first-letter{
    text-transform: uppercase;
}
.landtour-sheet .itinerary-desc p {
    text-align: initial !important;
    line-height: 1.6;
}
.landtour-sheet .landtour-itineraries ul > li .itinerary-city{
    margin-bottom: 7px;
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
}
.landtour-sheet .itinerary-desc {
    font-size: 15px;
}
.landtour-sheet .landtour-itineraries ul img{
    max-width: 100%;
    border-radius: 2px;
    opacity: 0.8;
    transition: opacity .2s ease-in-out;
}
.landtour-sheet .landtour-itineraries ul img:hover{
    opacity: 1;
}
/* Landtour in packages.. */
.landtour-sheet #landtour-package-content{
    display: inline-block;
    width: 100%;
    position: relative;
}
.landtour-sheet #landtour-package-form {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}
.landtour-sheet #landtour-package-form .ui-carousel-viewport{
    padding: 0 0 50px;
}
#landtour-package-form::-webkit-scrollbar {
    display: none;
}
.landtour-sheet #landtour-package-form > .package-list{
    float: left;
    -webkit-transition: -webkit-transform .2s ease-in-out;
    transition: -webkit-transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
    position: relative;
}
.landtour-sheet #landtour-package-form > .package-list.pn-ProductNav_Contents-no-transition {
    -webkit-transition: none;
    transition: none;
}
.landtour-sheet #landtour-package-form > .package-list .package{
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 260px;
    margin: 0 10px;
    position: relative;
}
.landtour-sheet #landtour-package-form > .package-list .package article.product-card{
    width: 100%;
}
#landtour-package-form::-webkit-scrollbar {
    display: none;
}
.pn-Advancer:focus {
    outline: 0;
}
.pn-Advancer:hover {
    cursor: pointer;
}
.pn-Advancer_Left {
    left: 0;
}
[data-overflowing="both"] ~ .pn-Advancer_Left,
[data-overflowing="left"] ~ .pn-Advancer_Left {
    opacity: 1;
}
.pn-Advancer_Right {
    right: 0;
}
[data-overflowing="both"] ~ .pn-Advancer_Right,
[data-overflowing="right"] ~ .pn-Advancer_Right {
    opacity: 1;
}
.pn-Advancer_Icon {
    width: 14px;
    height: 40px;
    fill: #333;
}

.availability-no-results {
    width: 100%;
    color: #fdfdfd;
    text-align: center;
    padding: 20px 0;
    background: var(--danger);
    display: inline-block;
    font-weight: 600;
}

.availability-optional-components-no-results {
    width: 100%;
    color: #fdfdfd;
    text-align: center;
    padding: 20px 0;
    background: var(--warning);
    display: inline-block;
    font-weight: 600;
}
.availability-results-panel + .availability-no-results{
    display: none;
}
#landtour-highlights > .ui-datalist-content,
#landtour-results > .ui-datalist-content{
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* Landtour card - List view */

.landtour-card-list{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-around;
    align-items: stretch;
    padding: 6px;
}
.landtour-card-list .landtour-image{
    height: 160px;
    flex: 0 0 185px;
    border-radius: 2px;
    position: relative;
}
.landtour-card-list .landtour-image > img{
    object-fit: cover;
    height: 100%;
    height: 100%;
    width: 100%;
    border-radius: 2px;
}
.landtour-card-list .landtour-description{
    flex: 1;
    padding: 10px;
    border-right: 1px solid #ddd;
}
.landtour-card-list .landtour-description .landtour-name-wrapper .landtour-name{
    color: var(--main-light-color);
    font-size: 17px;
    line-height: 17px;
    display: block;
    width: 100%;
    font-weight: 600;
    word-wrap: break-word;
    transition: all .2s ease-in-out;
}
.landtour-card-list .landtour-description .landtour-name-wrapper .landtour-name:hover {
    color: var(--second-color);
}
.landtour-card-list .landtour-description .landtour-desc {
    color: var(--text-grey);
    font-size: 14px;
    line-height: 19px;
    max-height: 40px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.landtour-card-list .landtour-description .landtour-cities-wrapper,
.product-card.landtour-card .product-main-content .landtour-amenity-wrapper{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8px;
}
.landtour-card-list > .landtour-description > .landtour-cities-wrapper > .city,
.landtour-card-list > .landtour-description > .landtour-pois-wrapper > .poi,
.landtour-card-list > .landtour-description > .landtour-countries-wrapper > .country{
    font-size: 13px;
    line-height: 1rem;
    color: #4c4c4c;
}
.landtour-card-list .landtour-description .landtour-pois-wrapper{
    margin: 10px 0 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.product-card.landtour-card .product-main-content .landtour-amenity-wrapper > .landtour-amenity{
    display: inline-block;
    vertical-align: top;
    padding: 3px;
    text-align: center;
    opacity: 0.8;
    transition: opacity .15s ease-in-out;
}
.product-card.landtour-card .product-main-content .landtour-amenity-wrapper > .landtour-amenity > img{
    object-fit: cover;
    width: 25px;
}
.landtour-card-list .landtour-price{
    width: 170px;
    flex: 0 0 170px;
    text-align: center;
    margin: auto 0 20px;
}
.landtour-card-list .landtour-price .price{
    font-size: 13px;
    margin-bottom: 10px;
    display: inline-block;
    font-size: 17px;
    font-weight: 600;
}
.landtour-card-list .landtour-price .price > * {
    margin: .5em 0;
    color: #222;
    font-size: 13px;
    font-weight: normal;
}
.landtour-card-list .landtour-price .price > span {
    width: 100%;
    display: inline-block;
    text-align: center;
}
.landtour-card-list .landtour-price .price > label{
    font-weight: 600;
    font-size: 19px;
}
.product-card.landtour-card .product-main-content > * {
    display: block;
}
.landtour-card {
    height: initial !important;
}
.landtour-card .landtour-price .ui-button {
    align-self: center;
}
.product-card.landtour-card .product-main-content .title {
    padding-bottom: 5px;
    display: inline-block;
}
/* Checkout page */
#summary-form{
    display: flex;
    flex-wrap: wrap;
}
#summary-form > *:first-child{
    flex: 1 1 100%;
    margin-bottom: 15px;
}
/* Departures */
.departures-calendar .day {
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 7px;
    display: block;
}
.departures-calendar .month {
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 5px;
    display: block;
}
.departures-calendar .weekday {
    font-size: 12px;
    color: var(--text-grey);
    text-transform: uppercase;
    display: block;
}
.departures-calendar .fakeButton{
    padding: 0;
}
.departures-calendar .product {
    position: relative;
    border-radius: 2px;
    min-height: 100px;
    padding: 15px;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    margin-bottom: 10px;
    border-radius: 2px;
    font-weight: bold;
    font-size: 14px;
    color: #FFF;
}
.departures-calendar .product .image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.departures-calendar .product .image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: all .2s ease-in;
    border-radius: 3px;
}
.departures-calendar .product .image::after {
    content: '';
    position: absolute;
    background-color: rgba(0,0,0,.45);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: all .2s ease-in;
    border-radius: 2px;
}
.departures-calendar .product:hover .image::after {
    background-color: rgba(29,107,162,.8);
}
.departures-calendar .product .main-info {
    align-self: flex-end;
    z-index: 1;
}
.departures-calendar .product .name {
    font-size: 18px;
    color: #FFF;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 250px;
    display: block;
    margin-bottom: 6px;
}
.departures-calendar .product .desc {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 250px;
    max-width: 60%;
}
.departures-calendar .product .secondary-info {
    align-self: flex-end;
    z-index: 1;
    text-align: right;
}
.departures-calendar .product .icons {
    display: block;
    margin-bottom: 10px;
}
.departures-calendar .product .icons .icon {
    display: inline-block;
    filter: brightness(0) invert(1); /* TODO [Arturo]: Usar SVGs de tipos de producto */
    margin-left: 12px;
}
.departures-calendar .product .icons .icon img {
    max-height: 20px;
}
.departures-calendar .price {
    margin-bottom: 2px;
    display: inline-block;
}
.departures-calendar .price label {
    font-size: 20px;
}
.departures-calendar .fakeButton {
    font-weight: bold;
    font-size: 18px;
    color: #FFF;
    background-color: transparent;
}
.departures-calendar .fakeButton::after {
    display: none;
}
/* Product Card */
.product-card .image-wrapper {
    position: relative;
    min-height: 180px;
    border-radius: 2px;
    background-color: #e7f0f6; /* TODO [Arturo]: custom default image (product type) */
    display: flex;
    align-items: flex-end;
    color: #FFF;
    font-weight: bold;
    font-size: 15px;
    padding: 15px;
}
.product-card .image-wrapper .main-image {
    object-fit: cover;
    position: absolute;
    border-radius: 2px;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    margin: 0;
}
.product-card .wrapper-main-image::after {
    content: '';
    position: absolute;
    background-color: rgba(0,0,0,.25);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: all .5s ease-in;
    border-radius: 2px;
}
.product-card:hover .wrapper-main-image::after{
    background: linear-gradient(to bottom, rgba(29,107,162,.8) 50%, rgba(29,107,162,.8));
}
.product-card .image-wrapper.image-wrapper-package .wrapper-overflow{
    overflow: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.product-card .image-wrapper.image-wrapper-package .wrapper-overflow .bottom{
    transform: translateY(-100%);
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
    right: 0;
    padding: 8px 10px;
    display: flex;
    flex-wrap: wrap;
    line-height: 1em;
    overflow: hidden;
    height: 3.6em;
    opacity: 0;
}
.product-card .image-wrapper.image-wrapper-package .top {
    transform: translateY(200%);
    left: 0;
    bottom: 0;
    top: 0;
    right: 0;
    padding: 8px 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    line-height: 1em;
    overflow: hidden;
    height: 3.6em;
    opacity: 0;
}
.product-card .image-wrapper.image-wrapper-package:hover .bottom{
    transform: translateY(0px);
    opacity: 1;
}
.product-card .image-wrapper.image-wrapper-package:hover .top {
    transform: translateY(100%);
    opacity: 1;
}
.product-card .image-wrapper .left,
.product-card .image-wrapper .right,
.product-card .image-wrapper .bottom,
.product-card .image-wrapper .top{
    opacity: .99;
    transition: transform .4s ease-in-out;
}
.product-card .image-wrapper .left {
    flex: 1;
}
.product-card .image-wrapper .right {
    text-align: right;
    opacity: 1;
    position: absolute;
    right: 15px;
    bottom: 15px;
}
.product-card .image-wrapper .price {
    font-size: 20px;
    margin-top: 8px;
    display: block;
}
.product-card .image-wrapper .price-label {
    font-size: 15px;
}
.product-card .image-wrapper .icons {
    display: block;
}
.product-card .image-wrapper .icons .icon {
    display: inline-block;
    margin-left: 12px;
}
.product-card .image-wrapper .icons .icon img {
    max-height: 20px;
    width: auto;
    filter: brightness(0) invert(1); /* TODO [Arturo]: Usar SVGs de tipos de producto */
}
.product-card .main-info {
    padding-top: 5px;
}
.product-card .name {
    font-size: 18px;
    font-weight: bold;
    color: var(--main-light-color);
    transition: all .2s ease-in;
    line-height: 22px !important;
    max-height: 44px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}
.product-card .name:hover {
    color: var(--second-color);
}
.custom-ui-datagrid .ui-grid-row {
    margin: 0 -10px 20px;
}
.custom-ui-datagrid .ui-datagrid-column {
    padding: 0 10px !important; /* TODO [Arturo]: Quitar !important al quitar todos los estilos de #smallHighlights */
}
/* Activity card */
.activity-description-text.closed {
    max-height: 42px; /* Line height x number of lines (1.3em x 3) */
    overflow: hidden;
}
/* Active filters */
.active-filters {
    margin-bottom: 30px;
    display: inline-block;
    width: 100%;
}
.active-filters .filter-wrapper {
    display: inline-block;
}
.active-filters .filter-tag {
    color: #FFF;
    padding: 6px 6px 6px 10px;
    font-size: 14px;
    background-color: var(--green);
    cursor: pointer;
    border-radius: 2px;
    transition: all .2s ease-in-out;
    position: relative;
    font-weight: normal;
    margin-right: 5px;
    margin-bottom: 8px;
    display: inline-block;
}
.active-filters .filter-tag:hover {
    background-color: #088a6a;
}
.active-filters .filter-tag::after {
    font-family: 'Material Icons';
    color: #FFF;
    font-size: 16px;
    content: "close";
    margin-left: 5px;
    vertical-align: sub;
}
.active-filters .filter-clear {
    color: var(--main-light-color);
    font-size: 14px;
    display: block;
    transition: all .2s ease-in;
    margin-top: 7px;
    font-weight: bold;
}
.active-filters .filter-clear:hover {
    color: var(--second-color);
}
/* Plantillas - Resultados */
#template-sheet #container{
    margin-top: 151px;
    flex: 1;
}
#template-form{
    position: fixed;
    width: 100%;
    top: 60px;
    height: 151px;
    z-index: 998;
    left: 0;
    right: 0;
    background: var(--second-color);
}
.summary-template-wrapper{
    display: flex;
    padding: 8px 15px;
}
.summary-template-components{
    flex: 1;
    width: calc(100% - 235px);
    min-width: 0;
    min-height: 0;
}
.summary-template-bookinglink{
    width: 235px;
    flex: 0 0 235px;
    background: var(--accent-color);
    border-radius: 8px;
    padding: 15px;
}
.template-component-results{
    margin-top: 20px;
    display: flex;
}
#template-sheet #templateSelectorContent .ui-datalist-empty-message {
    display: none; /* product view includes search result message (avoiding duplicate) */
}
/* Carousel Horizontal Tempalte*/
.ui-carousel .ui-carousel-viewport .ui-carousel-items .ui-carousel-item {
    padding: 0 24px 0 0;
}
.destiny-photos-wrapper .ui-carousel .ui-carousel-viewport .ui-carousel-items .ui-carousel-item {
    padding: 0;
}
.component-selector {
    height: 135px;
    padding: 15px;
    position: relative;
    background: #fff;
    border-radius: 8px;
    opacity: .8;
}

.component-selector.selected {
    background: #fff;
    color: var(--dark);
    opacity: 1;
}
/* Package sheet */
.productlayout .package-sheet-background {
    height: 30vh;
    position: relative;
    background: var(--second-color);
    display: flex;
}
.activity-sheet .package-sheet-background {
    height: 40vh !important;
}
.package-sheet-background:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: "";
    z-index: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.53));
}
.productlayout .package-sheet-background img.background-image {
    object-fit: cover;
    object-position: center;
    height: 100%;
    position: absolute;
    width: 100%;
}
.productlayout .package-sheet-background > .package-sheet-actions {
    margin-top: auto;
    z-index:10;
}
.productlayout .package-sheet-content {
    padding: 40px 0;
}
.productlayout .header-name {
    display: none !important;
}
.productlayout .fix-info .header-name {
    display: block !important;
}
.productlayout .fix-info .header-title {
    display: none;
}
.productlayout .package-itinerary .ui-g:first-child .ui-datagrid-column:first-child {
    border-top-left-radius: 8px;
}
.productlayout .package-itinerary .ui-g:first-child .ui-datagrid-column:last-child {
    border-top-right-radius: 8px;
}
.productlayout .package-itinerary .ui-g:last-child .ui-datagrid-column:first-child {
    border-bottom-left-radius: 8px;
}
.productlayout .package-itinerary .ui-g:last-child .ui-datagrid-column:last-child {
    border-bottom-right-radius: 8px;
}
.productlayout .package-info {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.productlayout .package-main-info,
.productlayout .package-main-info > * {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin-bottom: 10px;
}
.productlayout .package-main-info .package-name {
    font-size: 24px;
    font-weight: 700;
}
.productlayout .package-main-info .package-subtitle {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-grey);
}
.productlayout .package-main-price .price-currency {
    padding-left: 5px;
}
.productlayout .package-main-price {
    margin: 0 auto 0 15px;
    flex: 0 1 270px;
}
.productlayout .package-main-price > * {
    display: inline-block;
    text-align: right;
    margin-bottom: 5px;
    float: right;
}
.productlayout .package-main-price > .price {
    font-weight: 600;
    font-size: 23px;
}
.productlayout .package-block-info{
    text-align: justify;
    padding-bottom: 25px;
    margin-bottom: 25px;
    width: 100%;
}
.productlayout .package-block-title{
    font-size: 20px;
    font-weight: 600;
    display: inline-block;
    color: #444;
}
.productlayout .component-selected-info-wrapper + .results-component-wrapper{
    margin-top: 60px;
}
/* Components comparator */
.productlayout .component-selected-info-wrapper {
    background: var(--second-color);
    position: fixed;
    width: 100%;
    top: 60px;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.1);
    z-index: 15;
    color: #FFF;
}
.productlayout .component-selected-info-wrapper .component-selected-info{
    padding: 0 10px;
    display: flex;
    height: 100%;
}
.productlayout .component-selected-info-wrapper .component-comparator {
    flex: 1;
    display: none !important; /* Hide comparator */
    margin-right: 20px;
}
.productlayout .component-selected-info-wrapper .component-comparator > *{
    flex: 0 0 50%;
    border-left: 1px solid #ffffff3b;
    padding: 10px;
    position: relative;
    transition: var(--soft-transition);
    max-height: 100px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.productlayout .component-selected-info-wrapper .component-comparator > *::after {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    top: 0;
    right: 0;
    background: linear-gradient(to top, var(--second-color) 0%, #ffffff00 20%);
}
.productlayout .component-selected-info-wrapper .component-comparator > *:hover::after {
    background: none;
}
.productlayout .component-selected-info-wrapper .component-comparator > *:hover {
    background: rgba(255, 255, 255, 0.11);
    max-height: 300px;
    -webkit-line-clamp: inherit;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: clip;
}

.productlayout .component-selected-info-wrapper .optionsHeaderPackagePrice #packageComponentPkgPrice .pkgPrice {
    display: flex;
    padding: 0 !important;
    vertical-align: middle;
}

.productlayout .component-selected-info-wrapper .optionsHeaderPackagePrice #packageComponentPkgPrice .pkgPrice label {
    font-size: 17px;
    font-weight: 400;
    display: flex;
    align-items: end;
    margin-right: 9px;
}

.productlayout .component-selected-info-wrapper .optionsHeaderPackagePrice #packageComponentPkgPrice {
    display: inline-block;
    margin-right: 20px;
    vertical-align: middle;
}

.productlayout .component-selected-info-wrapper .optionsHeaderPackagePrice {
    padding: 12px 0;
    text-align: right;
    flex: 1;
}
.productlayout .package-sheet-description {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    line-height: 1.5em;
}
.blockContent {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.blockContent + .blockContent,
[id^="packageTabs"].ui-datalist + [id^="packageTabs"].ui-datalist,
.optionalComponent + .optionalComponent{
    border-top: 1px solid var(--grey-bg);
}
.blockContent > *,
.optionalComponent > *{
    padding: 10px;
}
.blockContent .serviceContentDetail,
.optionalComponent .optionalComponentContent{
    flex: 1;
    border-left: 1px solid var(--grey-bg);
}
.optionalComponent {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.optionalComponent > button{
    flex: 0 0 200px;
}
/* Dot list */
.dot-list {
    width: 100%;
}
.dot-list .dot-list-line {
    margin-bottom: 15px;
    line-height: 1.1em;
    background: url('../img/bg-dots.png') transparent 0 0.85em repeat-x;
}
.dot-list .dot-list-line .left,
.dot-list .dot-list-line .right {
    background-color: #FFF;
}
.dot-list .dot-list-line .left {
    padding-right: 12px;
}
.dot-list .dot-list-line .right {
    float: right;
    padding-left: 12px;
    font-weight: bold;
}
/* Booking & Quote searcher page */
table.new-table{
    position: relative;
    border: 1px solid rgba(0,0,0,.12);
    border-collapse: collapse;
    font-size: 13px;
    background-color: #fff;
}
table.new-table.oneline{
    white-space: nowrap;
}
table.new-table th{
    vertical-align: bottom;
    text-overflow: ellipsis;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0;
    font-size: 12px;
    color: rgba(0,0,0,.54);
    padding-bottom: 8px;
    text-align: left;
}
table.new-table tr{
    position: relative;
    height: 48px;
    transition-duration: .28s;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-property: background-color;
}
table.new-table tr:hover{
    background-color: var(--grey-bg);
}
table.new-table tr:hover td:first-child {
    font-weight: bold;
}
table.new-table tr td{
    text-align: left;
    position: relative;
    height: 48px;
    box-sizing: border-box;
    padding: 12px 3px;
    border-top: 1px solid rgba(0,0,0,.12);
    border-bottom: 1px solid rgba(0,0,0,.12);
    vertical-align: middle;
    overflow: visible;
}
table.new-table.action-table tr td:last-child{
    text-align: right;
}
.budget-container {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 2% 0;
}
.booking-container {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 2% 0;
}
.booking-panel {
    border-radius: 15px;
    padding-bottom: 3%;
    background: #f9f9f9;
    margin: 0 2%;
    height: fit-content;
}
.booking-header {
    padding: 2%;
    text-align: center;
    font-size: 20px;
    border-radius: 15px 15px 0 0;
}
.booking-count {
    text-align: center;
    font-size: 60px;
    margin-bottom: 5%;
    padding-bottom: 5%;
}
.booking-count-number {
    font-family: 'Roboto', Arial, sans-serif;
}
.booking-details {
    margin-top: 5%;
    margin-bottom: 5%;
}
.booking-section {
    width: 49.5%;
    text-align: center;
    float: left;
}
.TOTAL {
    color: var(--main-light-color) !important;
    background-color: var(--light-color) !important;
}
.IN_AGREEMENT, .BOOKING {
    color: var(--green) !important;
    background-color: var(--success-light) !important;
}
.ON_REQUEST {
    color: var(--warning) !important;
    background-color: var(--warning-light) !important;
}
.ANNULLED {
    color: var(--danger) !important;
    background-color: var(--danger-light) !important;
}

/* Checkout page */
#checkout-form{
    position: relative;
}
#checkout-form #product-list,
#checkout-form .main-info,
#checkout-form .header-info > *{
    width: 90%;
    display: flex;
    justify-content: space-between;
    margin: 0 0 20px 0;
}
.header-info{
    flex-flow: column;
    position: absolute;
    top: 75px;
    left: 0;
    right: 0;
}
#checkout-form.fix-info .header-info {
    position: fixed;
    top: 50px;
    z-index: 998;
}
#checkout-form.fix-info .header-info > #main-info{
    display: none;
}
#checkout-form.fix-info .main-actions .price-total-fixed {
    opacity: 1;
    transform: translateX(0);
}
.header-info-fixed{
    position: fixed;
    top: 60px;
    left: 0;
    height: 60px;
    width: 100%;
    z-index: -1;
}
.fix-info .header-info-fixed{
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.12);
    z-index: 998;
}
#checkout-form .main-info{
    line-height: 1.8em;
}
#checkout-form .main-info > .main-info-persons{
    display: flex;
    justify-content: space-between;
    font-size: 16px;
}
#checkout-form .main-info > .main-info-persons > .main-info-persons-labels,
#checkout-form .main-info > .main-info-persons > .main-info-persons-values {
    display: flex;
    flex-direction: column;
    font-size: 14px;
}
#checkout-form .main-info > .main-info-persons > .main-info-persons-values #holder-label:after {
    content: "keyboard_arrow_down";
    font-family: "Material Icons";
    font-size: 20px;
    vertical-align: middle;
    font-weight: normal;
}
#checkout-form .main-info > .main-info-persons > .main-info-persons-values {
    flex: 1;
    margin-left: 20px;
}
#checkout-form .main-info label#holder-label {
    cursor: pointer;
}
#checkout-form .main-info > .main-info-price .price-total {
    font-size: 18px;
    color: #1B115C;
}
#checkout-form .main-info > .main-info-price .price-total > span {
    font-size: 24px;
    color: #1B115C;
}
#checkout-form .main-actions{
    justify-content: flex-start;
    padding-bottom: 20px;
    align-items: center;
}
.price-total-fixed{
    font-size: 17px;
    margin-right: 25px;
    transition: .5s all ease-in-out;
    -webkit-appearance: none;
    transition-property: transform, opacity;
}
.price-total-fixed > span{
    font-size: 22px;
}
#checkout-form .main-actions .price-total-fixed{
    transform: translateX(100px);
    opacity: 0;
}
.main-action-wrapper{
    border: 1px solid #e0e0e0;
    border-radius: 2px;
    display: flex;
}
.main-action-wrapper > a,
.main-action-wrapper > span{
    display: inline-block;
    padding: 5px 15px;
    background: #eee;
    height: 100%;
}
.main-action-wrapper > a:hover > *{
    opacity: .8;
}
.main-action-wrapper > a > *{
    color: #000;
    opacity: .5;
    font-size: 22px;
    margin-top: 2px;
}
.main-action-wrapper > a + a {
    border-left: 1px solid #e0e0e0;
}
.main-action-wrapper + .main-action-wrapper{
    margin-left: 10px;
}
#checkout-form .main-actions > *:last-child {
    margin-left: 5px;
    display: flex;
    align-items: center;
}
#checkout-form .detail-product-booking{
    width: 100%;
}
#checkout-form  li.ui-datalist-item.item-detail-product-booking{
    margin-top: 10px;
    padding-top: 10px;
}
#checkout-form .item-detail-product-booking .product-price {
    font-size: 18px;
    padding: 0;
    border-left: 0;
    display: inline-block;
    color: #1B115C;
}
#checkout-form .item-detail-product-booking .product-price .status {
    margin-top: 10px;
}
#checkout-form  li.ui-datalist-item.item-detail-product-booking + li.ui-datalist-item.item-detail-product-booking {
    border-top: 1px solid var(--grey-border);
}
#checkout-form #product-list{
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
    margin-top: 235px;
}
#checkout-form #product-list .product-info .company-name{
    text-transform: capitalize;
}
.component-detail-info-hide{
    display: none;
}
.itinerary-expanded {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-flow: column;
}
.ticketing-limit{
    font-weight: normal;
    color: #999;
}
.itinerary-expanded .itinerary-expanded-name{
    flex: 1 1 100%;
    font-weight: bold;
}
.itinerary-expanded .itinerary-expanded-name:before {
    content: "flight_takeoff"; /* Will be override by transport product type icon */
    font-family: "Material Icons";
    font-size: 22px;
    font-weight: normal;
    vertical-align: middle;
    margin-right: 10px;
}
.itinerary-expanded .itinerary-expanded-name-multi:before {
    font-size: 35px !important;
    margin-left: -1rem;
    margin-right: 1rem;
}
.itinerary-expanded .itinerary-expanded-transport-name:before {
    content: "directions_bus"; /* Will be override by transport product type icon */
    font-family: "Material Icons";
    font-size: 22px;
    font-weight: normal;
    vertical-align: middle;
    margin-right: 10px;
}
.itinerary-expanded.flight .itinerary-expanded-name:before {
    content: "flight_takeoff";
}
.itinerary-expanded.train .itinerary-expanded-name:before {
    content: "train";
}
.itinerary-expanded.bus .itinerary-expanded-name:before {
    content: "directions_bus";
}
.itinerary-expanded.cruise .itinerary-expanded-name:before,
.itinerary-expanded.sea_port .itinerary-expanded-name:before {
    content: "directions_boat";
}
.product-info [id^='component-checkout-detail-expanded'].flight-component-detail li.ui-datalist-item:not(:empty) {
    margin-top: 20px;
    padding-top: 20px;
}
.product-info [id^='component-checkout-detail-expanded'].flight-component-detail li.ui-datalist-item:not(:empty) + li.ui-datalist-item:not(:empty){
    border-top: 1px solid #ddd;
}
.itinerary-expanded .itinerary-expanded-main-info {
    flex: 1;
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.itinerary-expanded .itinerary-expanded-main-info.scaleInfo{
    margin: 10px 0 10px 140px;
    border-top: 1px dashed #ddd;
    border-bottom: 1px dashed #ddd;
    padding: 12px 0;
    text-align: left;
    display: inline-block;
    vertical-align: middle;
    font-size: 13px;
    width: 79%;
}
.itinerary-expanded .itinerary-expanded-main-info.scaleInfo:before {
    content: "warning";
    font-family: "Material Icons";
    font-size: 22px;
    color: #ff8f00;
    vertical-align: middle;
    margin-right: 5px;
}
.itinerary-expanded .itinerary-expanded-main-info.techStopInfo{
    margin: 10px 0 10px 140px;
    border-top: 1px dashed #ddd;
    border-bottom: 1px dashed #ddd;
    padding: 12px 0;
    text-align: left;
    display: inline-block;
    vertical-align: middle;
    font-size: 13px;
    width: 79%;
}
.itinerary-expanded .itinerary-expanded-main-info.techStopInfo:before {
    content: "info";
    font-family: "Material Icons";
    font-size: 22px;
    color: mediumseagreen;
    vertical-align: middle;
    margin-right: 5px;
}
.itinerary-expanded .itinerary-expanded-main-info > .itinerary-company-info{
    padding: 10px;
    flex: 0 0 140px;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
}
.itinerary-expanded .itinerary-expanded-main-info > .itinerary-company-info .featuresSellClassAndOperatedByWrapper{
    margin: 0 auto;
}
.itinerary-expanded .itinerary-expanded-main-info > .itinerary-company-info > img{
    object-fit: contain;
    margin: 0 auto;
}
.itinerary-expanded .itinerary-expanded-main-info .itinerary-expanded-description{
    flex: 1;
    display: flex;
    justify-content: space-between;
    flex-flow: column;
    flex-wrap: wrap;
    margin: 10px 0px;
    padding-left: 15px;
    position: relative;
    border-left: 7px;
    border-style: dotted;
    border-color: #c7c7c7;
    border-image-source: url(../img/dots.svg);
    border-image-slice: 27% 43%;
    border-image-repeat: round;
}
.itinerary-expanded .itinerary-expanded-main-info .itinerary-expanded-description:before{
    position: absolute;
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 2px solid #bdbdbd;
    top: 0;
    left: -9px;
    background: #fafafa;
}
.ui-tooltip-right .ui-tooltip-arrow {
    border-width: 5px;
}
.itinerary-expanded .itinerary-expanded-main-info .itinerary-expanded-description:after{
    position: absolute;
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 2px solid #bdbdbd;
    bottom: 0;
    left: -9px;
    background: #fafafa;
}
.itinerary-expanded .itinerary-expanded-main-info .itinerary-expanded-description > div:nth-child(2){
    color: #999;
    margin: 15px 0;
}
.showDetails:after{
    content: "keyboard_arrow_down";
    font-family: "Material Icons";
    font-size: 20px;
    vertical-align: middle;
}
.hideDetails:after{
    content: "keyboard_arrow_up";
    font-family: "Material Icons";
    font-size: 20px;
    vertical-align: middle;
}
.component-detail-summary {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin: 6px 0;
}
.component-detail-summary > .wrap-component-icon{
    margin-right: 20px;
}
.component-detail-summary > .wrap-component-icon > img {
    display: block;
    width: 24px;
}
.component-detail-summary > .component-detail-info-summary{
    flex: 1;
    display: flex;
    flex-flow: column;
}
/* Generate quote checkout dialog */
.generate-quote-options {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}
.generate-quote-options > .generate-quote-option {
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: center;
    min-height: 260px;
    align-items: center;
    border-radius: 8px;
    border: 1px solid var(--grey-border);
    padding: 20px;
}
.generate-quote-options > .generate-quote-option + .generate-quote-option {
    margin-left: 20px;
}
.generate-quote-options > .generate-quote-option > * + * {
    margin-top: 10px;
}
.generate-quote-options > .generate-quote-option > .generate-quote-logo {
    flex: 1;
    position: relative;
}
.generate-quote-options > .generate-quote-option > .generate-quote-logo::before {
    font-family: "Material Icons";
    font-size: 90px;
    padding-top: 20px;
    display: flex;
}
.generate-quote-options > .generate-quote-option > .generate-quote-logo.print-icon::before {
    content: "print";
    color: var(--green);
}
.generate-quote-options > .generate-quote-option > .generate-quote-logo.mail-icon::before {
    content: "mail";
    color: var(--danger);
}
.generate-quote-options > .generate-quote-option > .generate-quote-logo.pdf-icon::before {
    content: "picture_as_pdf";
    color: var(--danger);
}
.generate-quote-options > .generate-quote-option > .generate-quote-logo.save-icon::before {
    content: "save";
    color: var(--main-color);
}
.generate-quote-options > .generate-quote-option > .generate-quote-description {
    color: var(--text-grey);
}
.quote-generated-wrapper{
    border-radius: 8px;
    border: 1px solid var(--grey-border);
    display: flex;
    flex-flow: column;
    align-items: center;
    width: 100%;
    padding: 20px;
}
.quote-generated-wrapper > * + *{
    margin-top: 12px;
}
.quote-generated-wrapper .quote-saved-label{
    font-size: 20px;
    font-weight: bold;
    color: var(--green);
}
.quote-generated-wrapper .quote-name{
    font-size: 17px;
    font-weight: bold;
}
.quote-generated-wrapper .quote-options{
    margin: 18px 0 6px;
}
.quote-generated-wrapper .quote-options a > i{
    font-size: 18px;
    vertical-align: middle;
}
.quote-generated-wrapper .quote-generated-icon{
    position: relative;
    width: 90px;
    height: 90px;
}
.quote-generated-wrapper .quote-generated-icon > span{
    position: absolute;
    bottom: 13px;
    right: 21px;
    color: #fff;
    font-weight: bold;
}
.quote-generated-wrapper .quote-generated-icon:before {
    font-family: "Material Icons";
    font-size: 90px;
    position: absolute;
    z-index: -1;
    color: var(--green);
    content: "insert_drive_file";
}
/* Asesor and Holder panel */
.asesor-panel-info,
.holder-panel-info{
    display: flex;
    justify-content: space-between;
}
.asesor-panel-info > .asesor-panel-logo,
.holder-panel-info > .holder-panel-logo{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #eee;
    position: relative;
}
.asesor-panel-info > .asesor-panel-logo:before,
.holder-panel-info > .holder-panel-logo:before{
    font-family: "Material Icons";
    content: "person_outline";
    font-weight: normal;
    color: #555;
    font-size: 28px;
    position: absolute;
    left: calc(50% - 14px);
    top: calc(50% - 14px);
}
.asesor-panel-info > .asesor-panel-description,
.holder-panel-info > .holder-panel-description{
    margin-left: 20px;
    line-height: 1.4em;
    display: flex;
    flex-flow: column;
}
.holder-panel-info > .holder-panel-description{
    min-width: 500px;
}
.holder-panel-info > .holder-panel-description > * + * {
    display: flex;
    flex-wrap: wrap;
}
.holder-panel-info > .holder-panel-description > * + *:last-child{
    margin-top: 20px;
}
.holder-panel-info > .holder-panel-description .label-fields span,
.holder-panel-info > .holder-panel-description .label-values span{
    margin-top: 20px;
}
.holder-panel-info > .holder-panel-description .label-fields,
.holder-panel-info > .holder-panel-description .label-values{
    display: flex;
    flex-flow: column;
}
.holder-panel-info > .holder-panel-description .label-values{
    margin-left: 35px;
}
.asesor-panel-info > .asesor-panel-description .asesor-name{
    font-size: 16px;
    font-weight:bold;
}
/* Package sheet */
#availability-results{
    position: relative;
}
#availability-results.fix-info .summary-price-package,
#availability-results.fix-info .summary-price-package-b2b{
    position: fixed;
    top: 60px;
    z-index: 998;
}
#availability-results.fix-info .main-actions .price-total-fixed {
    opacity: 1;
    transform: translateX(0);
}
.summary-price-package{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 60px;
    display: flex;
    justify-content: space-between;
    flex-flow: row nowrap;
    align-items: center;
}
.summary-price-package > *:last-child{
    margin-left: auto;
    display: flex;
    align-items: center;
}
#availability-results .availability-results-package {
    padding-top: 20px;
}
#availability-results .availability-results-package .product-header{
    display: flex;
    align-items: center;
}
#availability-results .availability-results-package #pkgOptionalServices .product-header {
    color: var(--green);
}
#availability-results .availability-results-package .product-header > img{
    border-radius: 50%;
    border: 2px solid var(--main-color);
    width: 32px;
    padding: 6px;
    height: 32px;
    margin-right: 20px;
}
#availability-results .availability-results-package .product-header > span.product-date-component{
    color: #777;
}
#availability-results .availability-results-package .product-header + .product{
    border-left: 1px solid #e0e0e0;
    margin-left: 15px;
    padding-left: 35px;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column:not(:empty) {
    border: 1px solid var(--grey-border);
    margin-top: -1px;
    margin-right: -1px;
    padding: 15px;
    font-size: 16px;
    width: 20%;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin-top: 10px;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card > * {
    flex: 1 1 100%;
    text-align: left;
    align-items: center;
}
.itineraryPanel{
    text-align: left;
    padding-top: 5px;
    white-space: nowrap;
}
.itineraryPanel .itineraryPanel-name{
    font-size: 18px;
    font-weight: 600;
    width: 100%;
    display: inline-block;
    margin-bottom: 15px;
}
.itineraryPanel .itineraryPanel-description{
    margin-bottom: 7px;
    width: 100%;
    display: flex;
    align-items: center;
}

.itineraryPanel .itineraryPanel-description > span {
    margin-left: 8px;
}

.itineraryPanel.ui-overlay-hidden {
    display: none !important;
}

.itineraryPanel .ui-overlaypanel-content {
    width: 400px;
    padding: 20px;
}

.itineraryPanel label {
    display: block;
    white-space: initial;
}

li.ui-datalist-item.product-itinerary-component {
    margin-top: 4px;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card > * .ui-overlaypanel .itineraryPanel-description i{
    transform: rotate(180deg);
    font-size: 20px;
    margin-right: 8px;
}
#package-itinerary .component:not(.product-card-empty) > a::after {
    content: "keyboard_arrow_down";
    font-family: "Material Icons";
    font-size: 20px;
    font-weight: normal;
}
#package-itinerary .component.optional {
    background: repeating-linear-gradient(45deg, rgba(0,0,0,0.07), rgba(0,0,0,0.07) 8px, #FFF 8px, #FFF 16px);
}
#package-itinerary .component {
    border-radius: 8px;
    margin-bottom: 2px;
}
#package-itinerary .component.product-card-empty * {
    cursor: default !important;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card > div > a:hover{
    background: var(--warning-light);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card > * + * {
    margin-top: 6px;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card > div > a,
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card > div > span{
    display: flex;
    align-items: center;
    color: var(--text);
    padding: 10px 15px;
    line-height: 1.2em;
    border-radius: 8px;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card > div > *.highlight{
    background-color: var(--warning-light) !important;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .itineraryComponent-wrapper{
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card > div > a label{
    cursor: pointer;
    font-size: 16px;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card > div > span.ui-state-disabled{
    opacity: .7;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card img{
    max-height: 20px;
    margin-right: 10px;
    margin-bottom: auto;
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .optional-label {
    font-size: 14px;
    color: var(--green);
    width: 100%;
}
/* Colors for components */
#package-itinerary .component > a {
    background: rgba(233, 233, 233, 0.5); /* Default */
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-1{
    background: rgba(234, 229, 210, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-2{
    background: rgba(234, 210, 210, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-3{
    background: rgba(210, 234, 228, 0.5)
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-4{
    background: rgba(210, 212, 234, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-5{
    background: rgba(212, 234, 210, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-6{
    background: rgba(234, 210, 231, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-7{
    background: rgba(239, 227, 197, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-8{
    background: rgba(197, 221, 239, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-9{
    background: rgba(197, 239, 239, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-10{
    background: rgba(209, 239, 197, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-11{
    background: rgba(234, 229, 210, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-12{
    background: rgba(234, 210, 210, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-13{
    background: rgba(210, 234, 228, 0.5)
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-14{
    background: rgba(210, 212, 234, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-15{
    background: rgba(212, 234, 210, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-16{
    background: rgba(234, 210, 231, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-17{
    background: rgba(239, 227, 197, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-18{
    background: rgba(197, 221, 239, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-19{
    background: rgba(197, 239, 239, 0.5);
}
#package-itinerary #package-itinerary_content .ui-datagrid-column .product-card .component-20{
    background: rgba(209, 239, 197, 0.5);
}
/* Empty template Form */
form#empty-template-form{
    color: #1f1e44;
    height: calc(100vh - 385px);
    line-height: normal;
    text-align: left;
    display: flex;
    align-items: center;
    min-height: 450px;
}
form#empty-template-form > .wrap-content{
    width: 80%;
    margin: -30px auto 0;
    line-height: 2em;
    font-size: 16px;
    display: flex;
    flex-flow: column;
    min-height: 350px;
}
form#empty-template-form > .wrap-content .wrap-buttons{
    margin-top: auto;
}
form#empty-template-form > .wrap-content h1{
    font-size: 54px;
}
form#empty-template-form > .wrap-content .msg-package-no-results{
    font-size: 20px;
    font-weight: 400;
    line-height: 60px;
}
form#empty-template-form > .wrap-content .component-no-result-item{
    font-size: 14px;
    list-style: square;
    margin: 0 20px;
}
form#empty-template-form > .wrap-content .component-no-result-item:last-child {
    margin-bottom: 10px;
}

/* Flights page*/
img.amadeus-logo-airline {
    width: 35px;
}
.landtour-card-list .landtour-description .icons{
    display: flex;
}
.landtour-card-list .landtour-description .icons > .icon + .icon{
    margin-left: 5px;
}


/* Accordion custom (personal data + components package) */

.accordion-custom {
    position: relative;
}

.accordion-custom > .ui-accordion-header {
    border-top: 1px solid var(--grey-border);
    border-bottom: 1px solid var(--grey-border);
    padding: 12px 10px;
    color: var(--text);
    font-size: 15px;
    margin: -1px 0;
    transition: var(--soft-transition);
    font-weight: 700;
    position: relative;
    display: flex;
    flex-flow: row;
    align-items: center;
}

.accordion-custom > .ui-accordion-header.ui-state-active + .ui-accordion-content {
    margin-bottom: 15px;
}

.accordion-custom > .ui-accordion-header:hover {
    background: #FFF;
}

.accordion-custom > .ui-accordion-header.ui-state-active {
    border: none;
    background: var(--grey-bg);
}

.accordion-custom > .ui-accordion-header > span.ui-icon {
    display: none;
}

.accordion-custom > .ui-accordion-content {
    background: var(--grey-bg);
    color: var(--text);
}

.accordion-custom > .ui-accordion-content label.fiscalLabel {
    width: 100%;
    float: left;
    border-top: 1px solid #ccc;
    margin-top: 20px;
    padding: 15px 15px 0;
    font-size: 15px;
    color: var(--text);
}

.accordion-custom .component-tab-title {
    flex: 1;
    display: flex;
    flex-flow: row;
    align-items: center;
}

.accordion-custom .component-tab-title > * + * {
    margin-left: 10px;
}

.accordion-custom .component-tab-title > .component-tab-title-type {
    font-size: 14px;
    font-weight: 400;
}
.accordion-custom .component-tab-title > .component-tab-title-type.optional {
    color: var(--green);
}
.accordion-custom .component-tab-title > .component-tab-title-type.mandatory {
    display: none;
}

.accordion-custom .ui-accordion-header .ui-icon.ui-icon-triangle-1-e:before,
.accordion-custom .ui-accordion-header .ui-icon.ui-icon-triangle-1-s:before {
    font-weight: normal;
}


/* Accordion - Passengers */

.accordion-paxs .pax-name,
.accordion-paxs .pax-surname,
.accordion-paxs .empty {
    font-size: 16px;
    font-weight: 600;
}

.accordion-paxs .pax-age,
.accordion-paxs .pax-holder,
.accordion-paxs .pax-driver {
    font-size: 14px;
    font-weight: 400;
}

.accordion-paxs .ui-accordion-content {
    padding: 10px 42px 25px 42px !important;
}

.accordion-paxs .ui-accordion-header {
    border: 0 !important;
    padding: 10px !important;
    margin-top: 0 !important;
    top: 0 !important;
}

.accordion-paxs .tab-title {
    display: flex;
    align-items: center;
    font-size: 16px;
}

.accordion-paxs .icon-pax:before {
    font-family: "Material Icons";
    font-size: 24px;
    font-weight: normal;
    margin: 0 10px 0 5px;
    font-style: normal;
    text-transform: lowercase;
    content: "person_outline";
    color: var(--text);
}

.accordion-paxs .ui-accordion-header.pax-completed:before {
    font-family: "Material Icons";
    position: absolute;
    right: 15px;
    top: 11px;
    font-size: 24px;
    font-weight: normal;
    content: "check";
    color: var(--success);
}


/* Accordion - Passengers > Collapsed */

.accordion-paxs .ui-accordion-header:not(.ui-state-active) {
    border: 1px solid var(--grey-border) !important;
    border-radius: 6px
}

/* Accordion - Passengers > Expanded */

.accordion-paxs .ui-accordion-header.ui-state-active {
    border-top: 1px solid var(--grey-border) !important;
    border-right: 1px solid var(--grey-border) !important;
    border-left: 1px solid var(--grey-border) !important;
    border-top-left-radius: 6px !important;
    border-top-right-radius: 6px !important;
    background-color: #FFF !important;
}

.accordion-paxs .ui-accordion-content[aria-hidden="false"] {
    border-right: 1px solid var(--grey-border);
    border-left: 1px solid var(--grey-border);
    border-bottom: 1px solid var(--grey-border);
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

.accordion-paxs .ui-accordion-header:not(.ui-state-active),
.accordion-paxs .ui-accordion-content {
    margin-bottom: 15px;
    background-color: #FFF;
}



/* Accordion - Package components */

.accordion-package-components .ui-panelgrid-cell > .ui-outputlabel { /* TODO: Unify form with "form-item" */
    padding-bottom: 12px;
    display: block;
}

.accordion-package-components .route-type { /* TODO: Unify form */
    margin: 0 10px 12px 10px;
    display: block;
}

.accordion-package-components .ui-panelgrid .ui-panelgrid-cell {
    padding: 4px 10px;
}

.accordion-package-components {
    border: 1px solid var(--grey-border) !important;
    border-radius: 8px;
    margin-bottom: 15px !important;
}

.accordion-package-components .component-tab-title label {
    cursor: pointer !important;
}

.accordion-package-components .ui-accordion-header,
.accordion-package-components .ui-accordion-header.ui-state-active,
.accordion-package-components .ui-accordion-content {
    background-color: transparent !important;
    border: 0;
    border-radius: 8px;
}

.accordion-package-components.editable {
    background: #FFF;
}

.accordion-package-components.not-editable {
    background: var(--grey-bg);
}

.accordion-package-components .remove-component-link:hover:before {
    color: var(--main-light-color);
}

.accordion-package-components .remove-component-link {
    position: absolute;
    right: 10px;
}

.accordion-package-components .ui-accordion-header .ui-icon.ui-icon-triangle-1-e:before,
.accordion-package-components .ui-accordion-header .ui-icon.ui-icon-triangle-1-s:before {
    font-weight: normal;
}

.accordion-package-components .component-tab-title-name {
    font-size: 16px;
    font-weight: 600;
    margin-left: 15px;
}

.accordion-package-components .ui-accordion-header.ui-state-active {
    border-top: 1px solid var(--grey-border) !important;
}

.accordion-package-components .ui-accordion-header.ui-state-active + .ui-accordion-content {
    margin-bottom: 0;
    padding-bottom: 5px;
    padding-top: 5px;
}

.accordion-package-components .ui-accordion-content {
    border-bottom: 1px solid var(--grey-border);
}

.accordion-package-components .component-tab-title-image {
    margin-left: 5px;
}

.accordion-package-components.editable .ui-accordion-header:before {
    content: "edit";
    background-color: var(--main-light-color);
    border-radius: 50%;
    line-height: 1;
    position: absolute;
    left: 53px;
    top: 25px;
    font-family: "Material Icons";
    color: #FFF;
    font-size: 12px;
    text-align: center;
    font-weight: normal;
    padding: 3px;
    border: 2px solid #FFF;
}

/* Highlight card (Used in packages, landtours and lodgings) */

.highlight-card {
    border-radius: 8px;
    border: 1px solid var(--grey-border);
    background-color: #FFF;
    height: 100%;
}

.highlight-card .main-info {
    padding: 18px;
    display: flex;
    justify-content: space-between;
}

.highlight-card .main-info .left,
.highlight-card .main-info .right {
    display: flex;
    flex-direction: column;
}

.highlight-card .main-info .right {
    text-align: right;
    padding-left: 20px;
}

.highlight-card > a {
    color: var(--text);
    height: 100%;
    display: block;
}

.highlight-card-landtour.highlight-card-landtour-result > a{
    height: auto;
}

.highlight-card > a * {
    cursor: pointer;
}

.highlight-card .desc,
.highlight-card .desc-package,
.highlight-card .cities {
    font-weight: 700;
    font-size: 1rem;
    color: var(--text-grey);
    display: block;
    line-height: 1.4;
    padding-bottom: 8px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}

.highlight-card .desc-package * {
    /* Override HTML styles */
    color: var(--text-grey) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.highlight-card .package-white, .highlight-card .package-white * {
    color: white !important;
}

.highlight-card .name {
    color: var(--text);
    font-size: 1.6rem;
    font-weight: 700;
    padding-bottom: 6px;
    display: inline-block;
    line-height: 1.3;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}

.highlight-card .duration {
    color: var(--main-light-color);
    font-weight: 700;
    font-size: 1rem;
    white-space: nowrap;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}

.highlight-card .price {
    color: var(--text);
    font-size: 1.5rem;
    font-weight: 700;
    padding-bottom: 6px;
    display: block;
    white-space: nowrap;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}

.highlight-card .price .price-label {
    font-size: 1rem;
    font-weight: 700;
    padding-right: 4px;
    text-transform: capitalize;
}

.highlight-card .image-wrapper {
    position: relative;
    height: 0;
    padding-top: 56.25%; /* 16:9 Aspect Ratio (9 / 16 = 0.5625) */
    overflow: hidden;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    background-color: #E7F0F6;
}

.highlight-card .image-wrapper .empty-image,
.highlight-card .image-wrapper .main-image {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.highlight-card .image-wrapper .empty-image {
    object-fit: contain;
}

.highlight-card .image-wrapper .main-image {
    object-fit: cover;
}

.highlight-card .icons {
    display: block;
}

.highlight-card .icons .icon {
    display: inline-block;
    margin-right: 10px;
}

.highlight-card .icons .icon img {
    max-height: 22px;
    width: auto;
}

.highlight-card .tag {
    display: inline-flex;
}


/* Highlight card - Custom styles to landtours results */

.results-landtours .ui-datagrid-column > .ui-widget {
    height: 100%;
}

.results-landtours .highlight-card .main-info {
    flex-direction: column;
}

.results-landtours .highlight-card .duration {
    padding-right: 4px;
}

.results-landtours .highlight-card .duration,
.results-landtours .highlight-card .price {
    display: inline-block;
    padding-bottom: 12px;
}


/* Primefaces data grid - Custom column gap */

.datagrid-gap-24 .ui-g {
    margin: 0 -12px 0 -12px;
}

.datagrid-gap-24 .ui-datagrid-column {
    padding: 0 12px 24px 12px;
}

.datagrid-gap-36 {
    margin: 0 -18px 0 -18px;
}

.datagrid-gap-36 [class*="ui-g-"] {
    padding: 0 18px 16px 18px;
}


/* YSF Panel - Reset styles */

.ysfpanel-reset legend {
    top: 0;
    left: 0;
    color: var(--text);
}


/* Modal - Import booking */

.dialog-booking-import .form-search legend {
    font-weight: 600;
    font-size: 20px;
    margin-bottom: 20px;
}


/* Standard table */

.table-std,
.table-std .ui-datatable-tablewrapper > table {
    table-layout: initial;
}

.table-std tr th,
.table-std tr td {
    vertical-align: top !important;
}

.table-std tr th {
    padding: 5px 8px;
    font-size: 14px;
    font-weight: 600;
}

.table-std tr td {
    padding: 8px;
    font-size: 15px;
    border-bottom: 1px solid var(--grey-border);
}

.table-std.table-std-py-md tr td {
    padding: 12px 8px;
}

.table-std tr th:first-child,
.table-std tr td:first-child {
    padding-left: 0 !important;
}

.table-std tr th:last-child,
.table-std tr td:last-child {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.table-std th.ui-filter-column {
    position: relative;
    text-align: left;
}

.table-std th.ui-filter-column:before {
    font-family: 'Material Icons';
    content: "search";
    color: var(--text-grey);
    position: absolute;
    font-weight: 400;
    font-size: 24px;
    top: 0.4em;
    left: 10px;
    z-index: 1;
    text-transform: lowercase;
    pointer-events: none;
}

.table-std th.ui-filter-column .ui-column-filter.ui-inputtext {
    padding-left: 40px !important;
    min-width: 250px;
    margin: initial;
    border: 1px solid var(--grey-border);
    margin-bottom: 15px;
}

.table-std-empty .ui-datatable-empty-message td {
    text-align: center;
    border-left: 1px solid var(--grey-border);
    border-right: 1px solid var(--grey-border);
    padding: 50px !important;
    font-size: 24px;
    font-weight: 500;
}

.table-std-empty .ui-datatable-empty-message td:before {
    content: " ";
    display: block;
    padding-bottom: 20px;
    border-radius: 50%;
    background: url(../img/empty.svg) center center no-repeat;
    background-size: contain;
    width: 225px;
    height: 225px;
    margin: 0 auto;
}


/* Primefaces dataTable - Reset styles */

.panelgrid-reset tr td:first-child {
    padding-left: 0 !important;
}

.panelgrid-reset tr td:last-child {
    padding-right: 0 !important;
}

.panelgrid-reset-outside {
    margin: 0 -10px !important;
}

/* Empty state */

.empty-std {
    text-align: center;
    border: 1px solid var(--grey-border);
    border-radius: 6px;
    margin-bottom: 10px;
    padding: 50px;
}

.empty-std .title {
    display: block;
    font-size: 24px;
    font-weight: 500;
}

.empty-std .image:before {
    content: " ";
    display: block;
    padding-bottom: 20px;
    background: url(../img/empty/empty-calendar.svg) center center no-repeat;
    background-size: contain;
    width: 225px;
    height: 225px;
    margin: 0 auto;
}


/* Form - Show disabled or readonly fields like a normal text (package search) */

.disabled-form-ghost .disabled-wrapper .ui-calendar:not(.disabled-form-ghost__common-disabled) {
    background: transparent;
}

.disabled-form-ghost .disabled-wrapper .ui-calendar:not(.disabled-form-ghost__common-disabled) .ui-inputfield.ui-state-disabled {
    opacity: 1;
}

.disabled-form-ghost .disabled-wrapper .ui-calendar:not(.disabled-form-ghost__common-disabled) .ui-datepicker-trigger.ui-state-disabled {
    display: none;
}

.disabled-form-ghost .ui-selectonemenu:not(.disabled-form-ghost__common-disabled).ui-state-disabled .ui-selectonemenu-label {
    padding: 0;
}

.disabled-form-ghost .ui-selectonemenu:not(.disabled-form-ghost__common-disabled).ui-state-disabled .ui-selectonemenu-trigger {
    display: none;
}

.disabled-form-ghost .ui-selectmanymenu:not(.disabled-form-ghost__common-disabled) .ui-selectlistbox-listcontainer {
    margin-top: 10px;
    line-height: 1;
}

.disabled-form-ghost .ui-selectmanymenu:not(.disabled-form-ghost__common-disabled).ui-state-disabled,
.disabled-form-ghost .ui-selectmanymenu:not(.disabled-form-ghost__common-disabled) .ui-selectlistbox-item.ui-state-disabled {
    opacity: 1;
}

.disabled-form-ghost .ui-selectmanymenu:not(.disabled-form-ghost__common-disabled) .ui-selectlistbox-item.ui-state-disabled .ui-chkbox {
    opacity: 0.5;
}

.disabled-form-ghost .ui-selectonemenu:not(.disabled-form-ghost__common-disabled).ui-state-disabled {
    border: 0;
    background: transparent;
    opacity: 1;
}

.disabled-form-ghost .ui-selectmanymenu:not(.disabled-form-ghost__common-disabled) .ui-selectlistbox-item {
    margin-bottom: 5px;
}

.disabled-form-ghost .ui-autocomplete:not(.disabled-form-ghost__common-disabled) .ui-autocomplete-input[readonly="readonly"] {
    border: 0;
    background: transparent;
    opacity: 1;
    padding: 0;
}

.form-actions {
    margin-top: 10px;
}

.disabled-form-ghost .ui-selectmanymenu .ui-selectlistbox-item {
    margin-bottom: 5px;
}

.disabled-form-ghost .ui-autocomplete .ui-autocomplete-input[readonly="readonly"] {
    border: 0;
    background: transparent;
    opacity: 1;
    padding: 0;
}


/* Scrollbar (Webkit browsers) */

.scrollbar-std::-webkit-scrollbar {
    width: 8px;
}

.scrollbar-std::-webkit-scrollbar-track {
    border-radius: 20px;
    background-color: var(--grey-bg);
}

.scrollbar-std::-webkit-scrollbar-thumb {
    border-radius: 20px;
    background: rgba(0,0,0,0.2);
}

.scrollbar-std::-webkit-scrollbar-thumb:hover {
    background: rgba(0,0,0,0.3);
}


/* Usuarios */

.users-list .user-badge {
    float: left;
    margin-right: 20px;
    margin-top: 3px;
}

.user-badge {
    background-color: var(--grey-bg);
    color: var(--text);
    padding: 0.4em;
    border-radius: 50%;
    vertical-align: middle;
    display: inline-block;
    width: 45px;
    height: 45px;
    font-weight: 500;
    font-size: 20px;
    text-align: center;
    text-transform: uppercase;
}

.user-badge-a {background-color: #e9f6e6}
.user-badge-b {background-color: #e6f0f6}
.user-badge-c {background-color: #f6f6e6}
.user-badge-d {background-color: #f6e8e6}
.user-badge-e {background-color: #f6e6f6}
.user-badge-f {background-color: #e8e6f6}
.user-badge-g {background-color: #f6e6e6}
.user-badge-h {background-color: #e1f6e1}
.user-badge-i {background-color: #e1f6f3}
.user-badge-j {background-color: #f6e1f1}
.user-badge-k {background-color: #f6e1e1}
.user-badge-l {background-color: #e6f4ef}
.user-badge-m {background-color: #f4f1e6}
.user-badge-n {background-color: #f6e6f3}
.user-badge-ñ {background-color: #f6ece1}
.user-badge-o {background-color: #e1e2f6}
.user-badge-p {background-color: #e4e4ee}
.user-badge-q {background-color: #e4eee7}
.user-badge-r {background-color: #edf6e1}
.user-badge-s {background-color: #f0e6f4}
.user-badge-t {background-color: #e6ecf4}
.user-badge-u {background-color: #e6f4ef}
.user-badge-v {background-color: #f4f3e6}
.user-badge-w {background-color: #e6f4e7}
.user-badge-x {background-color: #e6f2f4}
.user-badge-y {background-color: #f5f6e1}
.user-badge-z {background-color: #f6f1e1}
.user-badge-0 {background-color: #f6e1e1}
.user-badge-1 {background-color: #e6f4ef}
.user-badge-2 {background-color: #f4f1e6}
.user-badge-3 {background-color: #f6e6f3}
.user-badge-4 {background-color: #f6ece1}
.user-badge-5 {background-color: #e1e2f6}
.user-badge-6 {background-color: #e4e4ee}
.user-badge-7 {background-color: #e4eee7}
.user-badge-8 {background-color: #edf6e1}
.user-badge-9 {background-color: #f0e6f4}


/* Tags */

.tag-std {
    background-color: var(--grey-bg);
    color: var(--text);
    padding: 0.2em 0.9em;
    border-radius: 6px;
    display: inline-block;
}


/* Form elements */

.form .ui-message {
    margin: 6px 0 0 0;
    padding: 0;
    border: 0;
    font-weight: 500;
}

.form .ui-message-error {
    background: transparent;
    color: var(--danger);
}

.form .ui-message [class^="ui-message-"][class$="-detail"] {
    margin: 0;
}

.form .ui-message [class^="ui-message-"][class$="-icon"] {
    display: none;
}

.form .ui-outputlabel-rfi {
    display: none; /* Hide asterisk */
}

.form-item {
    padding-bottom: 20px !important;
}

.form-item.more-options {
    padding-left: 8px;
}

.form-subtitle {
    font-size: 16px;
    font-weight: 600;
    padding-bottom: 20px;
    padding-top: 5px;
    display: block;
}

.form-label {
    padding-bottom: 8px;
    display: block;
}

.form-label-text {
    font-size: 15px !important;
    font-weight: 500;
    display: inline-block;
}

.form-label-optional {
    font-size: 13px;
    color: var(--text-grey);
    font-weight: 400;
    margin-left: 10px;
    display: inline-block;
}

.form-actions button,
.form-actions a {
    margin: 0 20px 20px 0;
}


/* Link - Expand/collpase arrow */

.arrow-down:after,
.arrow-up:after {
    font-family: "Material Icons";
    display: inline-block;
    vertical-align: middle;
    font-size: 1.3em;
    font-weight: normal;
    text-transform: lowercase;
}

.arrow-down:after {
    content: "keyboard_arrow_down";
    margin-top: -10px;
    margin-left: 0.5px;
}

.arrow-up:after {
    content: "keyboard_arrow_up";
    margin-top: -10px;
    margin-left: 0.5px;
}

.summary-price-package-b2b{
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    height: 60px;
    display: flex;
    justify-content: space-between;
    flex-flow: row nowrap;
    align-items: center;
}
.summary-price-package-b2b > *:last-child{
    margin-left: auto;
    display: flex;
    align-items: center;
}

.readability {
    max-width: 600px;
}

/* Custom icons */

.icon-green-check:before {
    font-family: "Material Icons";
    content: "check";
    color: var(--green);
    font-size: 20px;
    text-transform: lowercase;
    vertical-align: sub;
    padding-right: 0.3em;
}
#stopOversDialog .itinerary-expanded .itinerary-expanded-main-info.scaleInfo{
    margin: 10px 0 10px 140px;
    border-top: 1px dashed #ddd;
    border-bottom: 1px dashed #ddd;
    padding: 12px 0;
    text-align: left;
    display: inline-block;
    vertical-align: middle;
    font-size: 13px;
    width:79%;
}
#stopOversDialog .itinerary-expanded .itinerary-expanded-main-info.techStopInfo{
    margin: 10px 0 10px 140px;
    border-top: 1px dashed #ddd;
    border-bottom: 1px dashed #ddd;
    padding: 12px 0;
    text-align: left;
    display: inline-block;
    vertical-align: middle;
    font-size: 13px;
    width:79%;
}

.visibility-hidden {
    visibility: hidden;
}

.category-icon:before {
    content: "local_offer";
}
.location-icon:before {
    content: "location_on";
}
.bookingDialogComponentTitle:before {
    content: "\00b7";
    display: inline-block;
    margin: 0 0.5em;
}
.bookingDialogComponentTitle {
    padding-bottom: 4px;
}
.bookingDialogComponentContent {
    padding-left: 2em;
}
.selectedComponents + .ui-accordion-content {
    border: 1px solid rgb(222, 222, 222);
    background-color: #f9f9f9;
}
button.ui-button .ui-icon-photoLibrary:before {
    content: "photo_library";
}
.ui-dialog-gallery {
    background: rgba(0,0,0,0.8);
    width: 100vw !important;
    height: 100vh !important;
    top: 0 !important;
    left: 0 !important;
    max-width: 100% !important;
    position: fixed !important;
    border-radius: 0;
}
.ui-dialog-gallery > .ui-dialog-titlebar > .ui-dialog-titlebar-close:before {
    color: #FFF;
    font-size: 36px;
    right: 20px;
    top: 5px;
}
.ui-selectonemenu-icon-sort .ui-selectonemenu-label:before {
    font-family: "Material Icons";
    content: "swap_vertical";
    font-size: 20px;
    transition: var(--soft-transition);
    color: var(--text);
    width: 24px;
    padding-right: 0.3em;
}
.transfers-no-results,
.activities-no-results {
    text-align: center;
    width: 100%;
    align-items: center;
    padding: 5px 0px 50px 0px;
    display: flex;
    flex-flow: column;
    font-weight: 600;
    border: 1px solid var(--grey-border);
    border-radius: 6px;
}
.transfers-no-results > div,
.activities-no-results > div {
    width: 100%;
}
.transfers-no-results > .filterImage,
.activities-no-results > .filterImage {
    background: url(../img/empty/no-filter-results.png) center center no-repeat;
    height: 200px;
}
.transfers-no-results > .noResultsImage,
.activities-no-results > .noResultsImage {
    background: url(../img/empty/no-results.png) center center no-repeat;
    height: 300px;
}
.transfers-no-results > label,
.activities-no-results > label {
    font-size: 20px;
}
.transfers-no-results > label.h2,
.activities-no-results > label.h2 {
    font-weight: 400;
    padding: 10px;
    font-size: 14px;
}

#formAddResultPackageRemarks button {
    background-color: rgb(201, 84, 65);
    margin: 0px 24px 0px 0px;
    padding: 8px 16px;
}
#formAddResultPackageRemarks button span {
    font-size: 20px;
    font-weight: normal;
}
#btBudgetDesktop span {
    font-size: 20px;
    font-weight: normal;
}
#formAddResultPackageRemarksMobile button {
    background-color: rgb(201, 84, 65);
    padding: 6px 12px;
}
#toSummaryLogin {
    background-color: rgb(201, 84, 65);
    margin: 0px 24px 0px 0px;
    padding: 8px 16px;
}
#toSummaryLogin span {
    font-size: 20px;
    font-weight: normal;
}
#toSummaryLoginMobile {
    background-color: rgb(201, 84, 65);
    padding: 6px 12px;
}
#toSummaryLoginMobile span {
    font-size: 16px;
    font-weight: normal;
}
#btBudgetDesktop:focus {
    box-shadow: none;
}
.cancelPoliciesPackage span {
    font-size: 16px;
}
.widgetAllCancelPoliciesPackage {
    min-width: 400px !important;
}

/* Primefaces sticky */

.sticky-hide {
    height: 0; /* Hide by default */
    overflow: hidden;
}
.sticky-hide.ui-sticky {
    height: initial; /* Show when PF sticky is active */
    overflow: hidden;
    z-index: 2 !important; /* Override calculate PF z-index */
}
.sticky-header {
    background-color: #FFF;
    border-bottom: 1px solid var(--grey-light);
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
    margin: 0 !important;
}
.sticky-header .container-secondary-header {
    height: 50px;
}

/* Product detail - Main image */

.banner-product-detail {
    position: relative;
}

.banner-product-detail-image {
    width: 100%;
    max-width: 100%;
    height: 400px; /* Custom */
    object-fit: cover !important;
    border-radius: 8px;
}

.banner-product-detail-button {
    position: absolute !important;
    bottom: 25px;
    right: 25px;
}

.itinerary-dialog .landtour-sheet .landtour-description-left {
    width: 100%;
    flex-basis: 100%;
    margin-right: 0;
}

.driver-RENT_A_CAR {
    background: url(../img/productType/productTypeIcon_RENT_A_CAR.png) no-repeat right center;
    background-size: 16px 16px;
    padding-right: 25px;
}

.ui-dialog-extraService {
    width: 500px !important;
}

.passenger-label:after {
    content: "keyboard_arrow_down";
    font-family: "Material Icons";
    font-size: 20px;
    vertical-align: middle;
    font-weight: normal;
}

.passenger-label {
    cursor: pointer;
    margin-right: 14px;
}

[id$='invoicingInfoDlgContent'] .ui-outputlabel-rfi {
    display: inline;
}

.withoutDiscounts,
.item-card .price.main-price .withoutDiscounts,
.item-card .price.main-price .withoutDiscounts,
.price-total-fixed > .withoutDiscounts {
    color: var(--accent-color);
    font-size: 15px;
    text-decoration: line-through;
    font-weight: 700;
}

.withoutDiscountsOnBlue {
    color: #f77;
    font-size: 15px;
    text-decoration: line-through;
    font-weight: 700;
}

.withoutDiscountsTemplate {
    color: #fff;
    font-size: 20px;
    text-decoration: line-through;
    font-weight: 700;
}

#priceTemplateWithDiscount {
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
}

.packageTotalPrice {
    display: flex;
    flex-direction: column;
}

.discount-poster-wrapper {
    width: 150px;
    height: 100px;
    position: relative;
    border-radius: 2px;
    margin-left: auto;
    margin-right: 0;
}

.discount-poster-wrapper img{
    object-fit: cover;
    width: 100%;
    height: 100% !important;
    border-radius: 8px;
}

/* TODO Revisar si es solo Relativo a TUI */
.containerTui {
    max-width: 960px;
}

.searcher {
    background-color: #013838;
    color: white;
    border-radius: 8px;
    padding: 15px !important;
}

.searcher label {
    font-size: 1rem !important;
}

.searcher a {
    font-size: 12px; !important;
}

.icon-flight:before{
    content: "flight";
}

#noPackageResultsTable {
    font-family: 'Montserrat', Arial, sans-serif;
}

.searcher span {
    font-size: medium !important;
}

.contentHeader {
    background-color: #e7f5f7;
    border-radius: 8px;
    padding: 15px !important;
}

.contentHeader .title {
    color: #092a5e;
    font-size: 25px;
    font-weight: bold;
}

.textColorBlueTui {
    color: #092a5e !important;
}

#btBudget:hover, #btBudgetMobile:hover, #formAddResultPackageRemarks button:hover {
    background: transparent;
    color: var(--second-color) !important;
}

#formAddResultPackageRemarks button:hover {
    background: var(--accent-dark-color);
    color: white !important;
}

.contentHeader .title {
    color: #092a5e;
    font-size: 25px;
    font-weight: bold;
}

.contentHeader .subtitle {
    color: #092a5e;
    font-size: 22px;
    font-weight: normal;
}

.itinerary-item {
    color: gray;
    font-size: initial;
}

.itinerary-item .title {
    color: #092a5e;
    font-size: 18px;
    margin-bottom: 5px;
    font-weight: bold;
}

.itinerary-tag {
    padding: 5px 8px;
    color: #092a5e;
    margin-right: 0.3rem!important;
    margin-bottom: 0.3rem!important;
    border-radius: 5px;
    height: fit-content;
}

.personNumber input {
    color: #092a5e !important;
}

.roomDistributionPackage::before {
    position: relative !important;
}

.inner-addon {
    position: relative;
}

/* style icon */
.inner-addon .fas {
    position: absolute;
    padding: 10px;
    pointer-events: none;
}

/* align icon */
.left-addon .fas  { left: 10px; top: 32px;}
.right-addon .fas { right: 10px; top: 35px;}

/* add padding  */
.left-addon input  { padding-left:  35px; }
.right-addon input { padding-right: 35px; }

.left-addon select  { padding-left:  35px; }
.right-addon select { padding-right: 35px; }

/*
* Links
*/
.link-medium-blue {
    color: #70cbf4 !important;
}

.link-medium-blue a, .link-medium-blue a:hover {
    color: #70cbf4 !important;
}

/*
* Text-color
*/
.text-tui-medium-blue {
    color: #70cbf4;
}

.text-tui-red {
    color: #c95441;
}

.text-tui-medium-gray {
    color: #7c8ba0;
}

.foto-cabecera {
    max-height: 300px;
}

.product span {
    font-size: 1rem !important;
}

.product label {
    font-size: 1rem !important;
}

/*
* Nab Tabs
*/
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #092a5e;
    background-color: var(--bs-nav-tabs-link-active-bg);
    border-color: var(--bs-nav-tabs-link-active-border-color);
}

.nav-tabs .nav-link {
    margin-bottom: calc(var(--bs-nav-tabs-border-width) * -1);
    background: #efefef;
    border: var(--bs-nav-tabs-border-width) solid transparent;
    border-top-left-radius: var(--bs-nav-tabs-border-radius);
    border-top-right-radius: var(--bs-nav-tabs-border-radius);
}

.nav-link {
    display: block;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
    font-size: var(--bs-nav-link-font-size);
    font-weight: var(--bs-nav-link-font-weight);
    color: #919191;
    text-decoration: none;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;
}

/*
* Buttons
*/
.btn-tui-blue {
    --bs-btn-color: #fff;
    --bs-btn-bg: #092a5e;
    --bs-btn-border-color: #092a5e;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #071f46;
    --bs-btn-hover-border-color: #071f46;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #071f46;
    --bs-btn-active-border-color: #071f46;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #092a5e;
    --bs-btn-disabled-border-color: #071f46;
}

.btn-tui-light {
    --bs-btn-color: #092a5e;
    --bs-btn-bg: #cae6e6;
    --bs-btn-border-color: #cae6e6;
    --bs-btn-hover-color: #092a5e;
    --bs-btn-hover-bg: #a1d9f7;
    --bs-btn-hover-border-color: #71c6f4;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #092a5e;
    --bs-btn-active-bg: #71c6f4;
    --bs-btn-active-border-color: #71c6f4;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #092a5e;
    --bs-btn-disabled-bg: #cae6e6;
    --bs-btn-disabled-border-color: #cae6e6;
}

.btn-tui-red {
    --bs-btn-color: #fff;
    --bs-btn-bg: #c95441;
    --bs-btn-border-color: #c95441;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #9f4233;
    --bs-btn-hover-border-color: #9f4233;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #9f4233;
    --bs-btn-active-border-color: #9f4233;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #c95441;
    --bs-btn-disabled-border-color: #9f4233;
}

.btn-tui-transparent {
    --bs-btn-color: #092a5e;
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: #092a5e;
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #092a5e;
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: transparent;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #092a5e;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: transparent;
}

.btn-tui-light-yellow {
    --bs-btn-color: #ff800e;
    --bs-btn-bg: #ffeebf;
    --bs-btn-border-color: #ffeebf;
    --bs-btn-hover-color: #ff800e;
    --bs-btn-hover-bg: #ffeebf;
    --bs-btn-hover-border-color: #ffeebf;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #ff800e;
    --bs-btn-active-bg: #ffeebf;
    --bs-btn-active-border-color: #ffeebf;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #ff800e;
    --bs-btn-disabled-bg: #ffeebf;
    --bs-btn-disabled-border-color: #ffeebf;
}

#itineraryDgl {
    display: none;
}

#botones-itinerario {
    display: none;
}

#divItineraryMobile {
    display: none;
}

.buttonActionsPackage {
    background: #054242 !important;
    border-radius: 5px !important;
    font-size: large !important;
    font-weight: inherit !important;
    padding: 5px 5px !important;
}

.buttonActionsMultidestination.two-line .first-line {
    display: block;
    font-size: 2.5rem !important;
    font-weight: bold;
    margin-top: -13px;
    margin-bottom: -5px;
}

.imgActionsPackage {
    border: 0 !important;
    margin-bottom: 0.5rem !important;
}

#package-sheet-content {
    padding-top: 0 !important;
}

.generate-quote-option {
    margin-left: 20px;
    margin-bottom: 20px;
}

@font-face {
    font-family: 'Ambit';
    src: url(../fonts/Ambit-Regular.ttf)
}

@font-face {
    font-family: 'AmbitLt';
    src: url(../fonts/Ambit-Light.ttf)
}

@font-face {
    font-family: 'AmbitBold';
    src: url(../fonts/Ambit-Bold.ttf)
}

.results-wrapper *:not(i) {
    font-family: 'Montserrat', "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.paxDistributionButton {
    margin-top: 10px !important;
    border-radius: 5px !important;
    max-width: none !important;
    background-color: #cae6e6 !important;
    color: #092a5e !important;
    font-weight: normal !important;
    outline: none !important;
}

#description-package-right ul {
    list-style: disc !important;
    margin-left: 20px;
}

.package-subtitle ul {
    list-style: disc !important;
    margin-left: 20px !important;
}

.package-main-info span {
    line-height: 1.5;
}

#package-sheet *:not(i) {
    font-family: 'Ambit', "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#package-sheet a {
    text-decoration: none;
}

#widHolderForm {
    line-height: 1 !important;
}

#widHolderForm .ui-dialog-titlebar .ui-dialog-title {
    color: #2D4975 !important;
}

.acceptCancelPolicies td {
    vertical-align: middle;
}

.landtour-block-title {
    font-size: 2rem !important;
    color: #092a5e;
}

.landtour-block-subtitle {
    font-size: 1.75rem !important;
}

.package-subtitle span {
    font-size: initial !important;
}

.searcher button {
    overflow: hidden;
}

.components-itinerary {
    display: flex;
}

.imgFlightPackage {
    width: 20px !important;
    height: 20px !important;
    margin-right: 15px;
    margin-top: -5px;
    margin-left: -5px;
}

@media (min-width: 992px) {
    .container-lg {
        max-width: 960px !important;
    }
}

@media (min-width: 1200px) {
    .container-lg {
        max-width: 1140px !important;
    }
}

@media (min-width: 1400px) {
    .container-lg {
        max-width: 1320px !important;
    }
}

#btBudgetDesktop .ui-button-icon-left {
    width: 25px !important;
    height: 25px !important;
    margin-top: 2px;
}

.product-main-info {
    font-size: 1rem !important;
}

.cancelInfo{
    font-size: 1rem !important;
}

.ui-overlaypanel-content {
    width: auto !important;
}

.itineraryPackagePanel {
    top: auto !important;
    left: auto !important;
}

.progress-bar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    background-color: #007bff;
    transition: width .6s ease;
}

.progress {
    --bs-progress-height: 1rem;
    --bs-progress-font-size: 0.75rem;
    --bs-progress-bg: #e9ecef;
    --bs-progress-border-radius: 0.375rem;
    --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-progress-bar-color: #fff;
    --bs-progress-bar-bg: #0d6efd;
    --bs-progress-bar-transition: width 0.6s ease;
    display: flex;
    height: var(--bs-progress-height);
    overflow: hidden;
    font-size: var(--bs-progress-font-size);
    background-color: var(--bs-progress-bg);
    border-radius: var(--bs-progress-border-radius);
}

.bg-info {
    background-color: #17a2b8!important;
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

#btBudgetDesktop .ui-button-icon-left::before {
    font-size: 20px !important;
}

#btBudgetMobile .ui-button-icon-left {
    width: 25px !important;
    height: 20px !important;
    margin-top: 3px;
}

#btBudgetMobile .ui-button-icon-left::before {
    font-size: 20px !important;
    margin-right: -5px;
}

.ui-selectonemenu-panel .ui-selectonemenu-items-wrapper {
    max-width: none !important;
}

#selectOtherArrivalAirport:hover {
    color: var(--main-light-color);
}

#addNights:hover {
    color: var(--main-light-color);
}

#btBudgetMobile {
    border: 0;
    font-size: 1.25rem;
    padding-left: 0;
    margin-right: 0 !important;
    padding-right: 0;
}

#btBudgetMobile span {
    font-size: 16px;
    font-weight: normal;
    padding-right: 0;
}

#formAddResultPackageRemarksMobile button {
    border-radius: 5px !important;
    font-size: 1.25rem;
    padding: 0;
}

#formAddResultPackageRemarksMobile button span {
    font-size: 16px;
    font-weight: normal;
}

#btBudgetDesktop span {
    font-size: 16px;
    font-weight: normal;
}

#formAddResultPackageRemarks button {
    border-radius: 5px !important;
    padding: 5px 7px 5px 7px;
    font-size: 1.25rem;
}

#description-package-desktop * {
    color: #092a5e !important;
}

#description-package-mobile * {
    color: #092a5e !important;
}

#description-availability-desktop * {
    color: #092a5e !important;
}

#description-availability-mobile * {
    color: #092a5e !important;
}

.ui-dialog-content {
    max-height: fit-content !important;
    height: auto !important;
}

#btBudgetDesktop {
    border: 0;
    font-size: 1.25rem;
    padding-left: 0;
    color: #0F5884 !important;
    background: none !important;
}

.extraDaysDlg {
    min-width: 500px !important;
}

.otherAirportDlg {
    min-width: 420px !important;
}

#itineraryAvailabilityMobile {
    width: 100%;
}

.results-wrapper.container {
    max-width: 1280px !important;
    padding-right: 0;
    padding-left: 0;
}

.component-selected-info {
    max-width: 1280px !important;
}

.component-selected-info label {
    margin-bottom: 0 !important;
}

.ancillariesClass h1 {
    font-size: inherit !important;
}

.packageButton:after {
    content: none !important;
}

.text-tui-yellow {
    color: #f9ba2d;
}

#loadingImage img {
    max-width: 80vw !important;
    max-height: 45vw !important;
}

.generate-quote-option {
    max-width: max-content !important;
}

.generate-quote-options {
    width: max-content !important;
}

.widQuoteDlg {
    width: max-content !important;
}

.generate-quote-option span {
    white-space: nowrap;
}

#widQuoteForm .ui-dialog-content {
    padding-right: 15px;
}

.imgProductType {
    filter: invert(82%) sepia(2%) saturate(6825%) hue-rotate(186deg) brightness(68%) contrast(70%) !important;
    width: 35px !important;
    height: 35px !important;
    margin-right: 5px !important;
    border-radius: 0 !important;
}

.imgEventHome {
    filter: grayscale(100%) brightness(50%) contrast(100%) !important;
    width: 18px !important;
    height: 18px !important;
    margin-top: 75px;
    margin-bottom: -35px !important;
    margin-left: 35% !important;
}

.starRatingOn::before {
    font-size: 20px !important;
}

.starRatingOff::before {
    font-size: 20px !important;
}

/* Vuelos recomendados */

.popover-custom-link {
    cursor: pointer;
}

.popover-custom {
    font-family: 'Ambit', "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    --bs-popover-zindex: 0 !important;
    z-index: var(--bs-popover-zindex);
}

.popover-custom .popover-arrow {
    position: relative;
    left: 46%;
    top: 99px;
    margin-top: -8px;
}

.popover-custom .popover-header {
    margin-top: -8px !important;
}

.popover-custom .popover-body {
    color: #092a5e;
    font-size: 16px;
    font-weight: bold;
}

/* Red / Pink*/
.popover-custom .popover-header-red {
    background-color: #d50e15;
    color: white;
    font-weight: bold;
    text-align: center;
}

.popover-custom .popover-pink {
    background-color: #fbf1f2;
}

.popover-custom .popover-arrow-pink::after {
    /*border-color: transparent !important;*/ /* this example changes the arrow to orange color... You can always replace with any color you choose. */
    border-top-color: #fbf1f2 !important;
    /*border-bottom-color: transparent !important;*/
}

/* Yellow / Light-Yellow*/
.popover-custom .popover-header-yellow {
    background-color: #f3cb47;
    color: #092a5e;
    font-weight: bold;
    text-align: center;
}

.popover-custom .popover-light-yellow {
    background-color: #f7f1db;
}

.popover-custom .popover-arrow-light-yellow::after {
    /*border-color: transparent !important;*/ /* this example changes the arrow to orange color... You can always replace with any color you choose. */
    border-top-color: #f7f1db !important;
    /*border-bottom-color: transparent !important;*/
}


/* Blue / Light-Blue*/
.popover-custom .popover-header-blue {
    background-color: #3467f6;
    color: #fff;
    font-weight: bold;
    text-align: center;
}

.popover-custom .popover-light-blue {
    background-color: #dcebf2;
}

.popover-custom .popover-arrow-light-blue::after {
    /*border-color: transparent !important;*/ /* this example changes the arrow to orange color... You can always replace with any color you choose. */
    border-top-color: #dcebf2 !important;
    /*border-bottom-color: transparent !important;*/
}

.popover .popover-arrow {
    position: absolute;
    --bs-popover-arrow-height: 1rem;
    --bs-popover-arrow-width: 1rem;
}

.recomend-module .box {
    min-width: 280px;
    margin-bottom: 30px;
}
.recomend-module .box:not(:last-child) {
    margin-right: 10px;
}

.dark-gray {
    color: #4e4e4e;
}

.airport {
    color: #4e4e4e;
    font-weight: bold;
}

.flight-title {
    font-size: 20px;
    font-weight: bold;
}

.flight-item {
    background: url(../img/item-vuelo.png) repeat-y;
    padding-left: 30px;
    padding-bottom: 30px;
    color: gray;
}

.flight-item-end {
    background: url(../img/item.png) no-repeat;
    padding-left: 30px;
    padding-bottom: 30px;
    color: gray;
}

.flight-text {
    margin-left: 15px;
    margin-top: 30px;
    font-size: 16px;
}

.flight-subtitle {
    margin-left: 15px;
    font-size: 18px;
    font-weight: bold;
}

.scale {
    margin-bottom: 15px;
    padding: 15px;
    border-top: rgb(212, 212, 212) 1px dashed;
    border-bottom: rgb(212, 212, 212) 1px dashed;
    font-weight: bold;
}

.warning {
    color: #ffc400;
    margin-right: 10px;
    font-size: 20px;
}

.operated-by {
    border-radius: 5px;
    text-align: center;
    padding: 5px;
    background-color: #e7e7e7;
    width: auto !important;
}

#sendPdfForm [id$="j_idt5803"].ui-panelgrid .ui-panelgrid-cell {
    vertical-align: top;
}

#sendPdfForm [id$="btSendEmail"] {
    margin: 0 auto !important;
}

@media (max-width: 767px) {
    .col-md-3 {
        flex: 0 0 auto;
        width: 25%;
        max-width: 100% !important;
    }

    .components-itinerary {
        display: block;
    }

    .extraDaysDlg {
        min-width: auto !important;
    }

    .otherAirportDlg {
        min-width: auto !important;
    }

    .loader2 {
        padding: 0 !important;
    }

    .landtour-block-subtitle {
        font-size: calc(.9rem + .9vw) !important;
    }

    .fromtext {
        position: initial !important;
        width: auto !important;
        height: auto !important;
        margin-left: 0 !important;
        margin-top: 110px !important;
    }

    .dialog-panel-distributions {
        min-width: 295px !important;
        right: 5px !important;
    }

    #loadingImage img {
        width: 80vw !important;
        height: auto !important;
    }

    .generate-quote-options {
        width: auto !important;
    }

    .generate-quote-option {
        max-width: 100vw !important;
    }

    #loadingImage div {
        margin: 0 !important;
    }

    .menuPackageResponsive {
        display: flex !important;
        box-shadow: none;
    }

    .menuBar {
        display: none !important;
    }

    #user-info {
        display: none !important;
    }

    .menuPackageResponsive button[id$="menuResponsive_button"] {
        width: 100%;
        text-align: end;
        background: none !important;
        outline: none !important;
    }

    .menuPackageResponsive i {
        color: white;
    }

    .menuPackageResponsive [id$="menuResponsive"] span {
        font-weight: normal;
        font-size: x-large;
        font-family: 'Material Icons', Arial, sans-serif !important;
        text-align: center !important;
    }

    .menuPackageResponsive .cart-options-fill span {
        font-family: inherit !important;
        font-weight: initial;
    }

    .menuPackageResponsive .cart-options-fill span.bold {
        font-weight: 600;
    }

    .menuPackageResponsive > img {
        object-fit: contain;
    }

    .menuPackageResponsive > .ui-outputpanel {
        min-width: auto !important;
    }

    .menuPackageResponsive .ui-button-text-icon-left .ui-button-text {
        padding-left: 1.4em;
    }

    .subMenuPackageResponsive {
        left: 0 !important;
        width: 100%;
        top: 59px !important;
        position: fixed !important;
        background: #fff !important;
        box-shadow: 0 2px 6px 0 hsla(0, 0%, 0%, 0.2) !important;
    }

    .subMenuPackageResponsive ul {
        width: 100% !important;
    }

    .subMenuPackageResponsive span {
        float: none !important;
        font-size: medium;
    }

    .subMenuPackageResponsive li {
        height: 30px;
    }

    .subMenuPackageResponsive a {
        width: 100% !important;
        height: 100%;
        color: #333 !important;
        float: none !important;
        text-align: center;
    }

    .content-booking-dialog-PACKAGE {
        width: 100% !important;
    }

    .searcher {
        border-radius: 0px;
    }

    .foto-cabecera {
        display: none;
    }

    #itineraryFragmentDesktop {
        display: none;
    }

    #divItineraryDesktop {
        display: none;
    }

    #divItineraryMobile {
        display: block;
    }

    #botones-itinerario {
        display: contents;
    }

    #description-package-mobile {
        display: none;
    }

    #footerPanel {
        margin-top: 200px;
        padding-top: 20px;
    }

    #itinerario-mobile {
        display: block;
    }

    #div-reservar-desktop {
        display: none;
    }

    #div-reservar-mobile {
        display: block;
    }

    .searcher {
        background-color: #013838;
        background-position: center;
        height: auto;
        background-blend-mode: color-burn;
        color: white;
        border-radius: 8px;
        padding: 15px !important;
    }

    #opcion-recomendada {
        width: fit-content;
        color: white !important;
        background-color: #013838;
        border-radius: 0px 50px 50px 0px;
        margin-bottom: 15px;
        padding: 5px 20px 5px 20px;
    }

    .widgetAllCancelPoliciesPackage {
        min-width: auto !important;
    }
    /* vuelos recomendados */
    .recomend-module .box {
        min-width: 100%;
        width: 100%;
    }
    .recomend-module .box:not(:last-child) {
        margin-right: 0px;
    }
}

@media (min-width: 768px) {
    #itinerario-desktop {
        display: block;
    }

    #itinerario-mobile {
        display: none;
    }

    #div-reservar-desktop {
        display: block;
    }

    #div-reservar-mobile {
        display: none;
    }

    .flex-md-equal > * {
        flex: 1;
    }
    .drop-aeropuerto {
        width: 500px;
    }
}

@media (max-width: 450px) {
    .fromtext {
        margin-top: 33% !important;
    }
}

/**** Correcciones desk mobile ****/
.map-wrapper {
    margin-bottom: 60px;
}

.ratingWrapper {
    margin-left: 0 !important;
}

.product-card .product-main-content .dot-separator:last-of-type {
    margin-right: 16px;
}

.ui-dialog .ui-dialog-titlebar,
.ui-common-dialog .ui-dialog-titlebar {
    padding-right: 32px;
}

.ui-dialog .ui-dialog-titlebar-close {
    position: absolute;
    top: 2px;
    right: 4px;
    float: none;
}

.ui-dialog .ui-dialog-titlebar-close:before {
    line-height: 1;
    padding: 0 !important;
}

.ui-dialog.booking-dialog .ui-dialog-titlebar-close:hover::before {
    background: none;
}

.ui-common-dialog {
    padding: 16px;
}

.ui-sticky-ghost {
    display: none;
}

.sticky-header {
    box-shadow: none;
    display: none;
}

#checkout-form .main-info,
#checkout-form .main-actions {
    padding-left: 12px;
    padding-right: 12px;
    flex-wrap: wrap;
}

#tagDialog .ui-selectlistbox-filter-container {
    margin-bottom: 24px;
}

/**** Responsive desktop to mobile ****/
@media (max-width: 992px) {
    .filter-panel {
        width: 100%;
        flex: 0 0 100%;
    }

    #results-content,
    .service-results-wrapper {
        flex: 0 0 100%;
        width: 100%;
        padding-top: 24px;
    }

    .container-fluid #viewmode-selector {
        top: auto;
    }

    #summary-form {
        flex-direction: column;
    }

    form#bookingSummaryForm {
        flex: 0 0 100%;
        max-width: 100% !important;
        width: 100%;
    }

    .banner-full-width .info {
        bottom: 138px !important;
    }

    #packages-components_list > .ui-datalist-item .ui-datalist-data > .ui-datalist-item {
        margin-bottom: 16px;
    }

    [id$="packageList"] .ui-grid-row {
        flex-wrap: wrap;
    }
    
    #calPackageList {
        flex: 0 0 100%;
        width: 100%;
        margin-top: 16px;
    }

    .landtour-sheet .landtour-info {
        padding: 0px 8px;
    }
    .landtour-sheet .landtour-main-info > .landtour-name {
        margin-right: 0px;
    }
    .landtour-sheet .landtour-main-info {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        align-content: flex-start;
        width: auto;
    }
    .landtour-sheet .landtour-main-price {
        margin: 0px;
    }
    .landtour-sheet-description {
        margin: 0px 10px;
    }
    .landtour-sheet .landtour-description-left {
        width: auto;
        flex-basis: 100%;
        margin-right: 0px;
    }
    .landtour-sheet .landtour-description-right {
        display: none;
    }
    .landtour-sheet .landtour-description-mobile {
        display: flex;
        padding: 8px;
        border-radius: 8px;
        border: 1px solid var(--grey-border);
        width: auto;
        margin-bottom: 10px;
        flex-wrap: wrap;
    }
    #packages-components .product-actions {
        text-align: right !important;
        margin-bottom: 0px;
    }
}

@media (max-width: 768px) {
    .container {
        padding: 0px 10px;
    }

    .product-card > .product-poster {
        flex: 0 0 100%;
        min-height: 140px;
        height: 140px;
    }

    .product-card > .product-price,
    .product-card > .activity_priceAndBookContent {
        flex: 0 0 100%;
        padding-top: 0;
    }

    .product-card > .product-poster > img,
    .product-card.lodging-card .product-poster img {
        border-top-right-radius: 8px;
        border-top-left-radius: 8px;
        border-bottom-left-radius: 0;
    }

    .availability-results-transfers-wrapper {
        padding-top: 0;
    }

    .availability-results .variety-wrapper {
        flex-wrap: wrap;
    }

    .availability-results .variety-wrapper > .modality-wrapper {
        flex: 0 0 100%;
    }

    .transfers.availability-results .modality {
        padding-left: 0;
        padding-top: 0;
    }

    .pax-form .ui-g-6 {
        width: 100%;
    }

    .fix-info .header-info-fixed {
        height: auto;
    }

    #checkout-form.fix-info .header-info .main-actions {
        box-shadow: 0 2px 4px rgba(0,0,0,0.12);
        margin-top: 0;
        padding-top: 22px;
    }

    #checkout-form .main-actions {
        background-color: #fff;
        flex-wrap: wrap;
    }

    #checkout-form .main-actions .main-action-wrapper > a,
    #checkout-form .main-actions .main-action-wrapper > span {
        padding: 5px;
    }

    #checkout-form .main-info .main-info-price {
        margin-left: auto;
    }

    .detail-product-booking .product {
        position: relative;
        flex-direction: column;
    }

    /*.detail-product-booking .product,*/
    .detail-product-booking .product > .product-detail {
        flex-direction: inherit;
    }

    .detail-product-booking .product > .product-detail > .product-info {
        padding-top: 20px;
        padding-left: 0;
    }

    #checkout-form .detail-product-booking .product > .product-detail > .product-poster-wrapper {
        width: 100%;
        height: 100%;
    }

    #checkout-form .item-detail-product-booking .product-price {
        flex: 1;
    }

    .detail-product-booking .product > .product-action-delete {
        position: absolute;
        top: 22px;
        right: 0;
        z-index: 1;
    }
    .detail-product-booking .product > .product-action-delete > a > i {
        color: var(--text);
    }

    .holder-panel-info {
        flex-direction: column;
    }

    .holder-panel-info > .holder-panel-description {
        min-width: auto;
        margin-top: 16px;
        margin-left: 0;
    }

    .holder-panel-info > .holder-panel-description > * + * {
        flex-wrap: nowrap;
    }

    #principal > #video-background {
        width: 0;
    }

    #principal > #video-background + #general {
        width: 100%;
        padding: 0 20px !important;
    }

    #content:after{
        min-height: 100px;
    }

    .bookingImportDialog > tbody > tr {
        display: flex;
        flex-direction: column;
    }
    .bookingImportDialog > tbody > tr > td {
        width: auto !important;
        padding: 4px 0px !important;
    }
    #returnFromSummaryPanel {
        display: flex;
    }
    form.mainSearch-form > table.mainSearch-table td.ui-panelgrid-cell.swipe-origin-destiny {
        background-color: var(--grey-light);
        border-radius: 100%;
        margin: 0 auto 8px auto;
        height: 34px;
        -webkit-transition: background-color 150ms ease 0ms;
        width: 34px;
        flex: 0 0 10% !important;
    }
}

@media (max-width: 576px) {
    #checkout-form .main-actions > *:last-child {
        margin-top: 10px;
    }

    .bLineDistribution > .bLineInfoDistribution .bLineInfoDistribution_Info .product-name {
        max-width: 160px;
    }
    .price-total-fixed {
        display: none;
    }
    .accordion-paxs .tab-title {
        display: flex;
        width: 90%;
        align-items: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 404px) {
    #checkout-form #product-list {
        margin-top: 252px;
    }

    #calendarDetailIntermediateSearch .monthDetail {
        width: 330px;
    }
}

.flex--center-full {
    display: flex;
    align-items: center;
}

.fareTable {
    width: 100%;
    border-collapse: collapse;
}
.fareTable td {
    padding: 1px;
    border-bottom: 1px solid #ddd;
    margin-bottom: 4px; /* margen inferior gris */
}
.fareTable th {
    font-weight: bold;
    text-align: left;
    border-bottom: 1px solid #ddd;
    margin-bottom: 4px; /* margen inferior gris */
}
.faresTitle {
    background-color: #DEF0FC;
    color: #5790C8;
    font-weight: bold;
}
.farePrice.farePrice {
    background-color: #F5F5F5; /* fondo gris para títulos */
    color: orange; /* texto en naranja */
    font-weight: bold;
    text-align: center;
}

.fareRadio-cell {
    width: 1.3em; !important;
    height: 1.3em; !important;
    background-color: #5790C8;  !important;
    border-radius: 50%;  !important;
    vertical-align: middle;  !important;
    border: 1px solid #ddd;  !important;
    appearance: none;  !important;
    -webkit-appearance: none;  !important;
    outline: none;  !important;
    cursor: pointer;  !important;
}

.fareRadio-cell-non {
    width: 1.3em; !important;
    height: 1.3em; !important;
    background-color: white;  !important;
    border-radius: 50%;  !important;
    vertical-align: middle;  !important;
    border: 1px solid #ddd;  !important;
    appearance: none;  !important;
    -webkit-appearance: none;  !important;
    outline: none;  !important;
    cursor: pointer;  !important;
}

.upselling-button.upselling-button {
    background-color: white; /* color de fondo rojo */
    color: var(--main-light-color); /* color de texto blanco */
    border-radius: 10px; /* bordes redondeados */
    border: 2px solid var(--main-light-color); /* borde azul */
    padding: 0px 0px; /* padding para darle tamaño */
    text-align: center; /* centrar el texto */
    text-decoration: none; /* sin subrayado */
    display: inline-block; /* para que se comporte como un botón */
    font-size: medium; /* tamaño del texto */
    margin: 4px 2px; /* margen alrededor del botón */
}

.centered-checkbox {
    text-align: center;
    vertical-align: middle;
}

.package-template-result-card  img.loading{
    width: 45px;
    height: 45px;
}

.package-template-result-card > img {
    display: block;
    margin: 0 auto;
    width: 80%;
    height: 80%;
    transition: var(--soft-transition);
    transition-property: object-fit;
    border-radius: 8px;
}

.package-template-result-card {
    min-height: 95px;
    flex: 0 0 200px;
    display: flex;
}

.budget-icon {
    border: #3567f6 1px solid;
    background-color: #fff;
    padding: 5px 6px;
    border-radius: 25px;
    font-size: 16px;
    text-align: center;
    cursor: pointer;
    color: #1B115C;
}

.flex-container {
    display: flex;
    align-items: center;
}

/* quotes refactored modal */
.ui-common-dialog-quote  {
    /*position: absolute; !* Scroll page when modal content overflows *!*/
    padding: 35px;
    top:-256px !important;
}
.ui-common-dialog-quote .ui-dialog-titlebar {
    height: auto;
    padding: 0;
}
.ui-common-dialog-quote .ui-dialog-titlebar .ui-dialog-title {
    font-size: 24px;
    font-weight: bold;
    color: #2D4975 !important;
    font-size: 24px !important;
}
.ui-common-dialog-quote .ui-dialog-titlebar .ui-dialog-titlebar-close:before,
.ui-overlaypanel .ui-overlaypanel-close:before {
    color: var(--text);
    font-size: 24px;
    padding: 5px;
    transition: var(--soft-transition);
}
.ui-common-dialog-quote .ui-dialog-titlebar .ui-dialog-titlebar-close:hover:before{
    color: var(--main-light-color);
}
.ui-common-dialog-quote .ui-dialog-content {
    padding: 20px 0 0 0;
    overflow-y: auto;
    overflow-x: hidden;
}
.ui-common-dialog-quote .ui-dialog-footer {
    padding: 22px 0 0 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 40px;
}
.ui-common-dialog-quote .ui-dialog-footer .actions-right {
    margin-left: auto;
}

.ui-common-dialog-quote-overflow {
    max-height: 100vh !important;
    position: fixed !important;
}

.ui-common-dialog-quote-overflow .ui-dialog-content {
    overflow-y: hidden !important;
    padding: 20px 0 0 0 !important;
}

.ui-common-dialog-quote-overflow .ui-dialog-content-overflow {
    max-height: calc(100vh - 179px) !important; /* Common header and footer height */
    overflow-y: auto !important;
}

.ui-common-dialog-quote-overflow .ui-dialog-footer {
    margin-top: 0 !important;
}

.max-plus-width-100{
    width: 100% !important;
    max-width: 100% !important;
}

.fareFamilyDialog-popup-style{
    display: flex;
    align-items: center;
    padding-bottom: 70px;
}

/* styles.css */
.flex-container-responsive {
    display: flex;
    width: 100%;
}


.flex-container-responsive-summary {
    display: flex;
    width: 100%;
}

.mb-4rem{
    margin-bottom: 4rem !important;
}

.button-style {
    padding: 8px 20px;
    background-color: #4285f4;
    color: #fff !important;
    border: none;
    border-radius: 25px;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    transition: background-color 0.3s;
}

.button-style:hover {
    background-color: #3367d6;
}

@media (max-width: 768px) {
    .flex-container-responsive {
        flex-direction: column;
    }

    .flex-container-responsive-summary {
        flex-direction: column;
        display: none;
    }

    .max-width-right{
        max-width: 100%;
    }

    .flex-container-responsive-summary-left-mobile{
        flex-direction: column;
        max-width: 10%;
    }

    .flex-container-responsive-summary-left{
        flex-direction: column;
        max-width: 100%;
    }

    #totalPriceSummary{
        flex-direction: column;
    }

    .fareFamilyDialog-popup-style {
        justify-content: center;
    }

    .mobile-panel-toggle {
        display: block;
    }

    .max-width100{
        max-width: 100%;
    }

    .display-none{
        display:none;
    }

    .mobile-panel-toggle {
        display: inline;
    }


    .box-sizing{
        box-sizing: border-box;
    }
}

@media (min-width: 769px) {
    .flex-container-responsive {
        flex-direction: row;
    }

    .flex-container-responsive-summary {
        flex-direction: column;
    }

    .max-width-right{
        max-width: 35%;
    }

    .flex-container-responsive-summary-left{
        flex-direction: column;
        max-width: 65%;
    }

    #totalPriceSummary{
        flex-direction: row;
    }

    .fareFamilyDialog-popup-style {
        width: 35%;
        justify-content: end;
    }

    .mobile-panel-toggle {
        display: none;
    }

    .box-sizing{
        box-sizing: content-box !important;
    }


}

.seleccionable:hover {
   border-color: var(--accent-color);
   border: solid 2px;
   font-weight: bold;
}

.bestPricesClass tbody tr td {
   text-align: center;
   padding:15px 0;
   font-size: 14px;
   border: 0;
}

.backButton {
    background: url(../img/arrow-black-back.svg) no-repeat center center/15% !important;
}

.nextButton {
    background: url(../img/arrow-black-turn.svg) no-repeat center center/15% !important;
}

.button-go-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 24px;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: opacity 0.3s ease; /* Para que se desvanezca suavemente */
    padding-bottom: 8px;
}

.button-go-top:hover {
    background-color: #0056b3;
}

.light-gray-section {
    background-color: #fcfcfc;
    border-radius: 8px;
    padding: 15px !important;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
    color: #444444;
}

.dark-gray-section {
    background-color: #fcfcfc;
    border-radius: 8px;
    padding: 15px !important;
    box-shadow: 0 0 0.25rem !important;
    color: #444444;
}

.dark-blue {
    color: #1B115C;
}

.warning-orange {
    color: #F39300;
}

.ui-widget-quotes {
    font-size: 14px;
}

#checkout-form .ui-widget, #checkout-form span, #checkout-form div, #checkout-form table tr td, #checkout-form li, #checkout-form p {
    font-family: 'Ambit', 'TUIType', Arial, sans-serif !important;
}

#checkout-form .main-info-persons a {
    color: #0d6efd;
}

#product-list-form a {
    color: #444444;
}

@media (max-width: 600px) {
    .detail-product-booking:not(#packages-components-multidestinity) {
        margin-top: 200px;
    }
}

.containerFlightAndLodging {
    width: 100%;
    max-width: 1280px;
    margin-right: auto;
    margin-left: auto;
}
.containerBackgroudFlightAndLodging {
    background: url(../img/covers/flight-cover.jpg) center center var(--grey-bg) no-repeat;
    background-size: cover;
}
.containerBackgroudClearFlightAndLodging {
    background: rgba(255, 255, 255, 0.5);
}
#templateSearchForm .dialog-panel {
    position: sticky  !important;
}

.buttonMiddle {
    height: 44px;
    width: 100%;
    max-width: 200px;
    margin: 0 auto !important;
    margin-right: auto !important;
    display: block;
    border-radius: 25px !important;
    font-size: 14px;
}

.displayFlex {
    display: flex;
}

.paddingRightAndCenter {
    padding-right: 20px;
    align-items: center;
}

.backgroundGrey > input.ui-spinner-input {
    background: var(--grey-bg);
}

.height35{
    height: 35px !important;
}

.height35 > label.ui-selectonemenu-label {
    padding: 8px 14px;
}

.height38{
    height: 38px !important;
}

.height40{
    height: 40px !important;
}

.font-size-16{
    font-size: 16px !important;
}


/* Booking status */
.label-STATUS {
    padding: 5px;
    border-radius: 5px;
    display: inline-block;
    width: 85px;
    text-align: center;
}
.label-ON_REQUEST, .label-DENIED, .label-ERROR {
    color: #FFFFFF !important;
    background-color: #4AAFE8 !important;
}

.label-IN_AGREEMENT {
    color: #FFFFFF !important;
    background-color: #1ab394 !important;
}

.label-ANNULLED {
    color: #FFFFFF !important;
    background-color: #83867c !important;
}

.label-ANNULLED_PEND_EXPENSES {
    color: #FFFFFF !important;
    background-color: #696C64 !important;
}

.label-DELETED {
    color: #FFFFFF !important;
    background-color: #000 !important;
}

.label-ERROR {
    color: #FFFFFF !important;
    background-color: #ed5565 !important;
}

[id*='carrouselProductGroupingRelation'] .ui-carousel .ui-carousel-button.ui-carousel-prev-button {
    left: -90px;
    background: #fff url(../img//ic_keyboard_arrow_left_black_24px.svg) no-repeat center center/80%;
    margin-left: 30px;
}
[id*='carrouselProductGroupingRelation'] .ui-carousel .ui-carousel-button.ui-carousel-next-button {
    right: -90px;
    background: #fff url(../img//ic_keyboard_arrow_right_black_24px.svg) no-repeat center center/80%;
    margin-right: 40px;
}

.color-white{
    color: #fff !important;
}

.background-color-white{
    background-color: #fff !important;
}

.color-black{
    color: #000 !important;
}

.background-color-black{
    background-color: #000 !important;
}

.templateBox .price {
    font-size: 22px;
    font-weight: 700;
    padding-bottom: 6px;
    display: block;
    white-space: nowrap;
}

.templateBox .price .price-label {
    font-size: 12px;
    font-weight: 400;
    padding-right: 4px;
}

.templateBox .desc-package {
    font-weight: 600;
    font-size: 14px;
    display: block;
    line-height: 1.4;
    padding-bottom: 8px;
}

[id$='originJourneyGeneric'].ui-autocomplete.input-md-icon:before,
[id$='destinationJourneyGeneric'].ui-autocomplete.input-md-icon:before{
    top: 0px !important;
    left:  0px !important;
}

.exploraNoShow {
    display: none !important;
}