﻿﻿﻿html {
    font-size: 14pt;
}

body {
    margin: 0;
    padding: 0;
    background-color: #eee;
    line-height: 1.41;
    position: relative;
    font-family: sans-serif;
}

div {
    box-sizing: border-box;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}


/* *********************** */
/* Base Layout Grid styles */
/* *********************** */
.container {
    position: relative;
    width: 100%;
    max-width: 700px;
    min-width: 360px;
    margin: 0 auto;
    padding: 0 0px;
    box-sizing: border-box;
}

div[class*="col-"] {
    width: 100%;
    float: left;
    box-sizing: border-box;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/* for devices larger than 420px */
@media (min-width: 420px) {
    .container {
        width: 85%;
        padding: 0;
    }
}

/* for devices larger than 600px */
@media (min-width: 600px) {
    .container {
        width: 80%;
    }

    div[class*="col-"] {
        margin-left: 4%;
    }

        div[class*="col-"]:first-child {
            margin-left: 0;
        }

    .col-1 {
        width: 4.66666666667%;
    }

    .col-2 {
        width: 13.3333333333%;
    }

    .col-3 {
        width: 22%;
    }

    .col-4 {
        width: 30.6666666667%;
    }

    .col-5 {
        width: 39.3333333333%;
    }

    .col-6 {
        width: 48%;
    }

    .col-7 {
        width: 56.6666666667%;
    }

    .col-8 {
        width: 65.3333333333%;
    }

    .col-9 {
        width: 74.0%;
    }

    .col-10 {
        width: 82.6666666667%;
    }

    .col-11 {
        width: 91.3333333333%;
    }

    .col-12 {
        width: 100%;
        margin-left: 0;
    }

    .third-col {
        width: 30.6666666667%;
    }

    .two-thirds-col {
        width: 65.3333333333%;
    }

    .half-col {
        width: 48%;
    }
}

.clearfix::after {
    clear: both;
    display: table;
    content: " ";
}


/* *********************** */
/* Button Normalisation */
/* *********************** */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
    display: inline-block;
    height: 38px;
    padding: 0 30px;
    color: #555;
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    line-height: 38px;
    letter-spacing: .1rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border-radius: 30px;
    border: 1px solid #bbb;
    cursor: pointer;
    box-sizing: border-box;
}

    .button:hover,
    button:hover,
    input[type="submit"]:hover,
    input[type="reset"]:hover,
    input[type="button"]:hover,
    .button:focus,
    button:focus,
    input[type="submit"]:focus,
    input[type="reset"]:focus,
    input[type="button"]:focus {
        color: #333;
        border-color: #888;
        outline: 0;
    }

    .button.button-primary,
    button.button-primary,
    input[type="submit"].button-primary,
    input[type="reset"].button-primary,
    input[type="button"].button-primary {
        color: #FFF;
        background-color: #33C3F0;
        border-color: #33C3F0;
    }

        .button.button-primary:hover,
        button.button-primary:hover,
        input[type="submit"].button-primary:hover,
        input[type="reset"].button-primary:hover,
        input[type="button"].button-primary:hover,
        .button.button-primary:focus,
        button.button-primary:focus,
        input[type="submit"].button-primary:focus,
        input[type="reset"].button-primary:focus,
        input[type="button"].button-primary:focus {
            color: #FFF;
            background-color: #1EAEDB;
            border-color: #1EAEDB;
        }


/* ********* */
/*   Forms   */
/* ********* */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
    height: 38px;
    padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
    background-color: #fff;
    border: 1px solid #D1D1D1;
    border-radius: 4px;
    box-shadow: none;
    box-sizing: border-box;
}

select {
    cursor: pointer;
}

/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

textarea {
    min-height: 65px;
    padding-top: 6px;
    padding-bottom: 6px;
}

    input[type="email"]:focus,
    input[type="number"]:focus,
    input[type="search"]:focus,
    input[type="text"]:focus,
    input[type="tel"]:focus,
    input[type="url"]:focus,
    input[type="password"]:focus,
    textarea:focus,
    select:focus {
        border: 1px solid #33C3F0;
        outline: 0;
    }

label,
legend {
    display: block;
    margin-bottom: .25rem;
    font-weight: 400;
}

fieldset {
    padding: 0;
    border-width: 0;
    border: 0;
    margin: 0;
}

input[type="checkbox"],
input[type="radio"] {
    display: inline;
}


/* ********* */
/*   List    */
/* ********* */
ul {
    list-style: circle inside;
}

ol {
    list-style: decimal inside;
}

ol, ul {
    padding-left: 0;
    margin-top: 0;
}

    ul ul,
    ul ol,
    ol ol,
    ol ul {
        margin: 1.5rem 0 1.5rem 3rem;
    }

li {
    margin-bottom: 1rem;
}


/* ******** */
/*  Tables  */
/* ******** */
th,
td {
    padding: .5em 1em;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #E1E1E1;
    border-right: 1px solid #E1E1E1;
}

    th:first-child,
    td:first-child {
        padding-left: 0;
    }

    td:first-child {
        border-left: 1px solid #EEEEEE;
    }

    th:first-child td {
        border: 1px solid #EEEEEE;
    }

    th:last-child,
    td:last-child {
        padding-right: 0;
    }


/* ********** */
/* Typography */ s
/* ********** */
p {
    font-size: 1rem;
    margin-bottom: 1em;
}


/* ********* */
/*  Spacing  */
/* ********* */
p,
ol,
ul,
table {
    margin-bottom: 1rem;
}

form,
fieldgroup {
    margin-bottom: 2rem;
}


/* *************** */
/* Utility Classes */
/* *************** */
.pull-left, .pull-right {
    display: block;
    width: auto;
}

.pull-left {
    float: left;
}

.pull-right {
    float: right;
}


﻿ @font-face {
    font-family: 'Segoe UI',Roboto,Helvetica,Arial,sans-serif'; font-style: normal; font-weight: bold;
    mso-font-alt: 'Arial';
}

body, button.cta {
    font-family: Arial,Helvetica,sans-serif;
    font-size: 0.85rem;
}

header {
    display: block;
    position: relative;
    padding-bottom: .5em;
    height: auto;
}

    header .language-picker label {
        display: inline-block;
    }

    header .language-picker {
        height: 38px;
        float: right;
        margin-bottom: 0;
    }

    header .lang-select-input-group {
        display: inline-block;
        width: auto;
        height: 38px;
        padding-left: 5px;
    }

    header .language-picker * {
        display: inline-block;
        position: relative;
        margin: 0;
        height: 38px;
        line-height: 38px;
        vertical-align: middle;
    }

.logo {
    padding: 5px;
    width: 100%;
    text-align: center;
}

    .logo img {
        width: 228px;
        height: auto;
    }

h2 {
    padding: 12px 0px 12px;
}

main .container {
    background: white url(../images/background-tile-640.gif) top left repeat;
    background-color: white;
    background-size: 100% auto;
    border: 1px solid #ddd;
    margin-bottom: 70px;
}

main .inner-container {
    padding: 0 30px 0;
}

h3 {
    text-transform: none;
    font-size: 1rem;
}

.itin-row {
    position: relative;
    background: #f6f6f6;
    margin-bottom: 16px;
    border-radius: 8px;
    padding: 12px;
}

    .itin-row .flight-num-duration {
        padding: 4px 8px 3px;
        background-color: #e3e8e8;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        margin: -12px -12px 0px;
    }

    .itin-row .flight-num {
        float: Left;
        text-align: left;
        padding-left: 30px;
        background: transparent url(../images/itinerary-plane-black.png) 1px center no-repeat;
        background-size: 25px 25px;
        font-size: 21px;
    }

    .itin-row .port-details label {
        display: inline-block;
        width: auto;
        margin-bottom: 0.5em;
        text-align: right;
        padding-top: 16px;
        font-size: 11px;
        font-weight: 700;
    }

    .itin-row .port-details.arrv label {
        text-align: left;
        padding-top: 16px;
    }

    .itin-row .port-details {
        position: relative;
        float: left;
        width: calc(50% - 40px);
        max-width: 190px;
        background: transparent;
    }

        .itin-row .port-details.arrv {
            float: right;
            text-align: right;
        }

    .itin-row .date {
        line-height: 21px;
        padding-bottom: 0.25em;
    }

    .itin-row .time {
        padding-bottom: .25em;
        line-height: 21px;
        font-size: 20px;
        color: #4e4e4e;
    }

    .itin-row .city-name {
        padding-bottom: .5em;
    }

    .itin-row .plane-infographic {
        display: block;
        position: absolute;
        left: 50%;
        top: 70px;
        width: 30px;
        height: 30px;
        transform: translateX(-50%);
        background: transparent url(../images/itinerary-plane-black.png) center center no-repeat;
        background-size: 95%;
    }

        .itin-row .plane-infographic::before,
        .itin-row .plane-infographic::after {
            display: block;
            position: absolute;
            transform: translatex(calc(-100% - 5px));
            top: 14px;
            width: calc(50vw - 200px);
            max-width: 235px;
            overflow: hidden;
            background-color: transparent;
            color: transparent;
            content: "-";
            border-top: 2px dotted #ccc;
        }

        .itin-row .plane-infographic::after {
            transform: translateX(35px);
            top: 14px;
            width: calc(50vw - 208px);
            max-width: 235px;
        }

.itin-footnote {
    text-align: right;
}

.buttons-container {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 2em;
    margin-top: 3em;
}

button.cta {
    box-sizing: border-box;
    height: 58px;
    text-align: center;
    vertical-align: middle;
    color: white;
    text-transform: none;
    border: 3px solid transparent;
    margin: 0 0.5rem;
    font-size: 1rem;
    font-weight: 500;
}

    button.cta.decline {
        background-color: white;
        border-color: #aa2736;
        color: #aa2736;
    }


        button.cta.decline:hover {
            border-color: #7E1B26;
            color: #7E1B26;
            background-color: white;
        }

    button.cta:focus {
        outline: 2px dotted #333333;
        outline-offset: 3px;
    }

.footer-text {
    font-size: 15px;
    text-align: center;
}

@media(max-width: 630px) {
    header {
        padding: 4px;
    }

    .container {
        padding: 0 !important;
        width: 100% !important;
    }

    h1 {
        line-height: 1.15;
        padding: .5em 0em;
    }

    h2 {
        padding-top: .5em;
    }

    main .inner-container {
        padding: 0 4% !important;
    }

    .logo {
        width: 66.67%;
        padding-left: 4px;
    }

    .itin-row {
        /*        padding: .75em .5em !important;*/
        font-size: 0.7rem;
        border-bottom: 0;
    }

        .itin-row .flight-num-duration {
            /*            margin: 0 -5px;*/
        }


        .itin-row .port-details {
            width: calc(50% - 40px) !important;
        }

        .itin-row .plane-infographic::before,
        .itin-row .plane-infographic::after {
            top: 14px;
            width: calc(50vw - 120px) !important;
            min-width: 80px;
        }

        .itin-row .plane-infographic::after {
            transform: translateX(35px);
            top: 14px;
            width: calc(50vw - 120px);
        }

        .itin-row:last-child {
            border-bottom: 3px solid #eeeeee;
        }
}

@media(max-width: 420px) {
    h2 {
        font-size: 1.25rem;
    }

    button.cta {
        margin: 0 0 0.5rem !important;
        width: 100% !important;
    }
}

@media(max-width: 360px) {
}
