/*
* TRIP PAGE
*/
/* Smartphones (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) {
    
    .container.trip_main_container {
        max-width: 90%!important;
    }
    
    .trip_header_container {
        padding-top: 16px;
        padding-bottom: 32px;
        text-align: center;
    }
    
    .trip_header_container h1{
        font-size: 2em!important;
        line-height: 1em!important;
    }
    
    .trip_header_container h2 {
        font-size: 1.1em!important;
        line-height: 1.3em!important;
        padding-bottom: 24px;
    }
    
    .trip_header_container em {
        display: none;
    }
    
    .trip_header_container p {
        padding-bottom: 8px!important;
    }
    .trip_header_container .trip_book_button {
        margin-top: 24px;
    }
    
    .trip_section_container .span_12 {
        padding-top: 16px!important;
        padding-bottom: 16px;
    }
    
    .trip_section_container .trip_booking_col {
        border: 1px solid #DDDDDD; 
    }
    .trip_section_container .trip_booking_col h2 {
        font-size: 22px!important;
        line-height: 26px!important;
    }
    
    .trip_section_container .trip_section_cols .trip_specs_inner {
        padding: 8px!important;
    }
    
    .trip_itinerary .toggle {
        /*padding: 0px!important;*/
        margin: 12px 0px;
    }
    
    .trip_section_container .trip_section_cols .trip_specs_container {        
        margin: 24px 0 0 0;
        display: flex;
        flex-direction: row;
        overflow-x: auto!important;
        overflow-y: hidden!important;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: none;
    }
    
    .trip_section_container .trip_section_cols .trip_specs_container .trip_specs_icon {
        float: left;
        margin-right: 8px;
        color: #8aa496;
    }   
    
    
    .trip_section_container .trip_quote {
        margin-bottom: 16px;
        text-align: center;
    }

    .trip_section_container .trip_section_cols .trip_companions_container .trip_companions_inner {
       flex: 0 0 270px;
    }
    
    .trip_section_container .trip_section_cols .trip_companions_inner .companion_bio {
        padding-top: 16px;
        width: 100%;
        float: left;
    }   
    
    .table_header.table_row {
        display: none;
    }
    
    .table_content.table_row {
        padding: 24px 0px;        
        border-bottom: 1px solid rgba(170,170,170,0.7);
    }
    
    .table_content.table_row > .table_cell {
        padding: 5px 0px;
    }
    
    .table_cell.booking_button > form > input[type="submit"] {
        width: 100%!important;
        margin-top: 8px;
    }

    .trip_travel_counseling_image {
        width: 100%;
    }
    
}

/* iPads (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) {
    
    .container.trip_main_container {
        padding: 0 32px!important;
    }
    
    .trip_header_container {
        padding-top: calc(100vw*0.10);
        padding-bottom: 32px;
    }
    .trip_header_container h1 {
        font-size: 32px;
        font-weight: 900;
        line-height: 36px;
    }
    
    .trip_header_container em {
        display: none;
    }
    
    .trip_section_container .trip_booking_col {    
        -webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
        -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
        box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
    }    
    
    .trip_section_container .trip_section_cols .trip_specs_container {
        display: flex;
        overflow-x: auto!important;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: none;
    }

    .trip_travel_counseling_image {
        max-width: 32%;
    } 
    

    .trip_section_container .trip_section_cols .trip_companions_container .trip_companions_inner {
        flex: 0 0 52%;
    }
    
}

/* iPads (landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) {
    
    .trip_section_container .trip_section_cols .trip_specs_container {
        display: flex;
        overflow-x: auto!important;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: none;
    }    

    .trip_section_container .trip_section_cols .trip_companions_container .trip_companions_inner {
        flex: 0 0 33%;
    }
    
    .table_container > .table_row > .table_cell {
        padding: 12px 4px;
    }
    
}

/* iPads (portrait) ----------- */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) {
      
    .table_container {
        display: table;
        width: 100%;
    }
    .table_container > .table_row {
        display: table-row;
    }
    .table_container > .table_row > .table_cell {
        display: table-cell;
        padding: 12px 4px;
    }  

    .table_content.table_row > .table_cell.remaining_seats {
        text-align: center;
    }   
}


/* DESKTOPS AND LAPTOPS ----------- */
@media only screen 
and (min-width : 1024px) {
    
    .trip_header_container {
        padding-top: calc(100vw*0.15);
        padding-bottom: 0px!important;
    }
    
    .trip_header_container .vc_hidden-lg {
        display: none;
    }
    
    .trip_header_container h2 {
        font-size: 1.3em;
        line-height: 1.3em;
    }
    
    .trip_description_container {
        z-index: 1000;
    }
    
    .trip_section_container .trip_booking_col {
        margin-top: calc(-100vh*0.18);       
        -webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
        -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
        box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
    }
    
    .trip_booking_col #booking_title {    
        font-size: 26px;
        line-height: 28px;
    }
    
    .trip_itinerary .toggle {
        padding: 5px 16px 10px 16px!important;
        margin: 12px 0px;
    }
    
    .trip_section_container .span_12 {
        padding-top: 16px!important;
        padding-bottom: 16px!important;
    }

    .trip_section_container .trip_section_cols .trip_companions_container .trip_companions_inner {
        flex: 0 0 30.3%;
    }

    .trip_booking_table {
        margin: 16px 0;
        display: table;
        width: 100%;
    }

    .trip_booking_table .trip_booking_table_body {
        display: table-row-group;
        font-size: 15px;
    }

    .trip_booking_table .trip_booking_table_row {
        display: table-row!important;
    }

    .trip_booking_table .trip_booking_table_row .trip_booking_table_cell {
        display: table-cell;
        padding: 16px 0;
        border-bottom: 1px solid rgba(170, 170, 170, 0.3);        
    }
    
    .trip_section_container .trip_quote {
        margin-bottom: 32px;
    }
    
    #wp-travel-enquiries {
        top: 67px!important;
    }
    
    .table_container {
        display: table;
        width: 100%;
    }
    .table_container > .table_row {
        display: table-row;
    }
    
    .table_container > .table_row > .table_cell {
        display: table-cell;
        padding: 24px 0;
        border-bottom: 1px solid rgba(170,170,170,0.3);
    }  

    .table_content.table_row > .table_cell.remaining_seats {
        text-align: center;
    }    
    
}

@media only screen and (max-width: 999px) and (min-width: 690px) {
    .container.trip_main_container {
        padding: 0px!important;
        max-width: 85%;
    }
    
    .trip_section_container .span_12 {
        padding-top: 24px!important;
    }
}


/* GENERAL ----------- */
.trip_header_container {
    padding-top: calc(100vw*0.25);
    padding-bottom: 32px;
}

.trip_header_container .trip_header_bg {
   background-size: cover;  
}
    
.trip_header_container h1 {
    font-size: 44px;
    font-weight: normal;
    line-height: 46px;
    text-shadow: 0px 0px 2px rgba(0,0,0,0.5)!important;
}

.trip_header_container h2 {
    font-weight: 100;
}

.trip_section_container {
    padding-bottom: 3%;
    padding-top: 3%;
}

.trip_section_container .trip_section_cols {
    padding: 0px 24px;
}

.trip_section_container .trip_section_cols .trip_section_title{
    font-size: 22px;
    font-weight: bold;
    line-height: 24px;
    padding-bottom: 2px;
}

.trip_section_container .trip_section_cols p {
    padding-bottom: 0px;
    line-height: 26px;
}

.trip_section_container h2 {
    font-size: 26px;
    letter-spacing: 0;
    line-height: 28px;
    font-weight: bold;
    text-transform: uppercase;
}

.trip_section_container .trip_booking_col .trip_price {
    font-size: 3em;
    line-height: 1em;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    font-family: 'Rubik';
}

.trip_price_mobile {
    font-size: 3em;
    line-height: 1em;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    font-family: 'Rubik';
}

.early_bird > i {
    margin-right: 6px;
}

.early_bird_status {
    display: block;
}

.trip_book_button {
    font-size: 16px!important;
    background-color: #8aa496!important;
    text-transform: uppercase;
}

.to_be_planned {
    font-family: 'Rubik';
    font-weight: 300;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid #676767;
    font-size: 0.8em;
    background: transparent!important;
    color: #676767!important;
}

.trip_book_button .sold_out {
    background-color: #FF5C46!important;
}

.trip_section_container.trip_description_container h2{
    margin-top: 16px;
}

.trip_section_container h3{
    font-size: 18px!important;
    line-height: 22px!important;
    margin-top: 16px!important;
    margin-bottom: 0px!important;
    letter-spacing: 0;
    font-weight: bold!important;
}

.trip_section_container .trip_booking_col {
background-color: #FFF;
    border-radius: 5px;
    padding: 5%;
}

.trip_section_container .trip_booking_col .wpb_wrapper {
    padding-bottom: 16px;
    overflow: hidden;
}

.trip_section_container .trip_booking_col b {
    color: #333!important;
}

.trip_section_container .trip_booking_col .trip_booking_title {    
    font-weight: bold;
    text-transform: uppercase;
    color: #111;
    font-size: 24px;
    line-height: 26px;    
    margin-bottom: 24px;
    font-family: 'Rubik';
}

.trip_section_container .trip_booking_col p {    
    padding-bottom: 4px;
}

.trip_section_container .trip_booking_col .trip_read_review {
    margin: 16px 0!important;
    display: block; 
}

.trip_section_container .trip_booking_col i{
    margin: 5px;    
}

.trip_section_container .trip_booking_col hr {
    margin: 18px 8px;
    border: 0;
    border-top: 1px solid #F1F1F1;
}
.trip_section_container .trip_booking_col p.trip_contacts {
    font-size: 0.9em;
    text-transform: uppercase;
    font-weight: bold;
    font-family: 'Rubik';
}

.trip_section_container .trip_booking_col p.trip_contacts {
    font-size: 0.9em;
    line-height: 1.3em;
}

.trip_section_container .trip_itinerary{
  background-color: #f8f8f8;
  padding-bottom: 0px!important;
}

.trip_itinerary .toggles {
    background-color: transparent!important;
    margin-top: 24px;
    margin-bottom: 24px!important;
    border: 0px!important;
    border-radius: 0px;
}

.trip_itinerary .toggle {
    background-color: #FFFFFF;
    -webkit-box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.1);
    border: 0px!important;
    border-radius: 3px;
}

.trip_section_container .trip_section_cols .trip_specs_container {
    overflow: hidden;
}

.trip_section_container .trip_section_cols .trip_specs_container::-webkit-scrollbar {
    display: none;
}

.trip_section_container .trip_section_cols .trip_specs_inner { 
    display: flex;
    padding: 0.9em;
    margin: 0;
    float: left;
}

.trip_section_container .trip_section_cols .trip_specs_content { 
    float: left;
}

.trip_section_container .trip_section_cols .trip_specs_container p { 
    padding-bottom: 0px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.trip_section_container .trip_section_cols .trip_specs_container p:first-of-type { 
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.9em!important;
    font-family: 'Rubik';
    letter-spacing: 1px;
}

.trip_section_container .trip_section_cols .trip_specs_container .trip_specs_icon {
    float: left;
    margin-right: 12px;
    color: #8aa496;
    font-size: 24px;
    width: 50px;
    text-align: center;
    line-height: 40px;
    height: 48px;
    width: 48px;
    background: #FFF;
    border: 1px solid #d6d6d6;
    border-radius: 50%;
    /* padding: 8px;*/
}

.trip_section_container .trip_booking_col .trip_specs i{
    margin: 4px;
}

.trip_section_container .trip_whom_inteded_for {
    background-color: #d5e0da!important;
}

.trip_quote_text{
    font-size: 1.2em;
    line-height: 1.1em;
    font-weight: bolder;
    text-shadow: 0 0 1px rgba(0,0,0,0.4)!important;
}

.trip_section_container .trip_section_cols .trip_video_container {
    margin-bottom: 6px;
}

.trip_section_container .trip_section_cols .trip_companions_container {
    display: flex;
    overflow-x: scroll;
    width: 100%;
    margin-top: 16px;    
    overflow-x: scroll;
    margin-top: 16px;
}

.trip_section_container .trip_section_cols .trip_companions_container .trip_companions_inner {
    background: #FFF;
    padding: 16px 8px;
    -webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
    margin: 5px;
    border-radius: 3px;
}

.trip_section_container .trip_section_cols .trip_companions_container .trip_companions_inner .content {
    float: left;
    width: 70%;
}


.trip_companions_inner .content > .companion_short_description {
    opacity: 0.7;
}

.trip_section_container .trip_section_cols .trip_companions_container .trip_companions_inner .content .show_bio_link {
    cursor: pointer;
}

.trip_section_container .trip_section_cols .trip_companions_inner .profile_pic {
    float: left;
    width: 30%;
}

.trip_section_container .trip_section_cols .trip_companions_inner .profile_pic img {
    float: left;
    border-radius: 50%;
    margin: 0 8px 0 0;
    height: auto;
    width: 90%;
    padding: 4px;
    transition: all ease 0.3s;
}

.trip_section_container .trip_section_cols .trip_companions_inner .content .companion_name {
    font-size: 1.1em;
    font-family: 'Rubik';
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.1em!important;
}

.trip_section_container .trip_reviews{
  background-color: #f8f8f8;
  padding-bottom: 0px!important;
}

.trip_section_container .trip_section_cols .trip_review_container {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
}

.trip_section_container .trip_section_cols .trip_review_container .trip_reviews_inner {
    background: #FFF;
    padding: 16px;
    -webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1);
    margin: 5px;
    border-radius: 3px;
    min-width: 320px;
}

.trip_section_container .trip_section_cols .trip_review_container .trip_reviews_pic {
    float: left;
    margin-right: 12px;
    color: #8aa496;
    font-size: 24px;
    width: 50px;
    text-align: center;
    line-height: 40px;
    height: 48px;
    width: 48px;
    background: #FFF;
    border: 1px solid #d6d6d6;
    border-radius: 50%;
    /* padding: 8px; */
}

.trip_booking_table .trip_booking_table_row .trip_booking_table_cell .trip_arrival_date{
    display: block;
    width: 100%;
    font-family: 'Rubik';
    font-weight: bolder;
}

.trip_status > span{
    font-family: 'Rubik';
    font-weight: 300;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid #676767;
    font-size: 0.8em;
}

.trip_booking_table .trip_booking_table_row .trip_booking_table_cell.trip_status > span > i{
    margin: 0 4px;
}

.trip_booking_table .trip_booking_table_row .trip_booking_table_cell .trip_price {
    font-family: 'Rubik';
    font-weight: bolder;
}

.trip_booking_table .trip_booking_table_row .trip_booking_table_cell .is_sale{
    text-decoration: line-through;
    opacity: 0.7;
    font-size: 80%;
}

.trip_status.trip_confirmed > span {
    color: var(--nectar-accent-color);
    border-color: var(--nectar-accent-color);
}


.trip_status.trip_almost_full > span {
    color: var(--nectar-extra-color-2);
    border-color: var(--nectar-extra-color-2);
}

.trip_booking_table .trip_booking_table_header.trip_booking_table_row .trip_booking_table_cell {
    padding: 8px 0;
}

.trip_booking_table .trip_booking_table_row .trip_booking_table_cell .add-to-cart-btn {
    margin: 0 auto;
}
.trip_booking_table_cell .add-to-cart-btn.sold-out-button {
    background: #D6D6D6;
    color: rgba(255,255,255,0.6);
    cursor: not-allowed;
}
.trip_booking_table .trip_booking_table_header {
    display: table-header-group;
    color: #666;    
    text-transform: uppercase;
    font-weight: bold;
    font-family: 'Rubik';
}

.trip_booking_table .trip_booking_table_row .trip_price_category .trip_price {
    font-weight: bold;
    font-family: 'Rubik';
    font-size: 20px;
}

.table_cell > div > .show_on_mobile {
    display: none;
}

.full-width-button {
    width: 100%;
    text-align:center;
}

.trip_section_cols.custom_section h2 {
    font-size: 19px!important;
    line-height: 23px!important;
    margin-top: 16px!important;
    margin-bottom: 4px!important;
    letter-spacing: 0;
    font-weight: bold!important;
}

.wp_travel_select_departure_date {
    background-color: transparent;
    border: 0px!important;
    padding: 8px!important;
    width: auto!important;
}

.wpb_row .trip_gift_card_cta_bg_image {
    background-size: cover;
}

.trip_section_cols.trip_gift_card_cta {
    padding: 4% 0!important;
}

.trip_section_container .trip_gift_card_cta .trip_cta_title {
    font-size: 34px;
    line-height: 36px;
}

.trip_section_container .trip_gift_card_cta .trip_cta_btn {
    
    margin: 16px 0;
    background-color: #8aa496;

}

.trip_travel_counseling_btn {
    margin-top: 16px;
}

.trip_travel_counseling_image {
    padding: 16px;
    max-width: 152px;
}

/*.table_header.table_row {
}*/

.table_header.table_row > .table_cell {
    text-transform: uppercase;
    font-weight: 600;
    border-bottom: 1px solid rgba(170,170,170,0.3);;
    padding: 15px 0;
    font-family: 'Rubik';
}

.table_container > .table_row > .table_cell {
    vertical-align: middle;
}  

.table_row.table_content.soldout_shift {
    opacity: 0.6;
}

.table_content.table_row > .table_cell.trip_shift > span {
    display: block;
    width: 100%;
}

.table_content.table_row > .table_cell.trip_shift > .arrival_date, 
.table_content.table_row > .table_cell.trip_shift > .departure_date {
    font-weight: 600;
    font-family: 'Rubik';
}

.table_content.table_row > .table_cell.trip_shift > .trip_duration {
    font-weight: 100;
}

.table_content.table_row > .table_cell.booking_button  {
    vertical-align: middle;
}

.table_content.table_row > .table_cell > .category_pricing > .trip_price {
    font-family: 'Rubik';
    font-weight: bolder;
}

    
.trip_sold_out {
    background: #9c9e9f;
    padding: 12px 22px;
    margin-top: 12px;
    text-transform: uppercase;
    color: #FAFAFA;
    border-radius: 4px;
}

/**
Newsletter form
**/
.newsletter-fields-group {
    width: 100%!important;
}

.newsletter-privacy {
    color: #333!important;
}

.newsletter-privacy > a {
    color: #333!important;
}

.mc4wp-form-2150 > .mc4wp-form-fields > p > input[type="submit"]{
    width: 100%;
}

.end_sale_date {
    display: block;
    font-size: 13px;
}

.table_cell.booking_button > .booking_form {
    display: inline-block;
}

.loading-icon.hidden {
    display: none;
}

.loading-icon {
    height: 32px;
    width: 32px;
    background-repeat: no-repeat!important;
    background-size: auto!important;
    background-position: center!important;
    display: inline-block;
    vertical-align: middle;
}