/* SETS OBJECT INTERNAL DIMENSIONS TO BE AS SPECIFIED MINUS PADDING AND BORDER */
html, body, div, header, p, h1, h2, h3, h4 {
    box-sizing: border-box;
}

body {
    font-size: 13px;
    color: #473729;
    background-color: #d6d2c4;
}

header {
    width: 100%;
    height: 80px;
    margin: 0;
    position: relative;
    padding: 20px 0px 0px 0px;
    /* GRADIENT BACKGROUND */
    background: #413225;
    background: -moz-linear-gradient(top, #413225 0%, #32251b 100%);
    background: -webkit-linear-gradient(top, #413225 0%,#32251b 100%);
    background: linear-gradient(to bottom, #413225 0%,#32251b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#413225', endColorstr='#32251b',GradientType=0 );
}

.main-area {
    max-width: 740px;
    margin: 0 auto;
    padding: 30px 0 10px 0;
    background-color: white;
}

footer {
    font-size: 0.95em;
    color: #473729;
    padding: 0 0 30px 0
}

p {
    margin-top: 0;
}

h1 {
    font-family: calibri, helvetica, arial, sans-serif;
    font-weight: normal;
    font-size: 2em;
    margin: 0px 0 20px;
    color: black;
}

h2, .reservation-number {
    margin: 20px 0 10px 0;
    color: #857260;
    font-size: 1.25em;
    font-family: 'Arial Narrow', Arial, Helvatica, sans-serif;
    letter-spacing: .1px;
    text-transform: uppercase;
}

.no-padding {
    padding: 0 !important;
}

.no-margin {
    margin: 0 !important;
}

/* SET FORM WIDTH HERE */
.wrapper {
    width: 100%;
    max-width: 740px;
    padding: 0 20px;
    margin: 0 auto;
}

.wrapper:after {
    display: table;
    content: " ";
    clear: both;
}

.logo-container {
    width: 33%;
    float: left;
}

.logo-link {
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
}

.logo {
    width: 241px;
}

.header-links {
    float: right;
    width: 63%;
    margin-top: 5px;
    text-align: right;
}

.header-link {
    display: inline-block;
    text-decoration: none;
    background-color: #bed600;
    color: black;
    padding: 5px 10px;
    margin: 0 0 0 10px;
}

.header-link:hover {
    background-color: #bed633
}

.pnr {
    font-weight: bold;
    color: #473729;
    margin: 0 0 0 15px;
}


table.flight-details th,
table.flight-details td {
    padding: 5px 10px;
}

table.flight-details .header-row th {
    border-left: 1px solid #FFF;
    border-right: 1px solid #FFF;
    margin: 0 -1px;
    padding: 10px 0 0 0 !important;
}

tr.flight-row-spacer td {
    padding: 2px 0 0 0;
    border-left: 1px solid white;
    border-right: 1px solid white;
}

.previous-flight .flight-number,
.previous-flight .leg-info {
    text-decoration: line-through;
}

.flight-number {
    background: #f2f2f2;
    font-size: 1.5em;
    text-align: center;
    border: 1px solid #d6d2c4;
}

.dir-label {
    font-family: arial, sans-serif;
    font-size: 10px;
    color: black;
    font-weight: bold;
    float: left;
    margin: 2px 10px 0 0;
}

.leg-info {
    float: left;
}

.port-name {
    font-weight: bold;
    color: #473729;
    font-size: 1.1em;
}

.travel-time-date {
    color: #666;
}

.flight-from, .flight-to {
    width: 41%;
}

.flight-to {
    border-right: 1px solid #c3c8c8;
}

.btn,
input.btn {
    height: 30px;
    padding: 0px 20px;
    border: 0;
    line-height: 1em;
    letter-spacing: 0;
    font-family: calibri, helvetica, arial, sans-serif;
    font-weight: 100;
    text-transform: none;
    font-size: 1.25em;
    border-radius: 0;
    background-color: #F8485E;
    color: white;
}

.btn:hover,
input.btn:hover {
    background-color: #EC0923;
    color: white; 
}

form label {
    line-height: 2.6em;
    vertical-align: middle;
}

.contact-number-table {
    table-layout: unset;
}

.contact-number-table td {
    padding: 0 0 5px 0;
    border: 0;
    vertical-align: top;
}

.contact-number-table .call-from-col {
    width: 31%;
    padding-right: 10px;
}

.footer-detail-strip {
    height: 60px;
    background: transparent url(../images/kaova-white.png) -17px -10px repeat-x;
}

@media(max-width: 640px) {

    table.flight-details,
    table.flight-details thead,
    table.flight-details tbody,
    table.flight-details tr {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .flight-row {
        border-left: 1px solid #ccc;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc; 
    }
    .flight-row::after first-child {
        border-top: 1px solid #ccc;
    } 

    .flight-row th:after,
    .flight-row td:after {
        display: table;
        content: " ";
        clear: both;
    }

    .flight-row-spacer {
        display: block;
        border-bottom: 1px solid #cccccc;
    }

    table.flight-details .header-row th {
        display: block;
    }

    .flight-number,
    .flight-from,
    .flight-to {
        display: block;
        width: 100%;
        border: 0;
        box-sizing: border-box;
    }

    .dir-label {
        width: 100%;
        display: block;
    }

    .flight-number {
        border-bottom: 1px solid #ccc;
    }

    .btn.accept-changes {
        width: 100%;
        font-weight: normal;
    }

    footer .footer-text {
        text-align: center;
    }
}
