﻿
@charset "UTF-8";

@font-face {
    font-family: "swg-icons";
    src: url('../../icons/sunwing/swg-icons.woff2') format('woff2'), url('../../icons/sunwing/swg-icons.woff') format('woff'), url('../../icons/sunwing/swg-icons.svg#swg-icons') format('svg');
}

@font-face {
    font-family: 'PT Sans';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/full/PTSans-400-italic.woff') format('woff');
}

@font-face {
    font-family: 'PT Sans';
    font-style: italic;
    font-weight: 700;
    src: url('fonts/full/PTSans-700-italic.woff') format('woff');
}

@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/full/PTSans-400.woff') format('woff');
}

@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/full/PTSans-700.woff') format('woff');
}
/* cyrillic-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/cyrillic-ext/PTSans-400-italic.woff2') format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'PT Sans';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/cyrillic/PTSans-400-italic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/latin-ext/PTSans-400-italic.woff2') format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'PT Sans';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/latin/PTSans-400-italic.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: italic;
    font-weight: 700;
    src: url('fonts/cyrillic-ext/PTSans-700-italic.woff2') format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'PT Sans';
    font-style: italic;
    font-weight: 700;
    src: url('fonts/cyrillic/PTSans-700-italic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: italic;
    font-weight: 700;
    src: url('fonts/latin-ext/PTSans-700-italic.woff2') format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'PT Sans';
    font-style: italic;
    font-weight: 700;
    src: url('fonts/latin/PTSans-700-italic.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/cyrillic-ext/PTSans-400.woff2') format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/cyrillic/PTSans-400.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/latin-ext/PTSans-400.woff2') format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/latin/PTSans-400.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/cyrillic-ext/PTSans-700.woff2') format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/cyrillic/PTSans-700.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/latin-ext/PTSans-700.woff2') format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/latin/PTSans-700.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


body {
    font-family: 'PT Sans';
}

/* ==========================================================================
   EDoc
   ========================================================================== */
.emaileDocs {
    margin: 1.2em 0;
}

.bold {
    font-weight: 800;
}

.edocs-frame iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.EdocMainTitle {
    font-family: 'PTSans-Bold', 'PT Sans Bold', 'PT Sans';
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
    color: #797979;
    margin-top: 0;
}

.edoc-section-header__title {
    font-size: 40px;
    color: white;
    font-weight: 400;
}

.edoc-section-header__bg {
    background-color: #007cc3;
    padding: .25em 2em;
}

.EdocSubSectionTitle {
    color: #007cc3;
    font-family: PTSans-Bold, "PT Sans Bold", "PT Sans";
    font-feature-settings: "kern";
    font-kerning: normal;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    height: auto;
    line-height: normal;
    text-align: left;
    text-rendering: optimizeLegibility;
    white-space: nowrap;
    width: auto;
    padding: 0px 0px 20px 0px;
}


.EdocSectionTitle {
    display: inline-block;
    color: #007cc3;
    font-family: PTSans-Bold, "PT Sans Bold", "PT Sans";
    font-feature-settings: "kern";
    font-kerning: normal;
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    height: auto;
    line-height: normal;
    text-align: left;
    text-rendering: optimizeLegibility;
    white-space: normal;
    width: auto;
    margin-bottom: 0.5em;
    word-break: break-word;
}

    .EdocSectionTitle img {
        margin: 0 .175em;
        max-width: 45px;
    }

.EdocMidSectionTitle {
    font-size: 28px;
    font-weight: 700;
    color: #007cc3;
}

.EdocProductInfo {
    color: #000;
    font-size: 11px;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 18px;
}

.Text {
    color: rgb(51, 51, 51);
    font-family: PTSans-Regular, "PT Sans";
    font-feature-settings: "kern";
    font-kerning: normal;
    font-size: 16px;
    text-rendering: optimizeLegibility;
}

tr.header td {
    padding-top: 15px;
    font-size: 18px;
}

.hr {
    padding-top: 10px;
    padding-bottom: 10px;
    color: rgb(51, 51, 51);
    display: block;
    height: 5px;
    width: 100%;
    text-align: center;
}

@media screen and (max-width: 649px) {
    .edoc-section-header__bg {
        padding: 0.25em 1em;
    }

    .edoc-section-header__title {
        font-size: 30px;
    }

    .EdocSectionTitle {
        font-size: 26px;
    }

        .EdocSectionTitle img {
            max-width: 25px;
        }
}

/*
    GENERIC STYLES
*/
.edoc-blue-text {
    color: #007cc3;
    font-size: inherit;
}

.edoc-orange-text {
    color: #f36f21;
    font-size: inherit;
}

/*
    FLEX STYLES
*/

.d-flex {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-full {
    flex-basis: 100%;
}

.flex-half {
    flex-basis: 50%;
}

.flex-third {
    flex-basis: 33%;
}

.align-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.grow-shrink {
    flex-grow: 1;
    flex-shrink: 1;
}

.grow-noShrink {
    flex-grow: 1;
    flex-shrink: 0;
}

.noGrow-shrink {
    flex-grow: 0;
    flex-shrink: 1;
}

.fluid-image {
    display: block;
    width: 100%;
}

/*
    HEADER
*/
.edocs-header {
    display: flex;
    flex: 1 0 auto;
    justify-content: space-between;
    margin-bottom: 15px;
}

.headerBlurb {
    flex: 1 1 auto;
    padding-right: 2em;
}

/*
    HEADER CTA
*/
.headerCTA {
    flex: 1 0 auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

    .headerCTA .btn {
        white-space: nowrap;
        padding: 10px .5em;
        margin: 0 .175rem;
        height: auto;
        min-height: inherit;
        font-size: 16px;
        line-height: 21px;
        font-weight: 700;
        text-decoration: none;
        transition: none;
    }

        .headerCTA .btn:hover {
            transition: none;
        }

    .headerCTA .btn_white {
        border-color: #f36f21;
        color: #f36f21;
    }

        .headerCTA .btn_white:hover {
            border-color: #f36f21;
            color: #007cc3;
            background-color: transparent;
        }

/*
    EDOC CONTAINER
*/
.bg-gradient {
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 0%, rgba(229, 242, 249, 1) 100%, rgba(229, 242, 249, 1) 100%);
}

.blue-bg {
    background: #e5f2f9;
}

.gray-bg {
    background: #f2f2f2;
}

.blue-left-border {
    border-left: 1em solid #007cc3;
}

.cultural-left-border {
    border-left: 1em solid #edc470;
}

.margin-bottom-0 {
    margin-bottom: 0 !important;
}

.margin-top-1 {
    margin-top: 1em !important;
}

/*
    EDOC TABLE
*/
.responsive-table {
    display: block;
    width: 100%;
    min-height: 0.1%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    padding-bottom: 1em;
}

    .responsive-table table {
        width: 100%;
        text-align: left;
    }

    .responsive-table th {
        color: #007cc3;
        font-weight: bold;
        font-size: 1em;
    }

    .responsive-table th,
    .responsive-table td {
        padding: 0.75rem 1.375rem;
        white-space: nowrap;
        text-align: left;
        word-break: break-word;
    }

.edoc-main-cutout-border {
    border: 2px dotted black;
}

.edoc-main {
    padding: 1em 2em;
    position: relative;
}

.group-overview-wrapper .edoc-main,
#before-you-go .edoc-main,
#while-away .edoc-main {
    margin-bottom: 1em;
}

@media screen and (max-width: 499px) {
    .edoc-main {
        padding: 1em;
    }
}

.edoc-main--full {
    padding: 1em 0;
}

@media screen and (min-width: 768px) {
    .edoc-main--full {
        padding: 1em 2em;
    }
}

.edoc-main__container {
    display: block;
    margin: 1.125rem 0 0 0;
}

.edoc-content__wrapper {
    width: 100%;
    position: relative;
}

    .edoc-content__wrapper h3 {
        padding-bottom: .5rem;
    }

    .edoc-content__wrapper div h2 {
        color: black;
    }

/*
    BEFORE YOU GO
*/
.edoc-byg {
    display: flex;
}

    .edoc-byg .edoc-main__container {
        flex-basis: 50%;
    }

.byg-wrapper {
    display: flex;
    flex-direction: row;
}

    .byg-wrapper > .byg-wrapper__content {
        flex-basis: 50%;
    }

    .byg-wrapper input {
        opacity: 1;
        position: relative;
        margin: 0 1em 0 0;
    }

    .byg-wrapper img {
        margin: 0 1em 0 0;
        display: block;
        height: 40px;
        width: auto;
    }

.byg-icon-text {
    display: flex;
    margin-bottom: 1em;
}

    .byg-icon-text .EdocMidSectionTitle {
        display: block;
        width: 100%;
    }

.byg-checkbox {
    margin-right: .5em;
}

    .byg-checkbox .checkbox {
        width: 40px;
        height: 40px;
    }

.byg-icon-wrapper {
    margin-right: 1em;
    display: block;
    width: 85%;
}

.byg-wrapper__content {
    margin-bottom: 2em;
}

    /* remove underline on link in 'before you go' section*/
    .byg-wrapper__content a {
        text-decoration: none;
    }

.byg-app-icon-wrapper {
    display: flex;
    align-items: center;
}

    .byg-app-icon-wrapper img {
        width: 120px;
    }

/*
    WHILE YOU WERE AWAY
*/
#while-away .edoc-main__container {
    display: block;
    margin: 0 -10px;
}

.while-away__wrapper {
    padding: 10px;
}

    .while-away__wrapper p {
        font-size: .875em;
    }

.while-away__wrapper-icon-wrapper {
    display: block;
}

    .while-away__wrapper-icon-wrapper img {
        margin-right: 1em;
        max-width: 40px;
    }

    .while-away__wrapper-icon-wrapper h2 {
        margin-top: 0;
    }

    /* force a tag with same style as h2*/
    .while-away__wrapper-icon-wrapper a {
        text-decoration: none;
        font-size: 24px;
        font-weight: 700;
        color: black;
    }

.download-app-icons {
    display: flex;
    flex: 1 0 50%;
}

    .download-app-icons a:first-child {
        margin-right: 10px;
    }

    .download-app-icons img {
        max-width: 100%;
        max-height: 50px;
        width: auto;
    }

@media screen and (min-width: 480px) {
    .while-away__wrapper-icon-wrapper {
        display: flex;
        align-items: flex-start;
    }
}

@media screen and (min-width: 768px) {
    #while-away .edoc-main__container {
        display: flex;
    }

    .while-away__wrapper-icon-wrapper {
        align-items: center;
    }

        .while-away__wrapper-icon-wrapper img {
            max-width: none;
        }
}

/*
    PASSENGERS
*/
.edoc-passengers th {
    color: #333;
}

.edoc-passengers tbody tr {
    border-top: 2px solid #d6ecf5;
}

.passengers__baggage-icon-wrapper {
    display: flex;
    flex: 1 1 100%;
    align-items: flex-start;
    margin-bottom: 1em;
}

    .passengers__baggage-icon-wrapper img {
        max-width: 40px;
        padding-right: 10px;
    }

    .passengers__baggage-icon-wrapper p {
        margin: 0;
    }

@media screen and (min-width: 768px) {
    .passengers__baggage-icon-wrapper {
        align-items: center;
    }
}

/*
    ITINERARY - BOOKING DETAILS & AGENCY INFORMATION
*/
.itinerary__wrapper {
    display: flex;
    margin: 1.125em 0 0.5em;
}

@media screen and (max-width: 649px) {
    .itinerary__wrapper {
        display: block;
        margin: 0;
    }
}

/*
    PRODUCTS (FLIGHT / HOTEL / CRUISE / AIRPORT LOUNGE / PRE-ORDER MEALS / BAGGAGE)
*/
.products {
    display: flex;
    flex-wrap: wrap;
    flex: 1 0 100%;
    margin: 0 -1em;
    box-sizing: border-box;
}

    .products * {
        box-sizing: border-box;
    }

.products__item {
    flex: 1 0 50%;
    display: flex;
    max-width: 50%;
    padding: 0 1em;
    margin-bottom: 1em;
}

    /* If there is only 1 item */
    .products__item:nth-child(1):nth-last-child(1) {
        flex: 1 0 100%;
        max-width: 100%;
    }

    .products__item:nth-child(2n+1):nth-last-child(-n+2),
    .products__item:nth-child(2n+1):nth-last-child(-n+2) ~ .products__item {
        margin-bottom: 0;
    }

.products__item-wrapper {
    width: 100%;
    flex: 1 0 100%;
}

    .products__item-wrapper:not(:last-child) {
        margin-bottom: 1em;
    }

.products__item-preheader {
    flex-basis: 100%;
    margin-bottom: 1em;
}

    .products__item-preheader p {
        margin-bottom: 0;
        max-width: 100%;
    }

.products__item-group {
    display: flex;
    flex-wrap: wrap;
    flex: 1 0 100%;
    margin: 0 -1em;
}

.products__item-wrapper--full {
    display: block;
    max-width: 100%;
    padding: 0 1em;
}

.products__item-wrapper.products__item-wrapper--full:not(:first-of-type) > .products__item-header {
    display: none;
}

.products__item-group .products__item-wrapper:not(.products__item-wrapper--full) {
    flex: 1 0 50%;
    max-width: 50%;
    padding: 0 1em;
    margin-bottom: 1em;
}

    .products__item-group .products__item-wrapper:not(.products__item-wrapper--full):nth-child(2n+1):nth-last-child(-n+2),
    .products__item-group .products__item-wrapper:not(.products__item-wrapper--full):nth-child(2n+1):nth-last-child(-n+2) ~ .products__item-wrapper:not(.products__item-wrapper--full) {
        margin-bottom: 0;
    }

    /* If there is only 1 item or is last item on its own row */
    .products__item-group .products__item-wrapper:not(.products__item-wrapper--full):nth-child(1):nth-last-child(1),
    .products__item-group .products__item-wrapper:not(.products__item-wrapper--full):nth-child(odd):nth-last-child(1) {
        flex: 1 0 100%;
        max-width: 100%;
    }

.products__item-header {
    display: inline-block;
    padding: 0.75rem 4rem 0.75rem 1.375rem;
    background-color: #fff;
    color: #007cc3;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 0.25em;
}

.products__item-content {
    background-color: #fff;
    padding: 0.75rem 1.375rem;
}

.products__item-content-heading {
    margin-top: 0.5em;
    font-size: 18px;
    font-weight: 700;
}

.products__item-content p {
    margin-bottom: 0;
}

.products__item ol {
    padding: 0.75rem 0rem 0.75rem 1rem;
    list-style-type: decimal;
    max-width: 100%;
}

/* Cases where the list is the whole group of content */
ol.products__item-content {
    padding: 0.75rem 1.375rem 0.75rem 2.375rem;
}

.products__item-content-group {
    display: inline-flex;
    width: 100%;
    flex: 1 0 auto;
}

.products__item-content-group-pax {
    flex: 1 0 35%;
}

.products__item-content-group-name {
    flex: 1 0 65%;
    color: #007cc3;
}

.products__item--full {
    flex: 1 0 100%;
    display: block;
    max-width: 100%;
    margin-bottom: 1em;
}

    .products__item--full:nth-child(2n+1):nth-last-child(-n+2), .products__item--full:nth-child(2n+1):nth-last-child(-n+2) ~ .products__item--full {
        margin-bottom: 2em;
    }

    .products__item--full:last-child {
        margin-bottom: 0 !important;
    }

@media screen and (max-width: 767px) {
    .products {
        display: block;
    }

    .products__item {
        max-width: none;
    }

        .products__item:nth-child(2n+1):nth-last-child(-n+2),
        .products__item:nth-child(2n+1):nth-last-child(-n+2) ~ .products__item {
            margin-bottom: 1em;
        }

        .products__item:last-child {
            margin-bottom: 0 !important;
        }

    .products__item-group .products__item-wrapper:nth-child(2n+1):nth-last-child(-n+2),
    .products__item-group .products__item-wrapper:nth-child(2n+1):nth-last-child(-n+2) ~ .products__item-wrapper {
        margin-bottom: 1em;
    }

    .products__item-group .products__item-wrapper:last-child {
        margin-bottom: 0 !important;
    }

    .products__item-group .products__item-wrapper {
        max-width: none;
    }

        .products__item-group .products__item-wrapper:not(.products__item-wrapper--full) {
            flex: 1 0 100;
            max-width: 100%;
        }

    .products__item-group .products__item-wrapper--full {
        max-width: 100%;
    }
}

@media screen and (max-width: 649px) {
    .products__item-header {
        font-size: 20px;
    }

    .products__item-content-group, .products__item-content-group-name, .products__item-content-group-pax {
        display: block;
    }
}

/* REMARKS */
.remarks {
    border-left: 1em solid #007cc3;
    background-color: #f2f2f2;
    padding: 1em 2em;
    max-width: 100%;
    flex: 1 1 100%;
}

    .remarks p {
        margin-bottom: 0;
    }

/*
    FLIGHT DETAILS
    */
.flight-details {
    padding: 0;
    box-sizing: border-box;
}

    .flight-details * {
        box-sizing: border-box;
    }

.flight-details__header {
    display: flex;
    padding: 1.5rem 1.375rem;
}

.flight-details__header-itinerary {
    display: flex;
    flex: 1 0 75%;
    justify-content: space-between;
}

.flight-details__header-info {
    display: flex;
    flex-direction: column;
    flex: 1 1 25%;
    border-left: 2px solid #cce7f3;
    padding-left: 1em;
    justify-content: center;
}

.flight-details__info {
    width: 100%;
}

.flight-details__info-date-wrapper {
    display: flex;
    flex: 1 0 100%;
    align-items: flex-start;
}

    .flight-details__info-date-wrapper img {
        padding-right: 0.5em;
    }

.flight-details__info-date {
    margin-bottom: .5em;
    font-size: 1em;
}

    .flight-details__info-date span {
        display: block;
        color: #007cc3;
        font-weight: 400;
    }

.flight-details__info-airport {
    font-size: 22px;
    color: #333;
    font-weight: 700;
}

.flight-details__plane-icon-wrapper {
    width: 50%;
    text-align: center;
}

.flight-details__plane-icon {
    display: inline-block;
    border: 2px solid #cce7f3;
    border-radius: 50%;
    padding: 0.75em;
}

    .flight-details__plane-icon img {
        transform: rotate(45deg);
        width: 25px;
        height: 25px;
    }

.flight-details thead tr {
    border-bottom: 1px solid #e5f2f9;
    border-top: 1px solid #e5f2f9;
}

.flight-details th {
    color: #999;
    font-weight: 400;
}

.flight-details table img.logo {
    height: 24px;
}

.flight-details__remark {
    padding: 0 1.375rem;
}

.flight-details__remark-comments:last-child {
    padding-bottom: 0.75rem;
}

.flight-details__remark-comments h5 {
    display: inline-block;
    margin: 0;
}

.flight-details__remark-comments p {
    display: inline;
}

@media screen and (max-width: 767px) {
    .flight-details__header {
        display: block;
    }

    .flight-details__header-info {
        margin-top: 1em;
        border-left: 0;
        padding-left: 0;
    }
}

@media screen and (max-width: 649px) {
    .flight-details__header-itinerary {
        display: block;
    }

    .flight-details__info {
        display: flex;
    }

    .flight-details__info-date-wrapper {
        display: flex;
        flex: 1 1 auto;
    }

    .flight-details__info-date {
        margin-bottom: 0;
    }

    .flight-details__info-airport {
        font-size: 18px;
    }

    .flight-details__plane-icon-wrapper {
        width: 100%;
        padding: 0.5em 0;
    }
}

@media screen and (max-width: 499px) {
    .flight-details__info {
        display: block;
    }

    .flight-details__info-date {
        margin-bottom: 0.5em;
    }
}

/*
    EXCURSIONS
*/
.excursions__title-content {
    display: inline-block;
    vertical-align: text-top;
    margin: 0;
}

    .excursions__title-content span {
        display: block;
        color: #333;
        font-size: 0.6em;
    }

.excursions__title {
    font-size: 1.25em;
    font-weight: bold;
}

.excursion-voucher .voucher__wrapper {
    border-bottom: 0;
}

.excursion-voucher__content {
    border: 2px dotted #9f9f9f;
    border-top: 0;
    padding: 0.75em;
}

/*
    INSURANCE
*/
.insurance__details {
    background-color: #f2f2f2;
    padding: 1em;
    margin-bottom: 1em;
}

.insurance__details-title {
    font-size: 1.25em;
    font-weight: bold;
}

.insurance__details-description {
    display: flex;
    flex: 1 0 auto;
    justify-content: space-between;
}

    .insurance__details-description img {
        align-self: flex-start;
        padding-right: 2em;
        max-width: 150px;
    }

    .insurance__details-description p {
        flex: 1 1 auto;
        margin: 0;
    }

.insurance__policy {
    margin-bottom: 1em;
}

    .insurance__policy > p {
        padding: 0 1em;
    }

.insurance__policy-details {
    display: flex;
    flex: 1 0 auto;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 1em;
    margin-bottom: 1em;
}

    .insurance__policy-details p {
        margin: 0;
    }

.insurance__policy thead tr {
    border-bottom: 1px solid #e5f2f9;
    border-top: 1px solid #e5f2f9;
}

.insurance__policy th {
    color: #999;
    font-weight: 400;
}

.insurance__policy th,
.insurance__policy td {
    padding: 0.75rem 1rem;
}

@media screen and (max-width: 639px) {
    .insurance__details-description {
        display: block;
    }

        .insurance__details-description img {
            padding-right: 0;
            padding-bottom: 1em;
            max-width: 100%;
            width: 100%;
        }
}

/*
    IMPORTANT / AIRLINE INFO
*/
.edoc-info {
    margin-top: 0;
}

    .edoc-info > .edoc-content__wrapper > br {
        display: none;
    }

    .edoc-info tr td {
        padding: 0;
    }

    .edoc-info ol {
        padding-left: 1em;
        margin-bottom: 0.75em;
    }

        .edoc-info ol li {
            list-style: decimal;
        }

.edoc-spacer {
    display: block;
    width: 100%;
    height: 3px;
    margin-bottom: 1em;
}

/*
    ADS
*/

.edoc-ad__wrapper img {
    display: block;
    width: 100%;
    height: auto;
}

/*
    GROUP
*/

.edoc__group-overview-row-body {
    border-top: 1px solid #e4e4e4;
}

.edoc__group-passenger {
    display: flex;
    align-items: baseline;
    margin-top: 1em;
}

.edoc__group-passenger-num {
    box-sizing: border-box;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    border: 3px solid #007cc3;
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    align-items: center;
    background-color: white;
    margin-right: .5em;
    font-size: 2em;
}

.edoc__group-passenger-details-wrapper {
    flex: 1 1 auto;
}

.edoc__group-passenger-details {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    border-top: 1px solid #d3ebf4;
    border-bottom: 1px solid #d3ebf4;
    flex: 1 1 auto;
}

.edoc__group-passenger-name {
    font-size: 28px;
    font-weight: 700;
    flex: 1 0 auto;
    align-self: center;
    padding: 0.75rem 0;
}

.edoc__group-passenger-flight-wrapper {
    display: flex;
    flex-wrap: wrap;
    flex: 0 1 auto;
}

.edoc__group-passenger-flight {
    flex: 1 0 auto;
    padding: 0.75rem 0;
}

    .edoc__group-passenger-flight:last-of-type {
        margin-right: 0;
    }

.edoc__group-passenger-flight-code {
    font-weight: bold;
    font-size: 18px;
}

.edoc__group-passenger-flight p {
    margin-bottom: 0;
    padding-right: 2em;
}

@media screen and (max-width: 768px) {
    .edoc__group-passenger {
        position: relative;
        display: block;
    }

    .edoc__group-passenger-num {
        position: absolute;
        font-size: 1.5em;
        width: 1.5em;
        height: 1.5em;
        flex-basis: 1.5em;
        left: -2.125em;
        top: 0.375em;
    }

    .edoc__group-passenger-flight-wrapper {
        flex-basis: 100%;
    }
}

@media screen and (max-width: 639px) {
    .edoc__group-passenger-num {
        left: 0;
        top: 0.5rem;
    }

    .edoc__group-passenger-name {
        padding-left: 3rem;
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 649px) {
    .edoc__group-passenger-name {
        flex: 1 1 100%;
        margin-bottom: 0.125rem;
    }
}


/* VOUCHER + TRANSFERS */
.voucher {
    display: block;
    position: relative;
    width: 100%;
    border-left: 1em solid #f36f21;
    box-sizing: border-box;
}

.voucher__scissors {
    position: absolute;
    z-index: 3;
    top: -15px;
    left: 1em;
    max-width: 32px;
}

.voucher__wrapper {
    border: 2px dotted #9f9f9f;
    border-left-width: 0;
}

.voucher__detail {
    display: flex;
    justify-content: space-between;
}

.voucher__detail-info {
    flex: 1 0 75%;
    display: flex;
    flex-wrap: nowrap;
    background-color: #f2f2f2;
    padding: 0.5em 0 1em;
}

.voucher__detail-info-wrapper {
    flex: 1 0 60%;
    padding: 0.75em 0.5em 0;
}

    .voucher__detail-info-wrapper p:last-of-type {
        margin-bottom: 0;
    }

    .voucher__detail-info-wrapper:last-of-type {
        flex: 1 1 40%;
    }

.voucher__detail-price {
    flex-basis: 25%;
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    font-weight: bold;
    padding: 0;
}

    .voucher__detail-price img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
    }

    .voucher__detail-price span {
        color: white;
        font-size: 25px;
        z-index: 1;
    }

.voucher__content {
    padding: 0.75em;
}

.voucher__content-passengers {
    margin-bottom: 2em;
}

    .voucher__content-passengers ol {
        list-style: decimal;
        list-style-position: inside;
        column-count: 3;
    }

.voucher__content-terms * {
    font-size: 14px;
}

.voucher__content-terms .voucher__content-terms-label {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 0;
}

.voucher__content-terms hr {
    margin-top: 0.5em;
}

/* VOUCHER - TRANSFERS MODIFIER */
.voucher--transfers {
    border: 0;
}

    .voucher--transfers .voucher__scissors {
        left: 2em;
    }

    .voucher--transfers .voucher__wrapper {
        border-left-width: 2px;
    }

    .voucher--transfers .voucher__detail {
        display: block;
    }

    .voucher--transfers .voucher__detail-info {
        flex: 1 0 100%;
        padding: 0.5em 1em 1em;
    }

    .voucher--transfers .voucher__detail-info-wrapper {
        flex: 1 1 auto;
        padding-bottom: 0;
    }

        .voucher--transfers .voucher__detail-info-wrapper p {
            margin-bottom: 0;
        }

    .voucher--transfers .voucher__content {
        padding: 0.75em 1.75em;
    }

    .voucher--transfers .voucher__content-passengers {
        margin-bottom: 1em;
    }

@media screen and (max-width: 767px) {
    .voucher__detail-info {
        display: block;
        flex: 1 0 auto;
    }

    .voucher--transfers .voucher__detail-info {
        display: flex;
        flex-wrap: wrap;
    }

    .voucher--transfers .voucher__detail-info-wrapper {
        flex: 1 1 40%;
    }

    .voucher--transfers .voucher__content {
        padding: 0.75em 1.5em;
    }

    .voucher__content-passengers ol {
        column-count: 2;
    }
}

@media screen and (max-width: 649px) {
    .voucher__wrapper {
        border-top-width: 0;
    }

    .voucher--transfers .voucher__wrapper {
        border-top-width: 2px;
    }

    .voucher__detail {
        flex-direction: column-reverse;
    }

    .voucher--transfers .voucher__detail-info {
        display: block;
    }

    .voucher__detail-price {
        padding: 0.5em;
    }

    .voucher__content-passengers ol {
        column-count: 1;
    }
}

/*
    MOBILE EDOC STYLES
    */


@media screen and (max-width: 991px) {
    .byg-wrapper {
        flex-basis: 100%;
    }

    .edoc-content__wrapper.edoc-info-col {
        flex-basis: 100%;
    }

    .edocs-header {
        display: block;
    }

    .headerBlurb {
        margin-bottom: 15px;
    }

    .headerCTA {
        display: block;
    }

        .headerCTA .btn {
            display: inline-block;
            margin-bottom: 10px;
        }
}

@media screen and (max-width: 767px) {
    .flex-half {
        flex-basis: 100%;
    }

    .itinerary__wrapper-col:last-of-type {
        margin-top: 1em;
    }

    .flights-itinerary {
        flex-wrap: wrap;
    }

    .flights-band-left {
        margin-top: 1em;
    }

    .flights-band-left, .flights-band-right {
        flex-basis: 100%;
    }

        .flights-band-right .flights-band-right__wrapper {
            border: none;
            padding-left: 0;
        }

    .flights-details .edoc-content__wrapper b {
        margin-bottom: 0;
    }

    .flights-details {
        flex-wrap: wrap;
        margin-bottom: 0;
        margin-top: 0;
    }

        .flights-details .edoc-content__wrapper {
            flex: 0 0 50%;
            margin-bottom: 1em;
        }

            .flights-details .edoc-content__wrapper:last-of-type {
                flex-basis: 100%;
            }

    .flights-remark {
        margin-top: 0;
    }

    .flight-itinerary-right-border {
        height: 100%;
    }

        .flight-itinerary-right-border img {
            height: 100%;
        }

    .flights-itinerary ~ .edoc-main {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .edoc-badge {
        margin-top: 1em;
        display: block;
    }

    .excursions__sw-logo {
        margin-top: 1em;
    }

    .excursions__detail-header-wrapper {
        flex-wrap: wrap;
    }

    .excursions__detail-header-right {
        justify-content: flex-start;
    }

    .excursions__detail-wrapper {
        align-items: flex-start;
    }

    .byg-wrapper > .byg-wrapper__content {
        flex-basis: 100%;
    }
}

@media screen and (max-width: 479px) {
    .byg-icon-text {
        display: block;
    }
}

@page {
    margin: 12mm 10mm;
    size: auto;
}

@media print {
    body {
        margin: 0;
        -webkit-print-color-adjust: exact;
    }

    .container {
        padding: 0;
    }

    .bg-gradient, .blue-bg {
        /*background: none;*/
    }

    section > .edoc-main {
        margin-bottom: 0;
        padding: 0;
    }

    /* Group Specific Styling */
    section.group-overview-wrapper > .edoc-main {
        padding: 1em;
    }

        section.group-overview-wrapper > .edoc-main > .edoc-main__container {
            margin: 0;
        }

    .edoc-main.group {
        padding: 0;
    }

    .edoc__group-passenger {
        padding: 0 1em;
    }

    .group .itinerary__wrapper {
        padding: 0.5em 0;
    }

    .edoc__group-passenger-name {
        font-size: 18px;
    }

    .edoc__group-passenger-flight-code {
        font-size: 14px;
    }

    .printableHeader {
        page-break-before: always;
    }

    #airline-info, #important-info, #edoc-ads {
        page-break-before: always
    }

    .edoc-main__container {
        page-break-inside: avoid;
    }

    /* Ensure that the first header of the page does not create a blank page */
    .edocs-main-container > .printableHeader:first-of-type {
        page-break-before: avoid;
    }

    /* Groups EDocs - Ensure the first header doesn't create a balnk page */
    .group-overview-wrapper .printableHeader {
        page-break-before: avoid;
    }

    /* Groups Edocs - Override logic ensures all other headers create a blank page */
    .group-overview-wrapper ~ .printableHeader:first-of-type {
        page-break-before: always;
    }

    /* Remove / Hide Sections not needed for printing*/
    body > .wrapper, .edoc-section-header__bg, #edocs-header, #before-you-go, #while-away, .EdocMainTitle {
        display: none;
    }

    /* Update global font sizes */
    p, .edoc-content__wrapper tr td, span, div, li {
        font-size: 12px;
    }

    /* Shared Styling for Section Titles*/
    .EdocSectionTitle {
        width: 100%;
        display: block;
        font-size: 24px;
    }

        .EdocSectionTitle img {
            max-width: 100% !important;
            width: 24px;
        }

    .edoc-content__wrapper h3 {
        padding-bottom: 0;
    }

    .EdocSubSectionTitle {
        font-size: 16px;
        color: #333;
    }

    .responsive-table {
        overflow: visible;
    }

        .responsive-table table {
            page-break-inside: avoid;
        }

        .responsive-table th,
        .responsive-table td {
            white-space: normal;
            word-break: normal;
            padding: 0.75rem;
        }

    /* Itinerary Details (Booking Detail + Agency Information) */
    .itinerary__wrapper {
        margin: 0;
        padding: 0.5em 1em;
        min-height: 0;
    }

    /* Passengers */
    .passengers__baggage-icon-wrapper {
        align-items: center;
        min-height: 0;
    }

        .passengers__baggage-icon-wrapper img {
            width: 25px;
        }

    /* Flight Details */
    #flights .edoc-main__container,
    #flights .products__item,
    #flights .products__item-group {
        display: block;
        page-break-inside: auto;
        min-height: 100%;
    }

    #flights .products {
        display: block;
    }

    #flights .products__item-wrapper {
        page-break-inside: avoid;
        min-height: 100%;
    }

    .edoc-airport-title {
        font-size: 18px;
    }

    /*
        PRODUCTS (FLIGHT / HOTEL / CRUISE / AIRPORT LOUNGE / PRE-ORDER MEALS / BAGGAGE)
        */
    .products {
        margin: 0;
        min-height: 100%;
    }

    .products__item {
        page-break-inside: avoid;
    }

    .products__item-header {
        display: block;
        font-size: 16px;
        color: #333;
        padding: 0;
    }

    .products__item-group {
        page-break-inside: avoid;
    }

    ..products__item-content {
        padding: 0;
    }

    .products__item-content-heading {
        font-size: 14px;
    }

    .products__item-content {
        padding: 0;
    }

    ol.products__item-content {
        padding: 0 0.75rem;
    }

    .products__item-content-group-name {
        color: #333;
    }

    .remarks {
        position: relative;
        padding: 0.5em 1em 0.5em 2em;
        border: 1px solid #f2f2f2;
        border-left: 0;
        page-break-inside: avoid;
    }

        .remarks::before {
            position: absolute;
            content: "";
            display: block;
            border-left: 1em solid #007cc3;
            left: 0;
            top: -1px;
            bottom: -1px;
        }

    /* Flights Details */
    .flight-details {
        min-height: 0;
    }

        .flight-details * {
            min-height: 0;
        }

    .flight-details__header {
        padding: 1em 0;
        min-height: 0;
    }

    .flight-details__remark {
        padding: 0 0 0.5em;
    }

    .flight-details__info-airport {
        font-size: 14px;
    }

    .flight-details__remark-comments h5 {
        font-size: 12px;
        display: block;
    }
    /* Hotels Details */
    .excursions__detail-info-wrapper {
        margin-top: 0;
    }

    .experiences-logo {
        width: 80%;
    }

    #excursions .edoc-main-cutout-border > .edoc-main[class*="border"] {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    /* Voucher */
    .voucher {
        page-break-inside: avoid;
    }

    .voucher__scissors {
        top: -11px;
        left: 1em;
        max-width: 22px !important;
    }

    .voucher__content-terms * {
        font-size: 10px;
    }

    .voucher__detail-info {
        border-bottom: 1px solid #f2f2f2;
    }

    .voucher__detail-info-wrapper {
        padding: 1.25em 0.75em 0;
    }

    .voucher__content-terms .voucher__content-terms-label {
        font-size: 12px;
    }

    .voucher__detail-price span {
        color: rgba(0, 0, 0, 0);
        text-shadow: 0 0 0 #fff !important;
    }

    /* Excursion */
    .excursion-voucher {
        page-break-inside: avoid;
    }

        .excursion-voucher .voucher {
            page-break-inside: auto;
        }

    .excursions__title-content {
        font-size: 24px;
    }

    .excursions__title {
        font-size: 14px;
    }

    /* Airline Info and Travel Information Guide */
    .edoc-info tr td {
        padding: 0;
    }

    .edoc-info li, .edoc-info p {
        font-size: 10px;
    }

    .edoc-info > .edoc-content__wrapper {
        padding: 0;
    }

    .edoc-spacer {
        margin-top: 0;
    }

    /* Excursion Details */
    .edoc-content__wrapper.excursions__title {
        flex-basis: 100%;
    }

    .excursions__title-content {
        flex: 1 0 auto;
    }

    .edoc-content__wrapper.edoc-info-col {
        flex-basis: 100%;
    }
}

/* Print Header with Logo and "Your itinerary" */
.e-docs-print-header {
    display: none;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    height: 76px;
    padding: 1em 2em;
    margin-bottom: .5em;
    text-align: right;
    line-height: 76px;
    -webkit-print-color-adjust: exact;
}

    .e-docs-print-header ~ .e-docs-print-header {
        page-break-before: always;
    }

.e-docs-print-header__logo {
    max-height: 50px;
    width: auto;
}

.e-docs-print-header__title {
    font-size: 30px;
    color: #ff6000;
}

@media print {
    .e-docs-print-header {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }

    .e-docs-print-header__logo--pdf {
        display: none;
    }
}

.e-docs > *:last-child {
    page-break-before: auto;
    page-break-after: auto;
}

.e-docs-section,
.e-docs-section * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.e-docs-section {
    border: 1px solid #cccccc;
    -webkit-box-shadow: 0 -3px 0 0 #ff6000;
    box-shadow: 0 -3px 0 0 #ff6000;
    border-top: 0;
}

    .e-docs-section + .e-docs-section {
        margin-top: 2rem;
    }

    .e-docs-section h2 {
        font-size: 20px;
    }

    .e-docs-section a[href]:after {
        content: none !important;
    }

.e-docs-section__header {
    background-color: #f2f2f2;
    padding: 1rem;
}

    .e-docs-section__header .icon-text__icon {
        -webkit-align-self: center;
        -ms-flex-item-align: center;
        align-self: center;
    }

    .e-docs-section__header h2 {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 100%;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
        font-size: 1.5rem;
        margin: 0;
        color: #333333;
    }

.e-docs-section__header-container--booking-details, .e-docs-section__header-container--agency-information {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0;
    -ms-flex: 0 0;
    flex: 0 0 100%;
    margin-bottom: 1rem;
}

@media (min-width: 576px), print {
    .e-docs-section__header-container--booking-details, .e-docs-section__header-container--agency-information {
        -webkit-flex-basis: calc(50% - 0.5rem);
        -ms-flex-preferred-size: calc(50% - 0.5rem);
        flex-basis: calc(50% - 0.5rem);
        margin-bottom: 0;
    }
}

@media (min-width: 992px), print {
    .e-docs-section__header-container--booking-details, .e-docs-section__header-container--agency-information {
        -webkit-flex-basis: calc(25% - 1rem);
        -ms-flex-preferred-size: calc(25% - 1rem);
        flex-basis: calc(25% - 1rem);
    }
}

.e-docs-section__header-container--booking-details .icon-text__icon, .e-docs-section__header-container--agency-information .icon-text__icon {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.e-docs-section__header .before-you-travel {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0;
    -ms-flex: 0 0;
    flex: 0 0;
    -webkit-flex-basis: calc(100% + 1rem);
    -ms-flex-preferred-size: calc(100% + 1rem);
    flex-basis: calc(100% + 1rem);
}

@media (min-width: 992px), print {
    .e-docs-section__header .before-you-travel {
        -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    }
}

.e-docs-section__container {
    padding: 1rem;
}

.e-docs-section--overview {
    margin-bottom: 2rem;
}

.e-docs-section--booking-info + .e-docs-section {
    page-break-before: avoid;
    margin-top: 0;
}

.e-docs-section--overview .itinerary__table tbody tr:nth-child(even) td {
    background-color: #f2f2f2;
}

.e-docs-section--booking-info .e-docs-section__header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media (min-width: 992px), print {
    .e-docs-section--booking-info .e-docs-section__header {
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
}

.e-docs-section--booking-info h2 {
    margin: 0 0 1rem 0;
}

.e-docs-section h3 {
    margin: 0;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1.5rem;
    line-height: 2rem;
}

.icon-text {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    margin: 0;
}

.icon-text__icon {
    color: #ff6000;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 1rem;
    -ms-flex: 0 0 1rem;
    flex: 0 0 1rem;
    margin-right: 0.5rem;
}

.icon-text + .icon-text {
    margin-top: 0.5rem;
}

.before-you-travel {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-left: -1rem;
}

@media (min-width: 576px), print {
    .before-you-travel {
        margin-top: 2rem;
    }
}

@media (min-width: 992px), print {
    .before-you-travel {
        margin-top: 0;
        margin-left: 0;
    }
}

.before-you-travel__image {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.3333333333%;
    -ms-flex: 0 0 33.3333333333%;
    flex: 0 0 33.3333333333%;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: top center;
}

@media (min-width: 576px), print {
    .before-you-travel__image {
        margin-top: -1rem;
        margin-bottom: -1rem;
    }
}

.before-you-travel__container {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 100%;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;
    padding-left: 1rem;
}

.before-you-travel__steps {
    display: none;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    padding: 0;
    list-style: none;
    color: #005b9e;
    font-weight: 700;
    margin-bottom: 0;
}

    .before-you-travel__steps > li {
        position: relative;
        line-height: 20px;
    }

        .before-you-travel__steps > li a {
            color: #005b9e;
            font-weight: 700;
            text-decoration: none;
        }

            .before-you-travel__steps > li a:hover, .before-you-travel__steps > li a:focus {
                text-decoration: underline;
            }

        .before-you-travel__steps > li:not(:last-of-type) {
            padding-right: 1.5rem;
        }

            .before-you-travel__steps > li:not(:last-of-type):after {
                font-family: "swg-icons";
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
                font-style: normal;
                font-variant: normal;
                font-weight: normal;
                text-decoration: none;
                text-transform: none;
                content: "\E00D";
            }

            .before-you-travel__steps > li:not(:last-of-type)::after {
                position: absolute;
                color: #ff6000;
                right: 0;
                top: 50%;
                -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
            }

        .before-you-travel__steps > li:not(:first-of-type) {
            padding-left: 1rem;
        }

@media (min-width: 360px) {
    .before-you-travel__steps--mobile {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        max-width: 100%;
        margin-top: 1rem;
    }
}

@media (min-width: 576px), print {
    .before-you-travel__steps {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }

    .before-you-travel__steps--mobile {
        display: none;
    }
}

.horizontal-list {
    padding: 0;
    margin: 1rem 0;
    list-style-type: decimal;
    list-style-position: inside;
}

@media (min-width: 576px), print {
    .horizontal-list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-flex: 1;
        -webkit-flex: 1 0 100%;
        -ms-flex: 1 0 100%;
        flex: 1 0 100%;
        margin: 0.5rem 0 0 -1rem;
    }
}

@media (min-width: 576px), print {
    .horizontal-list li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0;
        -ms-flex: 0 0;
        flex: 0 0;
        -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        padding: 0.5rem 0 0 1rem;
    }
}

@media (min-width: 768px), print {
    .horizontal-list li {
        -webkit-flex-basis: calc(100% / 3);
        -ms-flex-preferred-size: calc(100% / 3);
        flex-basis: calc(100% / 3);
    }
}

.itinerary {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .itinerary h4 {
        margin: 1.5rem 0;
        line-height: 2rem;
    }

.itinerary__type {
    background-color: #333333;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 8px 10px;
    margin-right: 1rem;
}

.itinerary__type-label {
    display: block;
    margin-top: 0.5rem;
}

@media (min-width: 768px), print {
    .itinerary__type-label {
        display: inline;
        margin-top: 0;
    }
}

.itinerary__type-icon {
    display: inline-block;
    font-size: 1rem;
    color: #cccccc;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.itinerary > li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    page-break-inside: avoid;
}

    .itinerary > li + li {
        margin-top: 3rem;
        display: block;
    }

.itinerary__container {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 100%;
    -ms-flex: 1 0 100%;
    flex: 1 0 100%;
    max-width: 100%;
}

.itinerary__overview-container {
    margin-bottom: 1rem;
}

@media (min-width: 768px), print {
    .itinerary__overview-container {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: block;
        -webkit-box-flex: 1;
        -webkit-flex: 1 0 100%;
        -ms-flex: 1 0 100%;
        flex: 1 0 100%;
    }
}

.itinerary__overview + .itinerary__overview {
    margin-top: 0.5rem;
}

@media (min-width: 768px), print {
    .itinerary__overview + .itinerary__overview {
        margin-top: 0;
    }
}

@media (min-width: 768px), print {
    .itinerary__overview {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    }

        .itinerary__overview:first-child {
            -webkit-flex-basis: 50%;
            -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
        }
}

@media (min-width: 992px), print {
    .itinerary__overview:first-child {
        -webkit-flex-basis: 75%;
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
    }
}

.itinerary__table {
    width: 100%;
    border-collapse: collapse;
}

.itinerary__table-container {
    margin: 2rem -1rem 0 -1rem;
    overflow-x: auto;
}

.itinerary__table-container--top {
    margin: -1rem;
}

.itinerary__table thead th {
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
    padding: 0.5rem 1rem;
    white-space: nowrap;
    text-align: left;
    font-weight: 700;
}

.itinerary__table td {
    padding: 1rem;
    white-space: nowrap;
}

.itinerary__table-column-airline {
    width: 23.5%;
}

.itinerary__table-column-flight {
    width: 18%;
}

.itinerary__table-column-flight {
    width: 17.5%;
}

.itinerary__table-column-via {
    width: 17.5%;
}

.itinerary__table-column-passenger {
    width: 23.5%;
}

.itinerary__info {
    background-color: #f2f2f2;
    margin: 1rem -1rem -1rem -1rem;
    padding: 1rem;
    font-size: 14px;
    line-height: 18px;
    min-width: 100%;
}

    .itinerary__info strong {
        font-size: 1rem;
    }

    .itinerary__info p {
        margin: 0;
    }

        .itinerary__info p:first-of-type:not(:last-child) {
            margin-bottom: 0.5rem;
        }

.e-docs-notes {
    page-break-before: avoid;
    margin-top: 2rem;
}

.e-docs-notes__header {
    padding: 1rem 0 0;
}

    .e-docs-notes__header h2 {
        margin: 0;
        color: #333333;
    }

.e-docs-notes__container {
    padding: 1rem 0;
}

@page {
    margin-left: 4mm;
    margin-right: 4mm;
}

@media print {
    html,
    body {
        height: auto;
        margin: 0;
        padding: 0;
    }

    body {
        margin: 0;
        color: #333;
        font-size: 14px;
        line-height: 16px;
        background-color: #fff;
    }

    .container {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    .e-docs-section {
        border-top: 3px solid #ff6000;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

        .e-docs-section h2 {
            font-size: 18px;
        }

        .e-docs-section h4 {
            margin: 0;
            margin-bottom: 1rem;
        }

    .e-docs-section__header {
        border-bottom: 1px solid #cccccc;
    }

    .e-docs-section--booking-info .before-you-travel {
        display: block;
        margin-top: 0;
        margin-left: 0;
    }

    .e-docs-section--booking-info .before-you-travel__image {
        display: none;
    }

    .itinerary__type {
        background: transparent;
        color: #333333;
        padding: 0;
    }

    .itinerary {
        page-break-before: avoid;
        page-break-after: avoid;
    }

        .itinerary > li + li {
            margin-top: 1rem;
            padding-top: 1rem;
            border-top: 2px dashed #cccccc;
        }

    .itinerary__info {
        font-size: 12px;
        line-height: 14px;
    }

    .itinerary__table thead th,
    .itinerary__table td {
        white-space: normal;
    }

    .e-docs-notes {
        margin-top: 0;
    }

    .e-docs-notes__container {
        padding: 0;
    }

    .itinerary > li {
        display: inline;
    }

    .e-docs-section {
        page-break-after: avoid;
    }


    .e-docs-section--booking-info + .e-docs-section {
        page-break-before: avoid;
    }
}
