﻿/*Bootstrap overrides*/
::-ms-clear {
	display: none;
}

.noborder {
    border: none !important;
    box-shadow: none;
    padding: 0px;
}

.close {
    opacity: 1;
}

.modal-header {
    border: none;
}

.modal-footer {
    border: none;
    text-align: center;
}

.alert-danger .alert-link {
    color: #fff;
}
/*bootstrap overrides end*/

#page > header.main_header ~ div#content {
    min-height: 805px;
}

div.skip-main {
	background-color: #FFEC00;
}

a.skip-main {
    left: -999px;
    position: absolute;
    top: auto;
    overflow: hidden;
    z-index: -999;
}

	a.skip-main:focus, a.skip-main:active {
		left: 10px;
		top: auto;
		height: auto;
		text-align: center;
		font-size: 1rem;
		z-index: 999;
		width: auto;
		position: relative;
	}

.step-out-footer-link {
    width: 0.5rem;
    height: 0.5rem;
    fill: currentColor;
    margin-left: 0.28rem;
}

.req, .required {
    color: #DC0000 !important;
}

input.req, input.required {
    color: inherit !important;
}

.blueText {
    color: blue;
}

.mrs_lollipopregular {
	font-family: 'mrs_lollipopregular','Source Sans Pro', Helvetica, "Helvetica Neue", sans-serif;
	text-transform: uppercase;
}

h1.mrs_lollipopregular, .h1.mrs_lollipopregular {
	font-size: 3.334rem;
	line-height: 2.889rem;
	text-transform: uppercase;
}

h2.mrs_lollipopregular, .h2.mrs_lollipopregular {
	font-size: 2.223rem;
	line-height: 1.889rem;
	text-transform: uppercase;
}

.center-content {
    display: flex;
    justify-content: center;
    align-items: center;
}

hr {
    border: 0;
    clear: both;
    display: block;
    width: 96%;
    background-color: #CCC;
    height: 1px;
}


input[type="checkbox"] + span {
    padding: .83rem;
}

input[type='text'], input[type='password'], select {
    border: 1px solid #000;
    height: 2.9rem;
    border-radius: 6px;
    font-size: 1rem;
    color: #000;
    padding: .56rem .28rem;
    background-color: #FFF;
}

    input[type='password']:hover, input[type='password']:focus, input[type='text']:hover, input[type='text']:focus, select:hover, select:focus {
        border: 2px solid #0073E6;
        height: 2.9rem;
        border-radius: 6px;
        font-size: 1rem;
        color: #000;
        background-color: #FFF;
    }

.body-container {
    border: 1px solid #ccc;
    border-radius: 6px;
    padding-left: 15px;
    padding-right: 15px;
}

.page-header-container {
    padding: 25px;
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
    background-color: #fff;
}

.largeBodyCopy, .fsHeaderBenefitText {
    font-family: 'Source Sans Pro', Helvetica, "Helvetica Neue", sans-serif;
    font-size: 1.33rem;
    line-height: 1.55rem;
    color: #000;
}

.largeBodyCopyUpper {
    font-family: 'Source Sans Pro', Helvetica, "Helvetica Neue", sans-serif;
    font-size: 1.33rem;
    line-height: 1.55rem;
    color: #000;
    text-transform: uppercase;
}

.bodyCopy{
	font-size: 1rem;
}

.smallCopy {
    font-size: .778rem;
    line-height: 1rem;
}

.legalCopy {
    font-size: .662rem;
}

.buttonHiddenLabel {
    color: transparent
}

.rowList {
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #fff;
    margin-bottom: 10px;
    margin-top: 10px;
    padding: 15px 0px;
    /*max-width:990px;*/
}

.text14Upper {
    /*margin-left: 10px;*/
    text-align: left;
    font-size: 14px;
}

/*triangle for flight info*/

.triangle {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 22.5px;
    border-color: #000 transparent transparent #000;
    float: left;
    position: absolute;
    left: 0;
    top: 0;
}

.triangle-count {
    margin-left: -13px;
    color: white;
    font-weight: 900;
    margin-top: -20px;
    font-size: .83rem;
}

/*Departing and Returning styles*/

#content section.flight_departing {
    color: #333333;
    font-size: 14px;
    margin: 0;
    overflow: hidden;
    padding: 25px 0px 0px 0px;
    position: relative;
}

    #content section.flight_departing header, section.flight_returning header {
        font-weight: normal;
        line-height: 26px;
        font-size: 20px;
        padding-bottom: 2px;
        overflow: hidden;
        /*width: 550px;*/
        float: left;
    }

    #content section.flight_departing a.action, #content section.flight_returning a.action {
        width: auto;
        height: 34px;
        float: right;
        padding: 7px 21px 7px 21px;
        border: 1px solid #e5e5e5;
        color: #ffffff;
        font-size: 14px;
        font-weight: bold;
        line-height: normal;
        overflow: hidden;
        text-align: center;
        text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
        vertical-align: top;
        background: #707070;
        -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, .2);
        -moz-box-shadow: 0px 2px 3px rgba(0, 0, 0, .2);
        box-shadow: 0px 2px 3px rgba(0, 0, 0, .2);
        text-shadow: 1px 1px 0px #000000;
        filter: dropshadow(color=#fff, offx=0, offy=1);
    }

        #content section.flight_departing a.action span, #content section.flight_returning a.action span {
            width: 14px;
            display: inline-block;
            padding: 0;
            background: url(../images/dynamicPackaging/flight_change_arrow.png) no-repeat right 2px;
        }

#content section.flight_change section ul li article.travelDate {
    width: 284px;
}

#content section.flight_change section ul li article.travel {
    width: 170px;
}

    #content section.flight_change section ul li article.travel div {
        width: 73px;
        float: left;
        clear: right;
    }

        #content section.flight_change section ul li article.travel div.last_colomn {
            text-align: right;
            float: right;
            width: 97px;
            text-transform: uppercase;
        }

            #content section.flight_change section ul li article.travel div.last_colomn span {
                text-transform: none !important;
            }

    #content section.flight_change section ul li article.travel aside div.nx_day {
        float: right;
        text-align: right;
        font-size: 12px;
    }


.containerGreyEF {
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #EFEFEF;
    margin-bottom: 20px;
    padding: 15px 0px;
    color: #000;
    /*max-width:990px;*/
}

/*use iframe_wrapper on container of iframe to make iframe responsive*/
.iframe_wrapper {
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}

    .iframe_wrapper iframe {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

/* Panel According Styles */
.panel-heading {
    font-weight: 700;
}

.panel.panel-pricing .panel-heading {
    font-size: 1.333rem;
    line-height: 1.83rem;
}

.panel-heading[aria-expanded=true] .fa-chevron-right {
    display: none;
}

.panel-heading[aria-expanded=false] .fa-chevron-down {
    display: none;
}

.panel-heading[data-toggle=collapse] {
    cursor: pointer;
}

.panel.nested-details .panel-body .row.sub-details {
    font-size: .778rem;
}

select.form-control::-ms-expand {
    display: none !important;
}

select.form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none;
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE2ODMgODA4bC03NDIgNzQxcS0xOSAxOS00NSAxOXQtNDUtMTlsLTc0Mi03NDFxLTE5LTE5LTE5LTQ1LjV0MTktNDUuNWwxNjYtMTY1cTE5LTE5IDQ1LTE5dDQ1IDE5bDUzMSA1MzEgNTMxLTUzMXExOS0xOSA0NS0xOXQ0NSAxOWwxNjYgMTY1cTE5IDE5IDE5IDQ1LjV0LTE5IDQ1LjV6Ii8+PC9zdmc+') no-repeat, #ffffff;
    background-position: calc(100% - .28rem);
    background-size: 1.25rem 1.25rem;
    padding-right: 1.5rem;
}

html.ie6 select.form-control,
html.ie7 select.form-control,
html.ie8 select.form-control,
html.ie9 select.form-control {
    background-image: none !important;
    padding-right: .28rem;
}

select::-ms-expand {
    display: none;
    /* IE 8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    /* IE 5-7 */
    filter: alpha(opacity=0);
    /* Good browsers :) */
    opacity: 0;
}

select.form-control.select-small{
	font-size: .87em;
}

#waitMessage img {
    max-width: 100%
}

#login_error:empty {
    display: none;
}

/* -- bubble error classes -- */
.validation_error,
.validationError {
    background: #ffdede;
    /* color:#FF0101; */
    border-color: #dc0000;
}

    .validation_error:focus,
    .validationError:focus {
        border-color: #dc0000 !important;
        -moz-box-shadow: 0 0 3px #f33;
        -webkit-box-shadow: 0 0 3px #f33;
        box-shadow: 0 0 3px #f33;
    }

.error_msg_bubble {
    background-color: #dc0000;
    display: none;
    min-width: 100px;
    max-width: 300px;
    padding: .6667rem .8333rem;
    position: absolute;
    left: 100px;
    top: 540px;
    border: 1px solid #dc0000;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    color: #fff;
    font-size: 1rem;
    line-height: 1.333rem;
    -moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, .4);
    -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, .4);
    box-shadow: 2px 2px 5px rgba(0, 0, 0, .4);
    z-index: 3;
}

    .error_msg_bubble span.arrow {
        border-left: 14px solid transparent;
        border-right: 14px solid transparent;
        border-top: 14px solid #dc0000;
        bottom: -14px;
        height: 0;
        left: 18px;
        line-height: 0;
        position: absolute;
        width: 0;
    }

    .error_msg_bubble p {
        margin: 0;
    }

        .error_msg_bubble p::before, .alert.alert-danger p::before, #error_msg_bubble.bubble p::before {
            font-family: FontAwesome;
            content: "\f071";
            padding-right: 10px;
            font-size: .8889rem;
        }

.alert.alert-danger p:empty {
    display: none;
}


.warning_msg {
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 6px;
    min-height: 24px;
    padding: 20px 20px 20px 80px;
    margin-bottom: 48px;
    /*background: transparent url(../images/InfoBubble.gif) no-repeat 20px center;*/
    background-color: #DC0000;
    font-size: 18px;
    color: #fff;
}

    .warning_msg p {
        margin-bottom: 0;
        color: #FFF;
        font-size: 18px;
    }

    .warning_msg i {
        margin-right: 10px;
    }

#header_error_bubble {
    left: 35px !important;
}

    #header_error_bubble p, #fsAward_msg_bubble p, #error_msg_bubble.bubble p {
        margin-bottom: 0;
    }

#error_msg_container {
    margin: 1rem 0;
    padding: 1.445rem 1.112rem;
}

#error_msg_bubble {
    margin: 1rem 0;
    padding: .6667rem .8333rem;
}

/*To show notifications over input texts*/
div.bubble {
    background: none repeat scroll 0 0 #DC0000;
    border-radius: 4px;
    color: #FFFFFF;
    cursor: pointer;
    display: block;
    font-size: 1rem;
    line-height: 1.333rem;
    font-weight: normal;
    height: auto;
    left: 0;
    max-width: 260px;
    min-width: 100px;
    padding: .6667rem .8333rem;
    position: absolute;
    text-align: center;
    width: auto;
    z-index: 9999;
}

    div.bubble span.arrow {
        border-left: 15px solid rgba(239, 239, 239, 0);
        border-right: 15px solid rgba(239, 239, 239, 0);
        border-top: 15px solid #DC0000;
        bottom: -15px;
        height: 0;
        left: 30px;
        line-height: 0;
        position: absolute;
        width: 0;
    }

.modal-header-spirit-yellow {
    padding: 9px 15px;
    border-bottom: 1px solid #fff;
    background-color: #FFEC00;
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    margin-bottom: -20px;
}

.close-spirit {
    background-image: url("../images/thrillsBundle/tb_close.png");
    width: 32px;
    height: 32px;
    padding: 1px;
    cursor: pointer;
    background-repeat: no-repeat;
}

.no-border-top {
    border-top: none;
}

.no-border-bottom {
    border-bottom: none;
}

.no-margin-bottom {
    margin-bottom: 0px;
}

.margin-top-20 {
    margin-top: 20px;
}

.margin-top-1rem {
	margin-top: 1rem;
}

padding-top-10 {
    padding-top: 10px;
}

padding-bottom-10 {
    padding-bottom: 10px;
}

.doubleBorder {
    border-top: 4px double;
}

.h2.notification-heading span {
    font-size: 1rem;
}

.row.total_price > div[class^="col-"],
.row.total_price > div[class*=" col-"] {
    font-size: 1.33rem;
    font-weight: 900;
    border-top: 4px double transparent;
    padding-top: 8px;
}

    .row.total_price > div[class^="col-"].total_price_amount,
    .row.total_price > div[class*=" col-"].total_price_amount {
        border-top-color: #ccc;
    }

/* Branded Models */
.modal-brand.modal-dialog {
    width: 570px;
    margin: 30px auto;
}

    .modal-brand.modal-dialog.modal-sm {
        width: 470px;
        margin: 30px auto;
    }

    .modal-brand.modal-dialog.modal-lg {
        width: 670px;
        margin: 30px auto;
    }

    .modal-brand.modal-dialog .modal-content {
        border: .778rem solid #fff;
        border-radius: 0;
    }

        .modal-brand.modal-dialog .modal-content .modal-header {
            padding: .5rem 1rem 3rem 1rem;
            border-radius: 0;
            border-bottom: 1px solid #fff;
            background-color: #FFEC00;
            margin-bottom: -20px;
        }

			.modal-brand.modal-dialog .modal-content .modal-header .modal-title {
				font-family: 'mrs_lollipopregular','Source Sans Pro', Helvetica, "Helvetica Neue", sans-serif;
				font-size: 2.22rem;
				line-height: 1.889rem;
				text-transform: uppercase;
			}

    .modal-brand.modal-dialog .modal-body {
        padding: 0;
        background-image: url(../images/common/470_clouds@2x.png);
        margin-top: -4.5rem;
    }

    .modal-brand.modal-dialog .modal-content .popUpContent {
        padding-top: 5rem;
        /*padding-bottom: 2rem;*/
    }

    .modal-brand.modal-dialog.modal-sm .modal-body {
        background-size: 470px;
    }

    .modal-brand.modal-dialog .modal-body {
        background-size: 570px;
    }

    .modal-brand.modal-dialog.modal-lg .modal-body {
        background-size: 670px;
    }

@media (max-width: 676px) {
    .modal-brand.modal-dialog,
    .modal-brand.modal-dialog.modal-sm,
    .modal-brand.modal-dialog.modal-lg {
        width: 300px;
        margin: 30px auto;
    }

        .modal-brand.modal-dialog .modal-content {
            background-clip: border-box;
        }

        .modal-brand.modal-dialog .modal-body,
        .modal-brand.modal-dialog.modal-sm .modal-body,
        .modal-brand.modal-dialog.modal-lg .modal-body {
            background-size: 320px;
            margin-top: -4rem;
        }
}

.modal-dialog .close {
    text-shadow: none;
}
/*Itinerary Shopping Cart*/
#ltineraryWrapper {
}

    #ltineraryWrapper .itinerary_tab.ltinerary {
        display: inline-block;
        background-color: #0073e6;
        width:300px;
    }

        #ltineraryWrapper .itinerary_tab.ltinerary dl {
            margin: .25rem .5rem;
        }

        #ltineraryWrapper .itinerary_tab.ltinerary dt, .itinerary_tab.ltinerary dd {
            display: inline-block;
        }

        #ltineraryWrapper .itinerary_tab.ltinerary a, .itinerary_tab.ltinerary a:hover {
            color: #fff;
        }

            .itinerary_tab.ltinerary a:hover dt,
            .itinerary_tab.ltinerary a:hover dd,
            .itinerary_tab.ltinerary a:active dt,
            .itinerary_tab.ltinerary a:active dd {
                text-decoration: underline;
            }

        #ltineraryWrapper .itinerary_tab.ltinerary dt {
            font-weight: 400;
        }

        #ltineraryWrapper .itinerary_tab.ltinerary dd {
            font-weight: 900;
        }

@media (max-width: 792px) {
    .container-fluid.shopping-basket {
        padding: 0;
    }

        .container-fluid.shopping-basket > .container {
            margin: 0;
            padding: 0;
            width: 100%;
        }
}

    .discount_text {
        font-size: .8889rem;
    }

    /* Calendar control */

    @media (max-width: 767px) {
        #ui-datepicker-div {
            width: 94%;
        }

        .ui-datepicker-multi .ui-datepicker-group {
            width: 100%;
        }

        #ui-datepicker-div .ui-datepicker-group:first-child {
            border-bottom: 1px solid #0073e6;
        }

    }

    @media (min-width: 768px) {
        div.ui-datepicker-group.ui-datepicker-group-first {
            border-right: 1px solid #0073E6;
        }
    }

    #ui-datepicker-div {
        border: 1px solid #0073E6;
    }


    .ui-datepicker-next > span {
        background-image: url(./../images/icons/rightArrow.png) !important;
        background-position: 0;
    }

    .ui-datepicker-prev > span {
        background-image: url(./../images/icons/leftArrow.png) !important;
        background-position: 0;
    }

    .ui-datepicker td, .ui-datepicker td a {
        padding: 0px !important;
    }

    .ui-widget-header {
        border: 0px;
        background-color: white;
    }

        .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
            border: none;
            background-color: white;
            text-align: center;
        }

    .ui-datepicker-title {
        font-size: 0.8rem;
        font-weight: 700;
    }

    .ui-datepicker table {
        font-size: 0.6rem;
    }

    .dateInRange > a {
        border-top: 1px solid #0073e6 !important;
        border-bottom: 1px solid #0073e6 !important;
    }

    .blueDotDate > a {
        border-top: 1px solid #0073e6 !important;
        border-bottom: 1px solid #0073e6 !important;
        background: url(./../images/icons/bluedot.png) !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        color: white !important;
    }

    .blueDotDate.single > a {
        border-top: 0px !important;
        border-bottom: 0px !important;
        background: url(./../images/icons/bluedot.png) !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        color: white !important;
    }

    .blueDotDate.depart > a {
        border-left: 1px solid #0073e6 !important;
    }

    .blueDotDate.return > a {
        border-right: 1px solid #0073e6 !important;
    }

    .datepicker_input {
        width: 100%;
        background: url(./../images/homepage/ic_event_black_24dp.png) no-repeat scroll 7px;
        background-position: right;
    }
    /*Finish Calendar control*/

    /*Turn links white in error messages*/
    .warning_msg a, .alert.alert-danger a {
        font-weight: 700;
        color: #fff;
    }

    .total_price {
        padding-top: .5rem;
    }

    /*styling for responsive iframe modals; use wrapper+media query classes to resize iframe in modal */
    .responsive-iframe-modal-dialog {
        position: relative;
        display: table;
        overflow-y: auto;
        overflow-x: auto;
        width: auto;
        min-width: 300px;
    }


        .responsive-iframe-modal-dialog .modal-body {
            padding: 0px;
        }

        .responsive-iframe-modal-dialog .close {
            position: absolute;
            right: 5px;
            top: 5px;
        }

    .no-fsmcWrapper {
        height: 340px;
        width: 645px;
    }

    .fsmcWrapper {
        height: 572px;
        width: 877px;
    }

    a.btn.btn-sm.btn-double {
        height: 4.556rem;
        display: table;
    }

        a.btn.btn-sm.btn-double > div {
            display: table-cell;
            vertical-align: middle;
        }

    .btn-wider {
        min-width: 15.5rem;
        min-height: 10%;
        border-radius: 5px;
        font-size: inherit;
    }

    /*check input standby modal styles*/
    .standbyWrapper .JC .name, .standbyWrapper .JF .name,
    .standbyWrapper .JSCP .name, .standbyWrapper .JSCA .name {
        background-repeat: no-repeat;
        background-position: 55px 10px;
    }

    .standbyWrapper .JC .name,
    .standbyWrapper .JSCP .name {
        background-image: url(../images/spiritway/standby_p.png)
    }

    .standbyWrapper .JF .name,
    .standbyWrapper .JSCA .name {
        background-image: url(../images/spiritway/standby_fa.png)
    }

    .standByPill{
        text-transform: uppercase;
        font-weight: 700;
    }

    @media (max-width: 645px) {
        .no-fsmcWrapper {
            height: 170px;
            width: 320px;
        }

        .responsive-iframe-modal-dialog .close {
            font-size: 22px;
        }
    }

    @media (max-width: 876px) {
        .fsmcWrapper {
            height: 209px;
            width: 320px;
        }

        .responsive-iframe-modal-dialog .close {
            font-size: 22px;
        }
    }
@media (max-width: 991px) {
    #ltineraryWrapper .itinerary_tab.ltinerary {
        width: unset;
    }
}
/*IE only styles!*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .close:focus {
        outline: 2px solid Highlight;
    }
}