.page_title{
    font-family: "playfair-display-regular", serif;
    font-size: 30px;
    color: #0a2449;
    margin-top: 10px;
}

.page_subtitle{
    font-family: "lato-regular", serif;
    font-size: 16px;
    color: #6b6f78;
    margin-bottom: 20px;
}

/***** filters *****/

.filters_area{
    background-color: #f5f6f8;
    box-shadow: #f1f2f4;
    border-radius: 10px;
    width: 100%;
    height: auto;
    padding: 10px;
    margin-bottom: 20px;
}

.filter_group{
    background-color: #fefefe;
    border: 1px solid #f3f3f3;
    border-radius: 10px;
    box-shadow: 1px 1px 20px rgba(100, 100, 100, 0.2);
    width: 98%;
    min-height: 55px;
    padding: 10px 10px;
    margin-bottom: 5px;
}

.filter_icon, .filter_text, .filter_action{
    float: left;
}

.filter_icon{
    width: 40px;
    height: 30px;
    padding-right: 10px;
    text-align: left;
    cursor: pointer;
}

.filter_action{
    width: 20px;
    height: 30px;
    text-align: right;
    padding-top: 5px;
}

.filter_icon, .filter_text{
    cursor: pointer;
}

.filter_icon img{
    width: 30px;
    height: 30px;
    margin: 0px;
}

.filter_icon .fa{
    color: #0a2449;
    font-size: 24px;
    margin: 0px;
    margin-top: 5px;
}

.filter_action .fa{
    color: #0a2449;
    font-size: 18px;
    margin: 0px;
    cursor: pointer;
}

.filter_text{
    width: calc(100% - 60px);
    line-height: 15px;
}

.filter_text_quantity, .filter_text_description{
    font-family: "lato-regular", serif;
    color: #0a2449;
    font-size: 14px;
    cursor: pointer;
}

.filter_text_quantity{
    font-weight: bold;
}

.popup_buttons{
    height: 40px;
    margin-top: -10px;
}

.popup_search_button, .popup_clear_button{
    float: right;
}

.popup_search_button{
    width: 117px;
    padding: 7px 20px;
}

.popup_clear_button{
    width: 112px;
    padding: 6px 16px;
    margin-right: 5px;
}

.switch.switch-3d.switch-sm .switch-handle{
    border: 1px solid #0a2449;
}

.switch-primary > .switch-input ~ .switch-label{
    border-color: #0a2449;
}

.switch-primary > .switch-input:checked ~ .switch-label{
    background: #0a2449 !important;
    border-color: #0a2449;
}

.switch-primary > .switch-input:disabled ~ .switch-label{
    background: #edeef0 !important;
    border-color: #edeef0;
    cursor: default;
}

.switch-primary > .switch-input:disabled ~ .switch-handle{
    background: #edeef0 !important;
    border-color: #edeef0;
    cursor: default;
}

.filter_checkboxes_labels{
    cursor: pointer;
}

.filter_checkboxes_disabled_labels{
    color: #8f9092;
}

.filter_disabled_month, .filter_unselected_month, .filter_selected_month{
    float: left;
    width: 100%;
    height: 40px;
    text-align: center;
    padding-top: 7px;
}

.filter_disabled_month{
    background-color: #edeef0;
    color: #8f9092;
    border: 1px solid #edeef0;
}

.filter_unselected_month, .filter_selected_month{
    cursor: pointer;
}

.filter_unselected_month{
    background-color: #d8f3fe;
    color: #2c3f8b;
    border: 1px solid #2c3f8b;
}

.filter_selected_month{
    background-color: #1e547e;
    color: #ffffff;
    border: 1px solid #2c3f8b;
}

#search_result_text{
    color: rgb(6,21,86);
    font-weight: bold;
}

.search_link_button, .search_link_button_active{
    padding: 7px 15px;
    display: inline-block;
    color: #164677;
}

.search_link_button{
    border-bottom: 2px solid #FFFFFF;
    cursor: pointer;
}

.search_link_button:hover{
    color: rgb(6,21,86);
}

.search_link_button_active{
    background-color: #e4f2ff;
    border-bottom: 2px solid rgb(6,21,86);
    color: rgb(6,21,86);
    cursor: default;
}


/***** ship cards *****/

.ship_card{
    background-color: #fefefe;
    border: 1px solid #f3f3f3;
    border-radius: 10px;
    margin-bottom: 20px;
    height: fit-content;
    box-shadow: 1px 1px 20px rgba(100, 100, 100, 0.2);
}

.ship_image{
    background: url("../../../assets/images/ships/default_ship.png") no-repeat no-repeat #f5f6f8;
    background-size: cover !important;
    height: 130px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    margin-bottom: 10px;
}

.ship_card_row{
    padding: 0px 10px;
    min-height: 20px;
    height: auto;
    margin-bottom: 5px;
    clear: both;
    display: block;
}

.ship_card_icon, .ship_card_title, .ship_card_subtitle, .ship_card_description{
    float: left;
}

.ship_card_icon{
    width: 26px;
    padding-right: 10px;
    text-align: left;
}

.ship_card_title, .ship_card_subtitle, .ship_card_description{
    width: calc(100% - 26px);
}

.ship_card_icon img, .ship_card_icon .fa{
    width: 16px;
    height: 16px;
    margin: 0px;
}

.ship_card_title, .ship_card_subtitle{
    font-family: "playfair-display-regular", serif;
    color: #0a2449;
}

.ship_card_title{
    font-size: 20px;
}

.ship_card_subtitle{
    font-size: 16px;
}

.ship_card_description{
    font-family: "lato-regular", serif;
    color: #0a2449;
    font-size: 14px;
}

.ship_card_description a, .ship_card_description a:hover{
    color: #1e547e;
    text-decoration: none;
}

.ship_badge, .ship_level, .ship_size{
    float: left;
    border-radius: 5px;
    font-family: "lato-regular", serif;
    font-size: 14px;
    margin-right: 5px;
}

.ship_badge{
    margin-top: 10px;
    margin-left: 10px;
    padding: 0px 10px;
    background-color: #FFFFFF;
    border: 1px solid #2f1d00;
    color: #2f1d00;
}

.ship_size, .ship_level{
    float: left;
    color: #0a2449;
}

.ship_size_and_level_space{
    float: left;
    width: 5px;
}

.ship_badge img, .ship_level img, .ship_size img{
    width: 16px;
    height: 16px;
    margin-right: 5px;
    margin-top: -4px;
}

.show_itineraries{
    /*margin-left: 8px;*/
}

.experiences{
    float: left;
    height: 21px;
    padding: 0px 4px;
    margin-right: 1px;
    margin-bottom: 2px;
    border-radius: 8px;
    font-size: 12px;
}

.ship_card_line{
    margin-top: 10px;
    margin-bottom: 20px;
    height: 5px;
    border-bottom: 1px solid #d3d3d3;
}

.characteristics_icon, .characteristics_text{
    float: left;
}

.characteristics_icon{
    width: 30px;
    height: 30px;
    background-color: #ebf1ed;
    border-radius: 16px;
    border: 1px solid #4c586e;
    text-align: center;
}

.characteristics_text{
    padding-left: 10px;
    width: calc(100% - 30px);
    line-height: 18px;
    color: #4c586e;
}

.characteristics_icon img{
    width: 16px;
    height: 16px;
}

.region_name{
    font-family: "playfair-display-regular", serif;
    color: #0a2449;
    font-size: 16px;
    border-bottom: 1px solid #0a2449;
    text-align: center;
}

.country_div, .company_div{
    /*border: 1px solid #d3d3d3;*/
    border-radius: 10px;
    background-color: #e8e8e8;
    margin-top: 3px;
    margin-bottom: 3px;
}

.country_name, .company_name{
    font-family: "lato-regular", serif;
    color: #0a2449;
    font-size: 14px;
    text-align: left;
    margin-left: 10px;
    margin-bottom: 5px;
}

.destination_name_div{
    /*font-family: "lato-regular", serif;
    color: #0a2449;*/
    font-size: 12px;
    margin-left: 10px;
}

.ship_div{
    /*font-family: "lato-regular", serif;
    color: #0a2449;*/
    font-size: 12px;
    margin-left: 10px;
}

#region_4_margin_top{
    margin-top: 35px;
}

#region_6_margin_top{
    margin-top: 32px;
}

#region_7_margin_top{
    margin-top: 35px;
}

#country_div_spain{
    height: 82px;
}

#region_name_ports{
    text-align: left;
    margin-left: 10px;
}

#royal_div{
    height: 116px;
}

#carnival_div{
    height: 144px;
}

.whatsapp_button{
    background-color: #075e54;
    color: #FFFFFF;
    border-radius: 8px;
    padding: 2px 0px;
    height: 28px;
    width: 100px;
    text-align: center;
}

.whatsapp_button:hover{
    background-color: #25d366;
    cursor: pointer;
}

.whatsapp_button a, .whatsapp_button a:hover{
    color: #FFFFFF;
}

.whatsapp_button img{
    margin-right: 5px;
}

@media (max-width: 576px){
    .filter_group {
        min-height: 67px;
    }

    #region_4_margin_top, #region_6_margin_top, #region_7_margin_top{
        margin-top: 15px;
    }

    #country_div_spain{
        height: auto;
    }

    #region_name_ports{
        text-align: center;
        margin-left: 0px;
    }

    #royal_div, #carnival_div{
        height: auto;
    }
}



/***** popup dialogs *****/

.ui-dialog{
    background-color: rgba(68, 68, 68, 0.3);
    border-radius: 15px;
}

.ui-widget-header {
    border: 0px;
    background: none !important;
    background-color: transparent;
}

.ui-dialog .ui-dialog-title{
    height: 1px;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
    width: 28px;
    height: 28px;
    margin-top: -8px;
    margin-right: -4px;
    background: none;
    background-color: #1e547e !important;
    border: 1px solid #1e547e;
    border-radius: 14px;
    font-family: proxima-nova-bold;
    font-size: 12px;
    color: #FFF;
    z-index: 1;
}

.ui-state-default .ui-icon {
    background-image: url('../../../assets/images/dialogs_close_button.png');
}

.ui-icon-closethick {
    background-position: -6px -6px;
}

.ui-dialog .ui-dialog-content {
    background-color: #FFF;
    margin-left: 15px;
    margin-bottom: -15px;
    margin-bottom: 15px;
    border-radius: 15px;
    padding: 0px;
}

.ui-widget-content {
    background: rgba(68, 68, 68, 0.3);
}

#dialog_itineraries_content, #dialog_characteristics_content{
    padding: 10px;
}

.popup_dialog_data_container{
    max-height: 430px;
    overflow-y: scroll;
}

.popup_dialog_destinations_filter_data_container{
    max-height: 430px;
    height: 430px;
    overflow-y: scroll;
}

@media (max-width: 576px) {

    .ui-widget-content {
        background: #FFFFFF;
    }

    .ui-dialog {
        background-color: #FFFFFF;
        border-radius: 0px;
    }

    .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
        margin-top: 0px;
        margin-right: 5px;
    }

    .ui-dialog .ui-dialog-content {
        margin-left: 0px;
        margin-right: 0px;
        margin-top: -5px;
        margin-bottom: 0px;
        border-radius: 0px;
        padding: 0px;
    }

    .popup_dialog_data_container{
        max-height: 475px;
        height: 475px;
    }

    .popup_dialog_destinations_filter_data_container{
        max-height: 475px;
        height: 475px;
    }

}


/***** itineraries cards *****/

.itineraries_cards{
    background-color: #f5f6f8;
    box-shadow: #f1f2f4;
    border-radius: 10px;
    width: 100%;
    height: auto;
    padding: 10px;
    margin-bottom: 20px;
    font-family: "lato-regular", sans-serif;
    font-size: 15px;
}

.itinerary_card{
    background-color: #FFFFFF;
    border: 1px solid #f3f3f3;
    border-radius: 10px;
    margin-bottom: 5px;
    height: fit-content;
    box-shadow: 1px 1px 20px rgba(100, 100, 100, 0.2);
    padding: 10px 20px;
}

.itinerary_card_routes, .itinerary_card_durations, .itinerary_card_first_dates, .itinerary_card_ships{
    float: left;
    padding-top: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    padding-right: 10px;
}

.itinerary_card_durations{
    width: 195px;
}

.itinerary_card_first_dates{
    width: 310px;
}

.itinerary_card_first_date_label{
    color: #0a2449;
    font-weight: bold;
    margin-bottom: 5px;
}

.itinerary_card_first_date_value, .itinerary_card_first_date_value a{
    color: #075e54;
    text-decoration: none;
}

.itinerary_card_ships{
    width: 395px;
}

.itinerary_card_routes{
    width: calc(100% - 900px);
}

.itinerary_card_number, .itinerary_card_route{
    float: left;
}

.itinerary_card_number{
    width: 30px;
    height: 30px;
    border-radius: 16px;
    background-color: #FFFFFF;
    color: #000000;
    margin-right: 20px;
    text-align: center;
    padding-top: 3px;
}

.itinerary_card_route{
    width: calc(100% - 50px);
    color: #0a2449;
}

.itinerary_card_duration{
    width: fit-content;
    height: fit-content;
    border-radius: 8px;
    background-color: #FFFFFF;
    color: #000000;
    text-align: center;
    padding: 10px;
}

.itinerary_card_ship_icon_and_name, .itinerary_card_ship_icon, .itinerary_card_ship_name, .itinerary_card_ship_dates{
    float: left;
}

.itinerary_card_ship_icon_and_name{
    width: 220px;
    margin-top: 10px;
}

.itinerary_card_ship_icon{
    width: 20px;
    height: 20px;
    margin-top: -2px;
    margin-right: 2px;
}

.itinerary_card_ship_name{
    width: calc(100% - 22px);
    color: #0a2449;
    line-height: 20px;
}

.itinerary_card_ship_dates{
    width: 140px;
}

.itinerary_card_ship_row{
    width: fit-content;
    margin-bottom: 5px;
    border: 0px;
    border-top: 1px solid #8baacb;
    border-radius: 0px;
    padding-top: 5px;
}

.itinerary_date_btn{
    width: fit-content;
    padding: 7px 15px;
    height: 40px;
    min-width: 135px;
    border: 1px solid #164677;
    background-color: #FFFFFF;
    text-align: left;
    border-radius: 8px;
    text-transform: none;
    color: #164677;
    cursor: pointer;
}

.route_piece{
    float: left;
    margin-right: 5px;
    font-size: 14px;
}

@media (max-width: 576px) {

    .itinerary_card{
        padding: 10px;
    }

    .itinerary_card_number{
        margin-right: 7px;
    }

    .itinerary_card_route{
        width: calc(100% - 37px);
    }

    .itinerary_card_routes, .itinerary_card_durations, .itinerary_card_first_dates, .itinerary_card_ships, .itinerary_card_ship_icon_and_name, .itinerary_card_ship_dates{
        width: 100%;
        padding: 0px;
    }

    .itinerary_card_durations, .itinerary_card_ships{
        margin-top: 10px;
    }

    .itinerary_card_first_dates, .itinerary_card_ships{
        padding-left: 5px;
        padding-right: 5px;
    }

    .itinerary_card_first_dates, .itinerary_card_ships{
        font-size: 14px;
    }

    .itinerary_card_duration{
        margin: auto;
    }

    .itinerary_card_first_date_label, .itinerary_card_first_date_value, .itinerary_card_ship_icon_and_name, .itinerary_card_ship_dates{
        float: left;
        margin-top: 10px;
        width: fit-content;
    }

    .itinerary_card_ship_icon{
        margin-right: -5px;
    }

    .itinerary_card_first_date_label{
        margin-right: 5px;
    }

    .itinerary_card_ship_dates{
        width: 105px;
    }

    .itinerary_card_ship_icon_and_name{
        width: calc(100% - 105px);
    }

    .itinerary_card_ship_row{
        padding-top: 0px;
        padding-bottom: 5px;
        width: 100%;
    }

    .itinerary_date_btn{
        min-width: 105px;
        max-width: 105px;
        height: 25px;
        padding: 0px 5px;
    }

}