﻿

/* GLOBAL */
.tripadvisor-link { 
    margin-top: 20px; 
    width: 180px; 
    float: left; 
    margin-left: 10px;
}

.facebook-link { 
    margin-top: 25px; 
    width: 200px; 
    float: left; 
}

.tripReviewConfirm {
    background: #fff;
}
.noBG .tripReviewConfirm article {
    background: #fff;
    max-width: none;
}
.review-message { 
    font-size: 10pt; 
    max-width: 500px;
    margin: 10px auto;
    padding: 0 3%;
    text-align: justify; 
}

.popup-success, .popup-error {
    display: none;
    font-weight: bold;
    text-align: center;
}
.popup-error {
    color: red;
}
.italic {
    font-style: italic;
}

.fix-overflow {
    overflow: visible !important;
}

.access-error{
    font-size: 14px;
    color: red;
}

.adminOnly {
    border: 1px solid #ff33cc !important;
}
.excItem.adminOnly {
    background: #ffeeea;
}

/* closed on page load but still printable */
.accList.closed {
    display: none;
}

.nodisplay, .printableHeader {
    display: none;
}

input[type="button"],
input[type="submit"] {
	cursor: pointer;	
    -webkit-appearance: none;
}

a {
    cursor: pointer;
}

input,
select,
textarea {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: 'Lato', Arial, sans-serif;
}

.container {
	margin: 0 auto;
	max-width: 1280px;
	position: relative;
	width: 100%;	
}

article, section, div, aside {
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;	
}

.acctBG article {
	padding: 40px 0 100px;	
}



.fullWidth {
	width: 100%;	
}

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

.toTopBtn {
    background: url(/Content/images/icon-to-top.png) 0 0 no-repeat;
    background-size: contain;
    display: none;
    height: 60px;
    position: fixed;
    right: 40px;
    bottom: 40px;
    width: 47px;
    z-index: 9999;
}

.validationMessage {
    clear: both;
    display: block;
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #FF0000;
}

.CreditCardValidation {
    clear: both;
    display: block;
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #FF0000;
}


/* Admin menu */
#v2AdminMenu {
    position: fixed;
    right: 0;
    top: 0;
    max-height: 100%;
    max-width: 220px;
    background: white;
    overflow-y: scroll;
    padding: 4px;
    z-index: 9999;
}

#v2AdminMenu.closed {
    max-height: 30px;
}

#v2AdminMenu.opened .open-it,
#v2AdminMenu.closed .close-it {
    display: none;
}

.adminMenuHeader {
    font-weight: bold;
}

.adminMenuItem a:link, .adminMenuItem a:visited {
    color: blue;
}

.adminMenuControls {
    text-align: right;
}

/* LOADER */
.loader {
    top: 0;
    left: 0;
    position: fixed;
    width: 100vw;
    height: 100vh;
    background-color: var(--light-10);
    z-index: 99;
    display: none;
    justify-content: center;
    align-items: center;
}

    .loader * {
        width: 64px;
        height: 64px;
        animation: 2s rotate360 infinite linear;
    }

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}



@keyframes rotate360 {
    to {
        transform: rotate(360deg);
    }
}

/* POPUP WINDOWS */
/* The just-kidding class allows us to show a popup as the main content while keeping all the other styles consistent with a real popup. */
/* In most cases we can't use :not(.just-kidding) because it ruins the precedence. */
.popup {
    display: none;
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 9999;
}
.popup.just-kidding {
    display: block;
    bottom: auto;
    left: auto;
    position: static;
    right: auto;
    top: auto;
    width: 100%;
    z-index: auto;
}

.popup:not(.just-kidding)::after {
    background-color: rgba(0, 0, 0, 0.8);
    content: '';
    display: block;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.js-uploadcustomershelp-popup::after {
    background-color: rgba(0, 0, 0, 0);
}

.popup .content {
    background: #fff;
    margin: 0 auto;
    max-height: 90%;
    max-width: 400px;
    overflow-y: auto;
    padding: 20px;
    width: 96%;
    z-index: 2;
    position:fixed;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%,-50%);
    -moz-transform:translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
     transform: translate(-50%,-50%);
}
.popup.just-kidding .content {
    background: transparent;
    margin: 0;
    max-height: none;
    max-width: none;
    overflow-y: visible;
    padding: 0;
    width: 100%;
    z-index: auto;
    position: static;
    left: auto;
    top: auto;
    -ms-transform: none;
    -moz-transform: none;
    -webkit-transform: none;
    transform: none;
}

.signin-holder {
    max-width: 400px;
    margin: 0 auto;
}

.js-op-request-popup .content,
.js-terms-popup .content {
    max-width: 500px;
}

.js-uploadcustomershelp-popup .content {
    max-width: 760px;
}

.js-managegrouptravelers-popup .content {
    max-width: 800px;
}

.js-export-bookings-popup .content {
    max-width: 500px;
}

.highlight {
    background: #258499;
    color: white;
    font-weight: bold;
}

.popup .js-close {
    background: url(/Content/images/icon-x.png) 0 0 no-repeat;
    background-size: 15px;
    cursor: pointer;
    height: 15px;
    margin: 0;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 15px;
}
.popup.just-kidding .js-close {
    display: none;
}

.popup .content h3 {
    color: #258499;
    font-size: 16px;
    margin: 0 0 15px;
    text-transform: uppercase;
}

.js-op-request-popup .content h3 {
    margin: 0 0 10px;
}

.popup .content .required {
    font-size: 11px;
    padding: 0;
}

.js-register-popup .travelerAccountHeader,
.js-register-popup form,
.js-group-popup form {
    display: none;
}

.agentAccount {
    text-align: center;
}
.agentRegisterText {
    margin-bottom: 4px;
}

.js-op-request-popup .formWrap,
.js-terms-popup .termsWrap {
    max-height: 300px;
    padding-bottom: 20px;
    overflow: auto;
}
.js-terms-popup .termsWrap p {
    font-family: 'Lato', Arial, sans-serif;
    font-size: 12px;
    margin: 10px 0;
}
.popup div {
    font-size: 12px;
    padding: 5px 0;
}
.popup div.text {
    margin: 3px 0;
    font-size: 14px;
    line-height: 17px;
}

.popup div > span {
    display: inline-block;
    padding-right: 3%;
    text-align: right;
    vertical-align:top;
    width: 34%;
}

.popup div input[type='text'],
.popup div input[type='password'] {
    border: 1px solid #ababab;
    color: #333;
    font-size: 12px;
    height: 20px;
    width: 55%;
}

.popup div input[type='text'][readonly='readonly'],
input[type='text'][readonly='readonly'] {
    background: #f2f2f2;
}

.popup div textarea {
    border: 1px solid #ababab;
    color: #333;
    font-size: 12px;
    height: 60px;
    max-width: 55%;
    width: 55%;
}

.popup div select {
    border: 1px solid #ababab;
    font-size: 12px;
    height: 23px;
    left: -2px;
    letter-spacing: 0px;
    line-height: 20px;
    padding: 1px 12px 1px 5px;
    position: relative;
    width: 55%;
}

.popup div .radioGrp {
    display: inline-block;
    width: 55%;
}

.popup .forgot {
    font-size: 11px;
    padding: 0 0 5px 37%;
}

.popup .forgot a {
    color: #747474;
}

.popup .remember {
    font-size: 11px;
    text-align: center;
}

.remember label {
    display: block;
    width: 100%;
}

.remember label span,
.acctType label span,
.newAcctType label span {
    position: relative;
    top: -3px;
    width: auto;
}

.newAcctType label {
    margin-right: 20px;
}

.travelerAccountHeader p {
    font-family: 'Lato', Arial, sans-serif;
    font-weight:400;
    margin:0px;
}

.travelerAccountHeader p.subHeader {
    margin-top: -19px;
    margin-left: 2px;
    margin-bottom:15px;
    font-weight: bold;
}

.travelerAccountHeader img {
    padding: 5px 0px;
}

.acctType label {
    display: block;
    padding-left: 36%;
    text-align: left;
    width: auto;
}

.popupBtns {
    clear: both;
    padding: 15px 0 0 !important;
    text-align: center;
}

.js-uploadcustomers-popup .popupBtns {
    text-align: right;
}

.mainBtn, .greenBtn {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    margin-left: 10px;
    padding: 8px 12px;
    text-transform: uppercase;
    text-decoration: none;
}
.greenBtn { /* so that both <a> and <button> look the same */
    display: inline-block;
    font-family: Lato, Arial, sans-serif;
    line-height: 1.4em;
}

.js-pricing-popup .mainBtn {
    background: #e16754;
}

.newBtn,
.cancelBtn {
    background: none;
    border: none;
    color: #258499;
    font-size: 12px;
    padding: 8px 12px;
    text-transform: uppercase;
    text-decoration: underline;
}
.popup div label {
    padding-left: 5%;
}

.popup div label input {
    display: inline-block;
    margin: 5px 3px 0 0;
    vertical-align: top;
}

.popup div label span {
    display: inline-block;
    margin: 0 3px 0 0;
    vertical-align: top;
    max-width: 90%;
}

.popup div .fileUpload {
    clear: both;
    display: block;
}

.uploadDisplay {
    border: 1px solid #ababab;
    height: 200px;
    margin-top: 15px;
    overflow: auto;
    width: 100%;
}

div.printHeader {
    padding: 10px 10px 10px 10px;
}


.js-newgiftcert-popup .content,
.js-editgiftcert-popup .content,
.js-addcustomer-popup .content{
    max-width: 450px;
}

.js-email-travelers-popup:not(.in-flyer-mode) .flyer-mode {
    display: none;
}
.js-email-travelers-popup:not(.in-non-flyer-mode) .non-flyer-mode {
    display: none;
}


.js-email-travelers-popup .content,
.js-emailshoretrips-popup .content,
.js-sharegroup-popup .content {
    max-width: 550px;
}

.js-sharegroup-popup .content input[type='text'] {
    width: 500px;
    background-color: antiquewhite;
    font-weight: bold;
}

.js-emailgiftcert-popup .error-text,
.js-newgiftcert-popup .error-text,
.js-editgiftcert-popup .error-text,
.js-emailVoucherPopup .error-text,
.js-addcustomer-popup .error-text,
.js-emailshoretrips-popup .error-text,
.js-email-travelers-popup .error-text,
.js-addgrouptravelers-popup .error-text {
    font-weight: bold;
    text-align: center;
    display: none;
    color: red;
}

.js-newgiftcert-popup div .note textarea
{
    height: 100px;
}

.js-emailgiftcert-popup textarea.body, 
.js-emailshoretrips-popup textarea.note  {
    height: 200px;
}

.js-editgiftcert-popup div .note textarea
{
    height: 200px;
    width: 200px;
}

.popup div .note textarea {
    border: 1px solid #ababab;
    max-width: 100%;
    width: 100%;
}

.popup .gcAmt {
    border-top: 1px solid #ababab;
    margin-top: 5px;
    padding-top: 15px;
}

.popup .gcAmt select {
    width: 25%;
}

.popup .gcAmt input[type='text'] {
    width: 29%;
}

.popup .expDate select {
    max-width: 55px;
}

.js-newgiftcert-popup .popupBtns input {
    margin: 10px 0;
    margin-right: 10px;
}
.js-newgiftcert-popup .popupBtns input:last-child {
    margin-right: 0;
}

.chooseDate .content,
.js-tripplanner-popup .content {
    overflow: visible !important;
}

.chooseDate p {
    font-family: 'Lato', Arial, sans-serif;
    font-size: 13px;
    margin: 10px 0;
}

.chooseDate input.date {
    background: #fff url(/content/images/icon-date.png) 98% center no-repeat;
	background-size: 18px;
    color: #666 !important;
    cursor: pointer;
    height: 24px !important;
    line-height: 22px;
    padding-left: 3px;
    width: 100px !important;
}

.js-share-popup input[type='text'] {
    margin: 15px 0;
    max-width: none;
    padding: 2px 3px;
    width: 90% !important;
}

.js-manage-travelers-popup .content {
    max-width: 500px;
}

.popup .manageLists {
    padding: 0;
}

.manageLists .allCustomers,
.manageLists .groupTravs {
    float: left;
    width: 44%;
}

.manageLists .manageBtns {
    float: left;
    padding: 80px 2% 0;
    text-align: center;
    width: auto;
}

.manageLists .manageBtns input {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: block;
    font-size: 18px;
    line-height: 18px;
    margin: 5px 0;
    padding: 8px;
}

.allCustomers .listWrap,
.groupTravs .listWrap {
    border: 1px solid #a0a0a0;
    height: 250px;
    overflow: auto;
    padding: 5px;
}

.manageLists .listWrap ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.manageLists .listWrap ul li {
    cursor: default;
    font-size: 12px;
    line-height: 14px;
}

.popup .manageLists span {
    display: block;
    text-align: left;
    width: 100%;
}

.js-email-travelers-popup .content .intro {
    text-align: center;
}

.js-email-travelers-popup .content select {
    display: block;
    margin: 0px auto 10px;
    text-align: center;
}

.js-email-travelers-popup .content textarea {
    height: 200px;
}

.js-entercruise-popup div div {
    text-align: center;
}

.js-entercruise-popup div select {
    width: 60%;
}

.js-viewcruise-popup .intro {
    float: left;
}

.js-viewcruise-popup .clearItinerary {
    color: #666;
    float: right;
}

.js-viewcruise-popup .itineraryList {
    border: 1px solid #a0a0a0;
    clear: both;
    max-height: 300px;
    overflow-y: auto;
    padding: 10px;
    width: 100%;
}

.js-viewcruise-popup .itineraryList .itinItem {
    border-bottom: 1px solid #ababab;
    overflow: hidden;
    padding: 10px 0 5px;
}

.js-viewcruise-popup .itineraryList .itinItem:first-child {
    padding-top: 0;
}

.js-viewcruise-popup .itineraryList .itinItem:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.js-viewcruise-popup .itineraryList div {
    padding: 0;
}

.js-viewcruise-popup div > span {
    padding-right: 0;
    text-align: inherit;
    vertical-align: top;
}

.js-viewcruise-popup .itinItem .arrDep {
    padding-top: 5px;
}

/* ADDED TO CART POPUP */
.js-addedtocart-popup .content {
    max-width: 800px;
}

.js-addedtocart-popup .content h3 {
    margin: 0 0 10px;
}

.popup .cartSum {
    padding: 0;
    overflow:hidden;
}

.cartSum > div {
    min-height: 120px;
}

.cartSum .tripAdded {
    float: left;
    padding: 10px 20px 0;
    width: 50%;
}

.cartSum .tripDetails {
    padding: 0;
}

.cartSum .tripDetails h4 {
    margin: 0;
    font-size: 14px;
}

.cartSum .optionalAddons {
    padding: 0;
}

.cartSum .optionalAddons span {
    display: block;
    text-align: left;
    width: auto;
}

.cartSum .cartItems {
    border-left: 1px solid #ababab;
    float: right;
    padding: 10px 20px 0;
    width: 49%;
}

.cartSum .cartItems div {
    font-size: 14px;
    line-height: 18px;
    padding-left: 20px;
    position: relative;
}

.popup .cartItems div a.trashBtn {
    background: url(/content/images/icon-trash.png) 0 0 no-repeat;
	background-size: 14px 16px;
    display: inline-block;
	height: 16px;
	width: 16px;
    position: absolute;
    left: 0;
    top: 7px;
}

.popup .cartItems div span {
    display: inline-block;
    margin-left: 0;
    padding-right: 0;
    text-align: left;
    width: auto;
}

.popup .cartPopupBtns {
    margin-top: 15px;
    padding: 0;
    text-align: right;
}

.cartPopupBtns .mainBtn {
    background: #e16754;
}

.cartPopupBtns input:hover {
    background: #258499;
    color: #fff;
}

.keepShoppingBtn {
    background: #fff;
    border: 1px solid #258499;
    border-radius: 6px;
    color: #258499;
    font-size: 12px;
    padding: 8px 12px;
    text-transform: uppercase;
}

/* GROUP REQUEST POPUP */
.js-request-popup .content {
    max-width: 800px;
}

.js-request-popup .formLeft {
    float: left;
    width: 55%;
}

.js-request-popup .formLeft div:last-child span {
    line-height: 14px;
}

.js-request-popup .formRight {
    float: left;
    width: 45%;
}

.js-request-popup .twoline > span {
    display: block;
    line-height: 15px;
    padding-right: 0;
    text-align: left;
    width: 100%;
}

.js-request-popup .twoline > input[type='text'],
.js-request-popup .twoline > textarea {
    display: block;
    margin-top: 5px;
    max-width: 100%;
    width: 94% !important;
}

.js-request-popup div textarea {
    border: 1px solid #ababab;
    color: #333;
    font-size: 12px;
    height: 40px;
    min-height: 40px;
}

.js-request-popup .formBtns {
    clear: both;
    display: block;
    padding-right: 20px;
    text-align: right;
    width: 100%;
}

/* TRIP PLANNER POPUP */
.js-addport-popup .content {
    max-width: 320px;
}

.js-addport-popup div select {
    font-size: 14px;
    line-height: 20px;
    margin: 0;
    width: 100%;
}

.js-email-plan-popup .message span {
    vertical-align: top;
}

.js-email-plan-popup .message textarea {
    height: 140px;
    width: 55%;
}
.js-email-plan-popup .suggested-travelers {
    text-align: center;
}

.js-register-travelers-popup .field > span {
    padding-right: 4px;
    text-align: right;
    width: 25%;
}
.js-register-travelers-popup .field > input {
    width: 50%;
}

/* PAGE BGs */
.homeBG {
    background: url(/content/images/home-bg2.jpg) center top no-repeat;
    background-size: 100%;
}

.excursionsBG {
	background: url(/content/images/excursions-bg.jpg) center top no-repeat;
	background-size: 100%;
}

.groupsBG {
	background: url(/content/images/group-trips-bg.jpg) center top no-repeat;
	background-size: 100%;
}

.destinationsBG {
	background: url(/content/images/destinations-bg.jpg) center top no-repeat;
	background-size: 100%;
}

.agentsBG {
	background: url(/content/images/travel-agents-bg.jpg) center top no-repeat;
	background-size: 100%;
}

.noBG, .noBG header {
	background: #f5f5f5;
}
.white-page, .noBG .white-page {
    background: #fff;
    padding: 2%;
}

.justKiddingPopup {
    background: #fff;
}
.popup.just-kidding .content {
    margin: 0 auto;
    max-width: 850px;
    min-height: 300px;
    padding: 30px 2% 20px 2%;
}
@media screen and (min-width: 1000px) {
    .popup.just-kidding .content {
        padding-left: 25px;
        padding-right: 25px;
    }
}

/* AGENCY LOGO HEADER */
.agencyBG .logo {
    border-radius: 6px;
	display: block;
	max-height: 100px;
	left: 0;
    line-height: 0;
    padding: 0 5px;
	position: absolute;
    text-decoration: none;
	top: 0;
	width: 200px;
	z-index: 10;	
}
.agencyBG .logo img {
    max-width: 100%;
}
.agencyBG .logo.transparent {
    background: rgba(255,255,255,0.75);
}

.sublogo {
    color: #fff;
    display: block;
    left: 5px;
    top: 110px;
    font-size: 14px;
    font-style: italic;
    line-height: 15px;
    position: absolute;
    white-space: nowrap;
}
.noBG .sublogo,
.acctBG .sublogo {
    color: #258499;
}

/* HEADER */
.noBG header,
.mapBG header,
.acctBG header {
	background: #e1e1e1;
	padding-bottom: 15px;	
}

header {
	clear: both;
	width: 100%;	
}

.logoContainer {
    left: 0;
    margin: 0 auto;
    max-width: 1000px;
    position: relative;
    top: 0;
    width: 100%;
}

.logo {
	display: block;
	height: 120px;
	left: 0;
	position: absolute;
	top: 0;
	width: 220px;
	z-index: 10;	
}

header ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

header ul li {
    display: inline-block;
	vertical-align: middle;	
}

header .topMenu {
    background: #258499;
	height: 60px;
}

.topMenu ul {
	float: right;	
}

.topMenu ul li {
	height: 45px;
}

.topMenu a {
    color: #fff;
	font-size: 12px;
	line-height: 45px;
	padding: 0 15px;
    text-decoration: none;
	text-transform: uppercase;
}

.topMenu a.phone {
	background: url(/content/images/icon-phone-white.png) left center no-repeat;
	background-size: 12px 17px;	
	display: block;
	padding-left: 17px;
}

.topMenu a.fb {
	background: url(/content/images/icon-fb-white.png) center center no-repeat;
	background-size: 30px;
	display: block;
	height: 45px;
	padding: 0 3px;
	width: 30px;	
}

.topMenu a.twitter {
	background: url(/content/images/icon-twitter-white.png) center center no-repeat;
	background-size: 30px;
	display: block;
	height: 45px;
	padding: 0 3px;
	width: 30px;	
}

.topMenu a.instagram {
	background: url(/content/images/icon-instagram-white.png) center center no-repeat;
	background-size: 30px;
	display: block;
	height: 45px;
	padding: 0 3px;
	width: 30px;	
}

.mainMenu {
	height: 55px;	
}

.mainMenu ul {
	float: right;
}

.mainMenu a {
	color: #fff;
	font-size: 16px;
	line-height: 55px;
	padding: 0 10px;
	text-decoration: none;
	text-transform: uppercase;	
    text-shadow: 2px 2px 2px rgba(35, 31, 32, 0.6);
}

.noBG .mainMenu a,
.mapBG .mainMenu a,
.acctBG .mainMenu a {
	color: #258499;	
    text-shadow: none;
}

.mainMenu a.cart {
	background: url(/content/images/icon-cart-mobile.png) 10px 12px no-repeat;
	background-size: 30px;
	display: block;	
	height: 55px;
	padding: 0;
	position: relative;
	width: 45px;
}

.mainMenu a.attn-account {
    background: #fff;
    border-radius: 9px;
    color: #258499 !important; /* Needed to counteract mobile style which uses important */
    padding: 4px 13px;
    text-shadow: none;
}

.noBG .mainMenu a.cart,
.mapBG .mainMenu a.cart,
.acctBG .mainMenu a.cart {
	background: url(/content/images/icon-cart.png) 8px 12px no-repeat;	
	background-size: 30px;
}

span.cartCount {
	background: #e16754;
	border: 1px solid #fff;
	border-radius: 10px;
	color: #fff;
	display: block;	
	font-size: 9px;
	height: 16px;
	line-height: 16px;
	position: absolute;
	right: 0px;
	text-align: center;
	top: 5px;
	width: 16px;
}

span.cartCount.empty {
	display: none;	
}

.searchContainer {
	margin: 0 auto 0;
	max-width: 1000px;
	overflow: hidden;
	padding: 5px 0 30px;
	position: relative;
	width: 100%;	
}

.searchContainer a:hover {
    text-decoration: underline;
}

.headerItinerary {
    display: block;
    font-size: 12px;
    position: absolute;
    right: 280px;
    top: 10px;
    text-align: right;
    text-transform: uppercase;
}

.headerItinerary a {
    background: url(/content/images/icon-ship-white.png) 0 0 no-repeat;
    background-size: 16px 18px;
    color: #fff;
    display: block;
    line-height: 18px;
    text-decoration: none;
    padding-left: 21px;
}

.noBG .headerItinerary a,
.acctBG .headerItinerary a {
    background: url(/content/images/icon-ship-alt.png) 0 0 no-repeat;
    background-size: 16px 18px;
    color: #258499;
}

.homeBG .headerItinerary a.enter-cruise,
.excursionsBG .headerItinerary a.enter-cruise {
    display: none;
}

.keywordSearchButton {
    display: none;
}

input.search {
	background-color: transparent;
	background-image: url(/content/images/icon-search.png);
	background-position: 97% center;
	background-repeat: no-repeat;
	background-size: 20px;
	border: 1px solid #fff;
	color: #fff;
	display: block;
	float: right;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
    letter-spacing: 0.5px;
	line-height: 30px;
    margin-right: 5px;
	padding: 0 5px;
	position: relative;
	top: 0;
	height: 30px;
	width: 250px;	
}

.noBG input.search,
.mapBG input.search,
.acctBG input.search {
	background-color: transparent;
	background-image: url(/content/images/icon-search-alt.png);
	background-position: 97% center;
	background-repeat: no-repeat;
	background-size: 20px;
	border: 1px solid #258499;
    color: #258499;
    clear: right;
}

.search::-webkit-input-placeholder {
	color: #fff;
    font-style: italic;
}

.search:-moz-placeholder { 
	color: #fff;
    font-style: italic;
}

.search::-moz-placeholder {  
	color: #fff;
    font-style: italic;
}

.search:-ms-input-placeholder {  
	color: #fff;
    font-style: italic;
}

.noBG .search::-webkit-input-placeholder,
.mapBG .search::-webkit-input-placeholder,
.acctBG .search::-webkit-input-placeholder {
	color: #258499;
    font-style: italic;
}

.noBG .search:-moz-placeholder,
.mapBG .search:-moz-placeholder,
.acctBG .search:-moz-placeholder { 
	color: #258499;
    font-style: italic;
}

.noBG .search::-moz-placeholder,
.mapBG .search::-moz-placeholder,
.acctBG .search::-moz-placeholder {  
	color: #258499;
    font-style: italic;
}

.noBG .search:-ms-input-placeholder,
.mapBG .search:-ms-input-placeholder,
.acctBG .search:-ms-input-placeholder {  
	color: #258499;
    font-style: italic;
}

.breadcrumbs {
	float: left;
	font-size: 11px;
    font-weight: bold;
	left: 15px;
	position: relative;
	top: 35px;
	text-transform: uppercase;	
    max-width: 715px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.breadcrumbs a {
	color: #fff;
	text-decoration: none;	
}

.noBG .breadcrumbs a,
.mapBG .breadcrumbs a,
.acctBG .breadcrumbs a {
	color: #258499;	
}

.breadcrumbs span {
	color: #fff;
	margin: 0 3px;
}

.noBG .breadcrumbs span,
.mapBG .breadcrumbs span,
.acctBG .breadcrumbs span {
	color: #258499;	
}

/* HOME */
.mainBanner .headline {
	color: #fff;
	font-size: 28px;
	font-weight: 400;
	margin: 8% 0 0.8%;
	padding: 0 2%;
	text-align: center;
    text-shadow: 2px 2px 3.88px rgba(35, 31, 32, 0.9);
	text-transform: uppercase;
	width: 96%;	
}

.headline span {
	display: inline-block;	
}

.mainBanner .subheadline {
	color: #fff;
	font-size: 26px;
	font-style: italic;
    font-weight: normal;
    line-height: 1.2em;
	margin: 0;
	text-align: center;
    text-shadow: 1px 1px 2.94px rgba(35, 31, 32, 0.9);
	width: 100%;	
}

.subheadline span {
	color: #e16754;
}

.quickFinder {
	margin: 8% 0 6%;
    overflow: hidden;	
}

.mainbox {
	background: rgba(0,0,0,0.5);
	color: #fff;
	display: block;
    float: left;
	height: 285px;
	padding: 2.57%;
	position: relative;
	width: 32.333%;
	vertical-align: top;
}
@media screen and (min-width: 1300px) {
    .mainbox {
        background: rgba(0,0,0,0.33);
    }
}

.mainbox.middle {
	margin: 0 1.49%;	
}

.boxTitle {
	color: #ffc75a;
	font-size: 18px;
	font-weight: 400;
	margin: 0;
	text-align: center;	
}

.boxTitle span {
	text-transform: uppercase;	
}

.mainbox p {
	font-size: 14px;
	font-weight: 300;	
    text-align: center;
}

.mainbox.left p,
.mainbox.middle p {
	margin: 8px 0 17px;
}

.mainbox.right p {
	margin: 8px 0 0 0;	
    height: 55px;
}

.mainbox select,
.mainCta select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff url(/content/images/icon-select-arrows.png) 98% center no-repeat;
    background-size: 10px 17px;
	border: none;
	border-radius: 0;
	color: #666;
	height: 30px;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 1px;
	line-height: 30px;
	margin-bottom: 15px;
	padding: 0 30px 0 10px;
	width: 100%;	
}

.mainbox select::-ms-expand,
.mainCta select::-ms-expand {
    display: none;
}

.mainbox select.date,
.mainCta select.date {
	background: #fff url(/content/images/icon-date.png) 98% center no-repeat;
	background-size: 24px;
}

select.itin-loading,
.content select.itin-loading,
.mainbox select.itin-loading,
.mainCta select.itin-loading,
.mainCta select.date.itin-loading,
.mainbox select.date.itin-loading
 {
    background-image: url(/content/images/itin-loader.gif);
    background-size: contain;
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: center;
}

.left input[type="button"],
.mainCta input[type="button"] {
	display: block;
}
.left input[type="button"],
.mainCta input[type="button"],
.orangeButton {
    background: #e16754;
	border: none;
	border-radius: 6px;
	color: #fff;
	font-size: 15px;
	font-weight: 300;
	letter-spacing: 1px;
	margin: 0 auto;
	padding: 8px;
    text-decoration: none;
	text-transform: uppercase;
}

.left input[type="button"]:disabled,
.mainCta input[type="button"]:disabled,
.middle input[type="button"]:disabled,
.orangeButton:disabled {
    /* background: #aaa; */
}

.middle input[type="button"] {
	background: #e16754;
	border: none;
	border-radius: 6px;
	color: #fff;
	display: block;
	font-size: 15px;
	font-weight: 300;
	letter-spacing: 1px;
	margin: 0 auto;
	padding: 8px;
	text-transform: uppercase;	
}

.left input[type="button"]:hover,
.mainCta input[type="button"]:hover,
.middle input[type="button"]:hover,
.right input[type="button"]:hover,
.orangeButton:hover {
    background: #258499;
}

.right .form span {
	line-height: 30px;	
}

.right input[type="text"] {
	border: none;
	border-radius: 0;
	color: #666;
	height: 30px;
	float: right;
	font-size: 15px;
	font-weight: 300;
	letter-spacing: 1px;
	line-height: 30px;
	margin-bottom: 15px;
	padding: 0 10px;
	width: 80%;	
}

.right input[type="text"]::-webkit-input-placeholder {
	color: #666;
    font-style: italic;
	font-weight: 300;
	letter-spacing: 1px;
}

.right input[type="text"]::-moz-placeholder { 
	color: #666;
    font-style: italic;
	font-weight: 300;
	letter-spacing: 1px;
}

.right input[type="text"]:-ms-input-placeholder {  
	color: #666;
    font-style: italic;
	font-weight: 300;
	letter-spacing: 1px;
}

.right input[type="button"] {
	background: #e16754;
	border: none;
	border-radius: 6px;
	color: #fff;
	display: block;
	font-size: 15px;
	font-weight: 300;
	letter-spacing: 1px;
	margin: 0 auto;
	padding: 8px;
	text-transform: uppercase;	
}

.otherLink {
	bottom: 30px;
	left: 0;
	position: absolute;
	text-align: center;
	width: 100%;	
}

.otherLink a {
	color: #ffc75a;
	font-size: 16px;
	text-decoration: underline;
	text-transform: uppercase;	
}

.otherLink a:hover {
    color: #fff;
}

.subBanner {
	background: #fff;
	overflow: hidden;
	padding: 20px 0;
	width: 100%;	
}

.subBanner .container .secTitle,
.subBanner .container .b5 {
	width: 18%;	
}

.subBanner .container .b5 {
	border-right: none;	
}

.secTitle {
	color: #258499;
	font-size: 20px;
	font-weight: 700;
    line-height: 1.2em;
	padding: 8px 15px 8px 0;
	text-align: right;
	border-right: 1px solid #e1e1e1;
	display: block;
	float: left;
	min-height: 100px;	
	vertical-align: top;
}

.secBlock {
	border-right: 1px solid #e1e1e1;
	display: block;
	float: left;
	min-height: 100px;
	padding: 8px 5px 0;
	text-align: center;
	vertical-align: top;
	width: 16%;	
}

.secBlock.b5 {
	padding: 8px 0 0 15px;
	text-align: left;	
}

.secBlock span {
	display: block;
	font-size: 15px;
    font-weight: bold;
	line-height: 17px;
	text-transform: uppercase;	
}

.secBlock p {
	font-size: 12px;
	line-height: 16px;
	margin: 8px 0 0;	
}

.awardsBlock {
	border-bottom: 1px solid #e1e1e1;
	margin: 0 auto;
	overflow: hidden;
	padding: 25px 0 0;
	vertical-align: top;
    text-align: center;
	width: 95%;	
}

.awardsBlock .left {
	display: block;
	float: left;	
	padding-top: 8px;
    padding-bottom: 12px;
	width: 45%;
}

.hasAgencyFlag .awardsBlock .left {
    float: none;
    width: 100%;
}

.hasAgencyFlag .awardsBlock .right {
    display: none;
}

.awardsBlock .right {
	display: block;
	float: left;
	padding-top: 8px;
	width: 54%;	
}

.awardsBlock div > div {
	display: block;	
	font-size: 16px;
	line-height: 18px;
    margin: 10px 0;
	padding: 0;
	text-align: center;
	text-transform: uppercase;
	vertical-align: top;
    width:100%;
}

.awardsBlock .left img {
	max-width: 160px;	
}

.awardsBlock img.aff1 {
	margin-right: 5%;
	max-width: 220px;
}

.awardsBlock img.aff2 {
	max-width: 170px;
}

img.award1 {
	margin-right: 7%;	
}

.awardsBlock .row {
	display: table;
	margin-top: 0;
	text-align: center;
	width: 100%;	
}

.row img.aff-sm {
	display: inline-block;
	margin-right: 4%;
	width: 20%;	
}

/* STATIC */
article.ssc {
    font-size: 14px;
    padding: 30px 15px;
}

/* EXCURSIONS - GROUP TRIPS */
.mainBanner h1 {
	color: #fff;
	font-size: 26px;
	font-weight: 400;
	margin: 30px auto 0;
	text-align: center;
	text-shadow: 2px 2px 3.88px rgba(35, 31, 32, 0.9);
	width: 94%;
}

article .mainCta {
	background: rgba(0,0,0,0.6);
	color: #fff;
	display: block;
	height: auto;
	margin: 45px auto 100px;
	max-width: 810px;
	padding: 1.75% 2.57%;
	position: relative;
	width: 81%;
	vertical-align: top;	
}

article.travelAgents .mainCta {
    background: white;
    color: black;
    margin: 35px auto 30px;
    max-width: 920px;
    width: 90%;
}
article.travelAgents .mainCta p {
    font-family: 'Lato', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
article.travelAgents .mainCta p a {
    color: #258499;
}
article.travelAgents .pageDesc h3 {
    color: black;
    font-weight: bold;
    margin: 0 0 1em 0;
}

article.groups .mainCta {
    margin: 15px auto 100px;
    padding: 2% 3% 3%;
}

article .mainCta .form {
	border-right: 1px solid #eee;
	display: inline-block;
	padding-right: 35px;
	width: 44%;	
}

article.groups .mainCta .form {
	border-right: none;	
	padding-top: 15px;
}

.groups .mainCta .form select {
	margin: 10px 0 25px;	
}

article .mainCta .form p {
	font-size: 14px;
	margin: 0 0 10px;	
}

article .mainCta .pageDesc {
	display: inline-block;
	padding: 10px 0 0 45px;
	vertical-align: top;
	width: 55%;	
}

article.travelAgents .mainCta .pageDesc {
	display: inline-block;
	padding: 0;
	vertical-align: top;
	width: 100%;	
}

article.groups .mainCta .pageDesc {
	border-left: 1px solid #eee;
	padding: 0 0 0 40px;	
}

.pageDesc h3 {
	color: #ffc75a;
	font-size: 21px;
	font-weight: normal;
	margin: 0;	
}

.pageDesc p {
	margin: 10px 0;
	font-size: 14px;
	font-weight: 100;
	line-height: 17px;	
}

.agentBtns {
    width: 100%;
}

article.travelAgents .agentBtns input,
article.travelAgents .agentBtns a {
    display: inline-block;
    margin: 1.5em 20px 0 0;
}

/* WELCOME TO BETA */
.noBG article.welcomeToBeta {
    background: #fff;
}
.welcomeToBeta section {
    margin: 0 auto;
    max-width: 800px;
    padding: 20px 8px 0 8px;
}
.welcomeToBeta h3 {
    color: #258499;
    font-size: 20px;
}

/* EXPLORE ALL REGIONS */

.exploreRegions {
	background: #fff;
	overflow: hidden;
	width: 100%;	
}

.exploreRegions h2 {
	color: #11a09f;
	font-size: 48px;
	font-weight: 300;
	text-align: center;
	text-transform: uppercase;
}

.region.caribbean {
	background: url(/content/images/region-caribbean-lg.jpg) center center no-repeat;
	background-size: cover;	
}

.region.hawaii {
	background: url(/content/images/region-hawaii-lg.jpg) center no-repeat;
	background-size: cover;	
}

.region.alaska {
	background: url(/content/images/region-alaska-lg.jpg) center no-repeat;
	background-size: cover;
}

.region.asia {
	background: url(/content/images/region-asia-lg.jpg) center no-repeat;
	background-size: cover;
}

.region.southAm {
	background: url(/content/images/region-south-america-lg.jpg) center no-repeat;
	background-size: cover;
}

.region.australia {
	background: url(/content/images/region-australia-lg.jpg) 0 0 no-repeat;
	background-size: cover;
}

.region.europe {
	background: url(/content/images/region-europe-lg.jpg) right center no-repeat;
	background-size: cover;
}

.region.bermuda {
	background: url(/content/images/region-bermuda-lg.jpg) center no-repeat;
	background-size: cover;	
}

.region.florida {
	background: url(/content/images/region-florida-lg.jpg) center no-repeat;
	background-size: cover;
}

.region.mexico {
	background: url(/content/images/region-mexico-lg.jpg) center no-repeat;
	background-size: cover;
}

.region.neworleans {
	background: url(/content/images/region-new-orleans-lg.jpg) center no-repeat;
	background-size: cover;	
}

.region.newengland {
	background: url(/content/images/region-new-england-lg.jpg) center no-repeat;
	background-size: cover;	
}

.region.california {
	background: url(/content/images/region-california-lg.jpg) center no-repeat;	
	background-size: cover;
}

.region.middleEast {
	background: url(/Content/images/region-middle-east-lg.jpg) center no-repeat;
	background-size: cover;
}

.region {
	color: #fff;
	display: block;
	float: left;
	font-size: 28px;
	height: 0;
	line-height: 32px;
	margin-bottom: 2%;
	padding-bottom: 32%;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	width: 32%;
}

.region.left {
	margin-right: 2%; 	
}

.region.right {
	margin-left: 2%;	
}

.region.lg {
	width: 66%;	
}

.region a {
	bottom: 0;
	display: block;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;	
	width: 100%;
}

.region span {
	color: #fff;
	display: block;
	left: 10%;
	position: absolute;
    text-shadow: 1px 1px 2.94px rgba(35, 31, 32, 0.9);
	top: 43%;
	width: 80%;	
}
.region span:hover {
    color: #e16754;
}

.regionCTA {
	clear: both;
	padding: 25px 0 0;	
}

.exploreRegions input[type="button"] {
	background: #258499;
	border: none;
	border-radius: 6px;
	clear: both;
	color: #fff;
	display: block;
	font-size: 15px;
	font-weight: 300;
	letter-spacing: 1px;
	margin: 0 auto;
	padding: 8px 20px;
	text-transform: uppercase;		
}

.pageContainer {
	background: #fff;
	display: block;
	min-height: 100%;
	padding-left: 300px;
	position: relative;	
	width: 100%;
}

/* ITINERARY/PORT LIST ASIDE */
aside {
	background: #fff;
	border-right: 1px solid #e1e1e1;
	bottom: 0;
	display: block;
	left: 0;
    overflow-x: hidden;
	overflow-y: auto;
	padding-bottom: 0;
	position: fixed;	
	top: 165px;
	vertical-align: top;
	width: 300px;
	z-index: 1;
}

aside .toggleBtn {
	background: #ffc75a;
	border-radius: 0px 6px 6px 0px;
	color: #333;
	font-size: 30px;
	height: 40px;
	padding: 10px;
	position: absolute;
	right: -40px;
	text-align: center;
	width: 40px;
	z-index: 10;	
}

aside section {
	padding: 15px 0 0;	
}

.itinerary {
    padding-top: 15px;
    position: relative;
}

.itinerary .clearItinHolder {
    text-align: right;
}

.itineraryDescription{
    font-size: 10px;
}

.itinerary .clearItinerary {
    color: #666;
    display: block;
    font-size: 11px;
    line-height: 13px;
    padding-bottom: 10px;
    padding-right: 10px;
    text-decoration: none;
}

.clearItinerary::after {
    border: 1px solid #666;
    border-radius: 50%;
    content: 'x';
    display: inline-block;
    font-size: 11px;
    line-height: 8px;
    text-align: center;
    margin-left: 2px;
    height: 10px;
    width: 10px;
}

.sidebar-cruise-disclaimer {
    font-size: 10px;
    margin-bottom: 3px;
    padding: 0 3%;
}

.itinerary h3 {
	color: #258499;
	font-size: 18px;
	font-weight: normal;
	line-height: 24px;
	margin: 0 10px;	
	min-height: 24px;
	text-align: left;
}

.itinerary h3.groupTitle span {
	background: url(/content/images/icon-group-alt.png) 0 0 no-repeat;
	background-size: 31px 24px;	
	display: inline-block;
	line-height: 24px;
	padding-left: 35px;
}

.itinerary h3.tripPlanTitle span {
	background: url(/content/images/icon-trip-plan.png) 0 0 no-repeat;
	background-size: 24px;	
	display: inline-block;
	line-height: 24px;
	padding-left: 27px;
}

.itinerary h3 span {
	background: url(/content/images/icon-ship-alt.png) 0 0 no-repeat;
	background-size: 22px 24px;	
	display: inline-block;
	line-height: 24px;
	padding-left: 27px;
}

.itineraryTog {
	text-align: center;
	width: 100%;	
}

.tripPlannerTog {
    text-align: center;
    width: 100%;
}

input.itineraryBtn {
	background: #fff;
	border: 1px solid #258499;
	border-radius: 6px;
	color: #258499;
	font-size: 11px; 
	margin: 10px auto;
	padding: 10px 12px;
	text-transform: uppercase;
}

input.itineraryBtn:hover {
    background: #258499;
    color: #fff;
}

.itinerary .portList {
	padding: 15px 0 0;	
}

.itinerary p.header {
	font-size: 11px;
	margin: 0 10px 10px;	
}

.itinerary .portList > div {
	margin-left: 10px;
	margin-right: 10px;	
}

aside .itineraryBtns {
	background: rgba(225,225,225,0.8);
	margin: 0 !important;
    padding: 10px 15px;
    left: 0;
    bottom: 0;
	text-align: center;
	width: 100%;
	z-index: 100;
}

aside .itineraryBtns.fixed {
	position: fixed;
    bottom: 0px;
    width: 300px;
}

.itineraryBtns input[type="button"] {
	border-radius: 6px;
	font-size: 11px;
	padding: 8px;	
	text-transform: uppercase;
}

.itineraryBtns .saveItinerary {
    background: #fff;
    border: 1px solid #258499;
	color: #258499;	
	margin-right: 2%;
    width: 53%;
}

.itineraryBtns .addAllBtn {
    background: #e16754;
    border: 1px solid #e16754;
    color: #FFF;
    width: 43%;
}

.itineraryBtns .addAllBtn:hover,
.itineraryBtns .saveItinerary:hover {
    background: #258499;
    border: 1px solid #258499;
    color: #fff;
}

.plannerList .addAllBtn {
    background: #e16754;
    border: none;
    border-radius: 6px;
    clear: right;
    color: #fff;
    display: block;
    float: right;
    font-size: 14px;
    letter-spacing: 0.5px;
    padding: 6px 10px 7px;
    position: absolute;
    right: 130px;
    text-decoration: none;
    text-transform: uppercase;
    margin: 0px 10px 10px 10px;
}

.plannerList .addAllBtn:hover{
    background: #258499;
    border: 1px solid #258499;
    color: #fff;
}

.portList .port {
	overflow: hidden;
	padding-top: 40%;
	position: relative;	
}

.portList .port a {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
}

.portWrap.selected .port {
    border: none;
}

.portList .port.noTrips {
    background: #a0a0a0;
	padding-top: 25%;	
}

.portList .portWrap.atSea .port {
    background: #fff;
    padding-top: 0;
}

.portWrap {
    border: 1px solid #a0a0a0;
    margin-bottom: 10px;
}

.portList .portWrap.selected {
    border: 2px solid #a1a1a1;
	box-shadow: 2px 2px 2px 0px rgba(35, 31, 32, 0.42);
}

.portList .portWrap.hasTrips:hover {
	box-shadow: 2px 2px 2px 0px rgba(35, 31, 32, 0.42);
}

.portList .portWrap.atSea:hover {
    box-shadow: none;
}

.portList .port.noTrips.selected,
.portList .port.noTrips:hover {
    box-shadow: none;
}

.portList .port img {
	height: auto;
	left: 0;
	position: absolute;
	top: 75px;
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
	width: 100%;
	z-index: 1;
}

.portList .port::after {
    background: rgba(0, 0, 0, 0.2);
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1;
}

.portList .atSea .port::after {
    background: none;
}

.portList .port:hover::after {
    background: rgba(0, 0, 0, 0.4);
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1;
}

.portList .atSea .port::after,
.portList .atSea .port:hover::after,
.portList .port.noTrips::after,
.portList .port.noTrips:hover::after {
    background: none;
    box-shadow: none;
}

.portList .port .portTitle {
	color: #fff;
	font-size: 22px;
	line-height: 26px;
	position: absolute;
	text-align: center;
	text-shadow: 2px 2px 3.88px rgba(35, 31, 32, 0.9);
	text-transform: uppercase;
	top: 23%;
	width: 100%;
	z-index: 2;	
}

.portList .port.noTrips .portTitle {
    font-size: 18px;
    line-height: 20px;
    padding: 0 10px;
	top: 10%;	
}

.portList .atSea .port.noTrips .portTitle {
    color: #666;
    font-weight: bold;
    padding: 8px 0;
    position: static;
    text-shadow: none;
}

.port.selected p {
	display: none;	
}

.portList .port p {
	color: #fff;
	font-size: 14px;
	font-style: italic;
	margin: 0;
	position: absolute;
	text-align: center;
	text-shadow: 2px 2px 2px rgba(35, 31, 32, 0.9);
	top: 10%;
	width: 100%;
	z-index: 2;	
}

.port .portTitle span {
	display: block;
	font-size: 18px;	
}

.port .portInfo {
	background: #fff;
	overflow: hidden;
	padding: 5px;	
	position: relative;
	z-index: 2;	
}

.atSea .port .portInfo {
    padding: 0 5px 5px;
}

.port .portInfo div {
	display: block;
	float: left;
	text-align: center;
	width: 33.333%;	
}

.portInfo div span {
	color: #333;
	display: block;
	font-size: 13px;
	font-weight: 700;	
	line-height: 16px;
	text-transform: uppercase;
    white-space: nowrap;
}

.portInfo div span.label {
	font-size: 12px;
	text-transform: capitalize;	
}

.portInfo div.departure {
	float: right;	
}

.excursionAdded {
	background: #e1e1e1;
    margin: 10px;
    overflow: hidden;
	padding: 6px;	
}

.excursionAdded.justAdded { 
    background: rgba(104, 221, 247, 0.5);
}

.excursionTitle {
    color: #333;
	display: block;
	font-size: 12px;
    font-weight: 600;
    line-height: 15px;
    padding-bottom: 10px;
	max-width: 100%;
    overflow: hidden;
	vertical-align: top;
}

input.remove {
	background: url(/content/images/icon-trash.png) 0 0 no-repeat;
	background-size: contain;
	border: none;
	display: inline-block;
	height: 16px;
	margin: 2px 5px 0;
	vertical-align: top;
	width: 14px;	
}

.view-in-cart {
	float: right;
	font-size: 11px;
	color: #258499;
	line-height: 18px;
	margin-right: 10px;
	text-transform: uppercase;
	vertical-align: middle;	
}

.excursionAdded input.addToCart {
	background: #e16754;
	border: none;
	border-radius: 6px;
	color: #fff;
	float: right;
	font-size: 10px;
	padding: 8px;
	position: relative;
	text-transform: uppercase;
	top: -5px;
	vertical-align: middle;	
}

.excursionAdded input.addToCart:hover {
    background: #258499;
}

/* PORT LIST ASIDE */
.regionPorts h3 {
	color: #258499;
	font-size: 18px;
	font-weight: 400;
	margin: 0 10px;
}

.regionPorts h3 span {
    background: url(/content/images/icon-region.png) 0 0 no-repeat;
    background-size: 24px 24px;
    display: inline-block;
    line-height: 24px;
    padding-left: 29px;
}

.portsTog {
	text-align: center;	
}

.regionPortFilter {
    text-align: center;
}

.regionPortFilter select {
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff url(/content/images/icon-select-arrows.png) 98% center no-repeat;
    background-size: 10px 17px;
	border: 1px solid #ababab;
	border-radius: 0;
	color: #666;
	height: 30px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1px;
	line-height: 30px;
	margin-bottom: 15px;
	padding: 0 10px;
	width: 80%;
}

.regionPortFilter select::-ms-expand {
    display: none;
}

.regionPortList {
	margin: 15px 0;	
}

.regionPorts .regionPort {
	clear: both;
	line-height: 0;
	margin: 10px;
	overflow:hidden;
	padding-top: 46%;
	position: relative;	
}

.regionPort.selected {
	box-shadow: 2px 3px 4px 1px rgba(0, 0, 0, 0.4);	
}

.regionPort img {
	height: auto;
	left: 0;
    min-height: 100%;
    min-width: 100%;
	position: absolute;
	top: 80px;
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
	width: auto;
	z-index: 1;	
}

.regionPort::after {
    background: rgba(0,0,0,0.4);
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 2;
}

.regionPort:hover::after {
    background: rgba(0, 0, 0, 0.6);
}

.regionPort p {
	color: #fff;
	font-size: 14px;
	font-style: italic;
	margin: 0;
	position: absolute;
	text-align: center;
    text-shadow: 2px 2px 2px rgba(35, 31, 32, 0.9);
	top: 20%;
	width: 100%;
	z-index: 3;	
}

.regionPort.selected p {
	display: none;	
}

.regionPort .regionTitle {
    font-size: 18px;
    left: 2%;
	line-height: 23px;
	position: absolute;
	text-align: center;
    text-shadow: 2px 2px 3.88px rgba(35, 31, 32, 0.9);
	text-transform: uppercase;
	top: 30%;
	width: 96%;
	z-index: 3;
}

.regionPort span {
	color: #fff;
	display: block;		
}

.regionPort span a {
    color: #fff;
    text-decoration: none;
    text-shadow: 2px 2px 3.88px rgba(35, 31, 32, 0.9);
}

.regionPort span.city {
	font-size: 22px;
	top: 35%;
}

.regionPort span.regionArea {
    font-size: 20px;
}

.regionPort span.country {
    font-size: 16px;
}

/* PORT PAGE */
.noBG article {
	background: #f5f5f5;
	display: block;
	left: 0;
	overflow: hidden;
	position: relative;
	vertical-align: top;
	width: 100%;	
}

.portView .container {
    margin: 0 auto;
    max-width: 960px;
}

.portView {
	padding: 40px 0;	
}

.topBanner {
	margin-bottom: 25px;
	width: 100%;	
}

.portImg {
	display: inline-block;
	max-width: 400px;
    overflow:hidden;
	position: relative;
	padding-top: 22.222%;
	width: 45%;	
    z-index: 1;
}

.portImg img {
    height: auto;
	left: 0;
    max-width: 100%;
    min-height: 100%;
    min-width: 100%;
	position: absolute;
	top: 0;	
    width: auto;
    z-index: 1;
}

.portImg::after {
    background: rgba(0,0,0,0.4);
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 2;
}

.portImg h1 {
	color: #fff;
	font-size: 32px;
	font-weight: 400;
	line-height: 36px;
	margin: 0;
    padding: 0 2%;
	position: absolute;
	text-align: center;
    text-shadow: 2px 2px 2px rgba(35, 31, 32, 0.9);
	top: 25%;
	width: 96%;	
    z-index: 3;
}

.portImg h1 span {
	display: block;
	font-size: 18px;
	line-height: 20px;	
}

.portDesc {
	display: inline-block;
	font-size: 14px;
	line-height: 17px;
	margin: 0;
	max-width: 450px;
	padding: 2%;
	position: relative;
	vertical-align: top;
	width: 50%;	
}

.portDesc a {
    color:#333;
}

.overview {
	background: #fff;
	border: 1px solid #e1e1e1;	
	margin-bottom: 10px;
	overflow: hidden;
	padding: 15px;
    position: relative;
}

.overview .left {
	display: block;
	float: left;
	padding: 0 20px 0 10px;
	width: 45%;	
}

.overview p {
	font-size: 12px;
	line-height: 16px;
	margin: 10px 0;
}

.overview h2 {
	color: #258499;
	font-size: 18px;
	font-weight: 400;
	margin: 10px 0 15px;	
}

.overview .groupDetails div {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	padding: 10px 10px 10px 0;
	width: 49%;	
}

.overview .groupDetails div span {
	display: block;
	font-weight: 400;
}

.overview h3 {
	border-bottom: 1px solid #258499;
	color: #258499;
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	margin: 0 10px;
	padding: 10px 0 5px;
	text-transform: uppercase;
	width: 90%;
}

.overview h3 span {
	font-size: 12px;
	text-transform: none;
	white-space: nowrap;
}

.overview ul.tripCats {
	margin: 10px;
	padding: 0;
	list-style: none;	
}

.noTripsInPort span {
    display: block;
    margin: 6px 0px;
}

.noTripsInPort.mobile {
    background-color: white;
    display: none;
    padding: 15px;
}

.tripCats li {
	font-size: 13px;
	margin: 5px 0;	
}

.tripCats li a {
	color: #666;	
    text-decoration: none;
    text-transform: uppercase;
}

.tripCats li a:hover {	
    text-decoration: underline;
}

.portMap {
	float: right;
	line-height: 0;
    min-height: 300px;
	position: relative;
	text-align: right;
	width: 55%;	
}

/*#show-the-map {
    display: none;
    padding: 10px;
    border: 1px solid #ff33cc;
}*/

.overview .right {
    float: right;
    position: relative;
    width: 55%;
}

.portMap .map {
    bottom: 0px;
    left: 0px;
	position: absolute;
    right: 0px;
    top: 0px;

    /* Need to reset these for the infoWindow (popup) to work: */
    float: none;
    line-height: normal;
    overflow: hidden;
    text-align: left;
}

.excList h2 {
	background-color: #258499;
	background-image: url(/content/images/icon-plus.png);
	background-position: 98% center;
	background-repeat: no-repeat;
	background-size: 40px;
    color: #fff;
	cursor: pointer;
    font-size: 18px;
	line-height: 20px;
	margin: 15px 0;
	padding: 15px 60px 15px 20px;	
    text-transform: uppercase;
}
	
.excList.open h2 {
	background-image: url(/content/images/icon-minus.png);
}	

.excList h2 span {
    display: block;
}

.excList h2 .categorySubtitle {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    margin-top: 4px;
    text-transform: none;
}

.selectedByPlanOwner {
    background: white;
    margin-bottom: 15px;
    padding: 8px;
}

.listWrap div a {
    color: #258499;
}

.listingWrap {
    position: relative;
}

.excItem {
	background: #fff;
	overflow: hidden;
	position: relative;
	margin-bottom: 20px;
	padding: 15px 10px;	
}

.excItem:hover {
	box-shadow: 2px 3px 4px 1px rgba(0, 0, 0, 0.4);	
}

.tripListingAdmin {
    background: #fff;
    padding: 4px;
}
.tripListingAdmin > label {
    margin-right: 3px;
}
.tripListingAdmin > a {
    margin-right: 12px;
}

.overview .featuredIcons {
    bottom: 12px;
    left: 15px;
    top: auto;
    width: 42%;
}

.overview .featuredIcons div {
    font-size: 11px;
    line-height: 35px;
    margin-right: 10%;
    padding-left: 40px;
    width: auto;
}

.featuredIcons {
    display: block;
    position: absolute;
    left: -5px;
    top: -5px;
    z-index: 10;
}

.featuredIcons > div {
    float: left;
    margin-right: 5px;
    height: 35px;
    width: 35px;
}

.featuredIcons .featIcon {
    background: url(/Content/images/icon-featured-trip.png) 0 0 no-repeat;
    background-size: 35px;
}

.featuredIcons .valIcon {
    background: url(/Content/images/icon-value-trip.png) 0 0 no-repeat;
    background-size: 35px;
}

.excImg {
	float: left;
	height: 100%;
	max-height: 130px;
	margin-right: 2%;
	position: relative;
	overflow: hidden;
	width: 21%;
}	

.excImg img {
	height: 100%;
	max-width: none;
	position: relative;
	width: 100%;	
}

.excInfo {
	float: left;
	height: auto;
	max-width: none;
	min-height: 130px;
	position: relative;
	width: 77%;	
}

.excInfo h3 {
	color: #258499;
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 18px;
	margin: 0 150px 0 0;	
	max-width: 560px;
	text-decoration: none;
}

.excInfo a {
    text-decoration: none;
}

.excInfo p {
    color: #333;
	display: block;
	font-size: 11px;
	line-height: 13px;
	margin: 5px 150px 0 0;
    text-decoration: none;
}
@media screen and (min-width: 601px) {
    .excInfo p.additionalFields {
        margin-right: 170px;
    }
}
@media screen and (min-width: 701px) {
    .excInfo p.additionalFields {
        margin-right: 270px;
    }
}

.excInfo p span {
	font-weight: bold;	
}

.excInfo .details {
    margin-top: 5px;
    margin-bottom: 10px;
}

.excInfo .startTime {
    white-space: nowrap;
    font-weight: normal;
    margin-right: 5px;
}

.comPricing {
    clear: both;
    display: none;
    overflow: hidden;
    padding: 15px 0 20px;
}

.comPricing .disclaimer {
    text-align: right;
}

.pricingWrap {
    border: 1px solid #ababab;
    float: right;
    max-width: 550px;
    padding: 10px;
    position: relative;
    width: 100%;
}

.comPricing .pricePt {
    padding: 0;
}

.comPricing div > span {
    padding-right: 5px;
    text-align: left;
    white-space: nowrap;
    width: auto;
}

.comPricing div > span.priceNum {
    padding-right: 0;
    text-align: right;
}

.js-close-pricing {
    background: url(/Content/images/icon-up-arrow.png) 0 0 no-repeat;
    background-size: 20px;
    cursor: pointer;
    display: block;
    height: 20px;
    width: 20px;
    position: absolute;
    bottom: 5px;
    right: 10px;
}

.excIcons {
	bottom: 0;
	margin-top: 30px;	
	position: absolute;
	width: 100%;
}

.excIcons ul {
	display: inline-block;
	list-style: none;
	margin: 0;
	max-width: 450px;
	padding: 0;	
	width: 90%;
}

.excInfo ul li {
	display: inline-block;
	color: #a0a0a0;
	font-size: 11px;
	padding-top: 35px;
	text-align: center;
	width: 23%;	
}

/* EXCURSION ICONS */
li.transportation.car {
	background: url(/content/images/icon-car.png) center top no-repeat;
	background-size: 37px 35px;
}

li.transportation.train {
	background: url(/content/images/icon-train.png) center top no-repeat;
	background-size: 30px 35px;	
}

li.hotel {
	background: url(/content/images/icon-hotel.png) center 8px no-repeat;
	background-size: 49px 27px;
}

li.tour.bus {
	background: url(/content/images/icon-bus.png) center top no-repeat;
	background-size: 29px 35px;
}

li.tour.boat {
	background: url(/content/images/icon-ship.png) center top no-repeat;
	background-size: 32px 35px;
}

li.tour.walking {
	background: url(/content/images/icon-walking-tour.png) center top no-repeat;
	background-size: 33px 35px;
}

li.tour.biking {
	background: url(/content/images/icon-bike.png) center 4px no-repeat;
	background-size: 60px 31px;
}

li.duration {
	background: url(/content/images/icon-clock.png) center top no-repeat;
	background-size: 35px 35px;	
}

li.meal {
	background: url(/content/images/icon-meal.png) center top no-repeat;
	background-size: 17px 35px;	
}

li.group {
	background: url(/content/images/icon-group.png) center top no-repeat;
	background-size: 45px 35px;	
}

li.language {
	background: url(/content/images/icon-language.png) center top no-repeat;
	background-size: 35px 35px;	
}

li.beverage.glass {
	background: url(/content/images/icon-beverage-glass.png) center top no-repeat;
	background-size: 34px 35px;	
}

li.beverage.cup {
	background: url(/content/images/icon-beverage-cup.png) center top no-repeat;
	background-size: 50px 35px;	
}

li.water {
	background: url(/content/images/icon-water.png) center top no-repeat;
	background-size: 37px 35px;	
}

li.age.child {
	background: url(/content/images/icon-child.png) center top no-repeat;
	background-size: 22px 35px;	
}

li.gps {
	background: url(/content/images/icon-gps.png) center top no-repeat;
	background-size: 26px 35px;	
}

li.flight {
	background: url(/content/images/icon-flight.png) center top no-repeat;
	background-size: 41px 35px;	
}

li.luggage {
	background: url(/content/images/icon-luggage.png) center top no-repeat;
	background-size: 45px 35px;	
}

li.notIncluded {
	background: url(/content/images/icon-not-included.png) center top no-repeat;
	background-size: 35px 35px;	
}

.pricing {
    color: #333;
	display: block;
	line-height: 16px;
	position: absolute;
	right: 0;
	top: 0;
	text-align: right;	
}

.pricing span {
	display: block;
	font-family: 'Merriweather', Georgia, serif;
	font-size: 11px;	
	line-height: 13px;
	margin: 2px 0;
	max-width: 150px;
}

.pricing a.completePricing {
    color: #258499;
    display: block;
    font-size: 11px;
    font-weight: bold;
    line-height: 12px;
    text-decoration: underline;
}

.excActions {
	bottom: 0;
	float: right;
	height: auto;
	left: auto;
	position: absolute;
	right: 0;
	text-align: right;
	top: auto;
	width: auto;	
}

.addToCartBtn {
	background: #e16754;
	border: none;
	border-radius: 6px;
	color: #fff;
	display: block;
	font-weight: 300;
	letter-spacing: 1px;
	margin: 20px 0 15px;
	float: right;
	font-size: 15px;
	padding: 10px 15px;	
    text-align: center;
	text-transform: uppercase;
}

.addToCartBtn:hover {
    background: #258499;
}

.addToCartPlaceholder {
    visibility: hidden;
    height: 0px;
    white-space: nowrap;
}

.addToCartBtn::after {
    content: "Add To Cart";
}

.addToCartBtn.inCart::after {
    content: "In Cart";
}

.excActions .addToCartBtn {
    color: #fff;
	bottom: 0;
	margin: 0;
	position: absolute;
	right: 0;	
}

a.addToItinerary {
	background: url(/content/images/icon-itinerary.png) 0 0 no-repeat;
	background-size: 20px 15px;
	clear: left;
	color: #333;
	display: block;	
	float: left;
	font-size: 11px;
	line-height: 15px;
	padding-left: 25px;
	position: relative;
	right: 25px;
	text-decoration: none;
	width: 80px;
}

.excActions a.addToItinerary {
	bottom: 10px;
	position: absolute;
	right: 160px;	
}

a.addToTripPlanner {
    background: url(/content/images/icon-itinerary.png) 0 0 no-repeat;
    background-size: 20px 15px;
    clear: left;
    color: #333;
    display: block;
    float: left;
    font-size: 11px;
    line-height: 15px;
    padding-left: 25px;
    position: relative;
    right: 25px;
    text-decoration: none;
    width: 100px;
}

.excActions a.addToTripPlanner {
    bottom: 10px;
    position: absolute;
    right: 160px;
}

/* PRODUCT PAGE */
.productView {
	padding: 25px 0;	
}

.tripActions { 
    left: 6%;
    max-width: 960px;
    overflow: hidden;
    padding-bottom: 25px;
    position: relative;
}

.backLink {
	color: #a0a0a0;
	display: block;
    float: left;
	font-size: 12px;
	left: 0;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;	
}

.tripActions div {
    float: right;
}

.tripActions .printBtn {
    background: url(/Content/images/icon-print.png) right center no-repeat;
    background-size: contain;
    color: #2f2f2f;
    font-size: 11px;
    line-height: 13px;
    margin-left: 25px;
    padding: 1px 23px 2px 0;
    text-decoration: none;
    text-transform: uppercase;
}

.tripActions .askBtn {
    background: url(/Content/images/icon-email.png) right 1px no-repeat;
    background-size: 20px;
    color: #2f2f2f;
    font-size: 11px;
    line-height: 13px;
    padding: 1px 27px 2px 0;
    text-decoration: none;
    text-transform: uppercase;
}

.tripActions a:hover {
    text-decoration: underline;
}

.productView .container {
    left: 6%;
    margin: 0;
	max-width: 960px;
	overflow:hidden;	
}

.topBanner {
	background: #fff;
	overflow: hidden;	
}

.topBanner .productImg {
	float: left;
	height: auto;
	line-height: 0;
	max-width: 410px;
	overflow: hidden;
    position: relative;
	width: 43%;
}

.topBanner .productImg img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.topBanner .productImg .layoutOnly img {
    visibility: hidden;
    position: relative;
    left: 0;
    right: 0;
}

@keyframes tripImage1 {
    0% {
        opacity: 1;
    }
    40% {
        opacity: 1;
    }
    60% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

@keyframes tripImage2 {
    0% {
        opacity: 0;
    }
    40% {
        opacity: 0;
    }
    60% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

.tripImage1, .tripImage2 {
    animation-duration: 8s;
    -webkit-animation-duration: 8s;
    animation-delay: 4s;
    -webkit-animation-delay: 4s;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    animation-direction: alternate;
    -webkit-animation-direction: alternate;
}

.tripImage1 {
    animation-name: tripImage1;
    -webkit-animation-name: tripImage1;
}

.tripImage2 {
    animation-name: tripImage2;
    -webkit-animation-name: tripImage2;
    opacity: 0;
}

.topBanner .pricingInfo {	
	float: left;
	padding: 2% 3% 1%;
	width: 57%;
}

.pricingInfo .priceWarning {
    font-size: 13px;
    padding-bottom: 10px;
}

.pricingInfo .priceCat {
	float: none;
	margin: 0 auto 10px;
	padding: 0;
	width: 80%;	
}

.pricingInfo .priceCat.left {
	border-right: 1px solid #e1e1e1;	
}

.priceCat .catHead {
	display: block;	
	font-size: 14px;
	margin-bottom: 5px;
}

.priceCat .pricePt {
	display: block;	
	font-size: 12px;
    line-height: 16px;
    padding: 2px 0 3px;
}

.priceCat .pricePt span {
    display: inline-block;
    vertical-align: top;
}

.priceCat .pricePt .pricePtWrap {
    max-width: 77%;
    width: auto;
}

.priceCat .pricePt .pricePtWrap span {
    display: inline;
}

.pricePt .priceNum {
    float: right;
	font-size: 14px;	
	font-weight: 700;
    max-width: 35%;
    text-align: right;
}

.pricingInfo .optAddons {
	border-top: 1px solid #e1e1e1;
	clear: both;
	display: block;
	font-size: 14px;
	padding: 2% 3% 0;	
}

.optAddons .catHead {
	display: block;
	margin-bottom: 5px;	
}

.optAddons .pricePt {
	display: block;	
}

.optAddons .pricePt .priceNum {
	float: none;
	margin-left: 10px;	
}

.prodDesc .addToItinerary {
	float: none;
	left: 0;
	margin: 0 0 25px;
	right: 0;	
}

.pricingInfo input.addToCart {
	background: #e16754;
	border: none;
	border-radius: 6px;
	color: #fff;
	display: block;
	font-size: 18px;
	margin: 25px auto 2px;
	padding: 8px 10px;
	text-transform: uppercase;
	width: 70%;
}

.pricingInfo input.addToCart:hover {
    background: #258499;
}

.pricingInfo input.addToTripPlanner {
    background: #e16754;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: block;
    font-size: 18px;
    margin: 25px auto 2px;
    padding: 8px 10px;
    text-transform: uppercase;
    width: 70%;
}

.pricingInfo input.addToTripPlanner:hover {
    background: #258499;
}

.mobileExcActions {
    visibility: hidden;
}

.disclaimer {
	clear: both;
	display: block;
	font-size: 11px;
	text-align: center;
	width: 100%;	
}

.prodContent {
	overflow: hidden;	
}

h1.prodTitle {
    clear: left;
	color: #258499;
    display: block;
    float: left;
	font-size: 24px;
	font-weight: 700;
    line-height: 27px;
	margin: 20px 0;
    max-width: 80%;
}

h1.prodTitle.mobile {
    display: none;
}

.shareTrip {
    clear: right;
    float: right;
    font-size: 11px;
    min-width: 181px;
    position: relative;
    text-transform: uppercase;
    top: 20px;
    width: auto;
}

.shareTrip span {
    display: inline-block;
    vertical-align: middle;
}

.shareTrip input,
.shareTrip a {
    border: none;
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
}

.shareTrip .emailBtn {
    background: url(/Content/images/icon-email.png) 0 4px no-repeat;
    background-size: contain;
    height: 23px;
    width: 23px;
}

.shareTrip .fbBtn {
    background: url(/Content/images/icon-fb-alt.png) 0 0 no-repeat;
    background-size: contain;
    height: 20px;
    width: 20px;
}

.shareTrip .twitterBtn {
    background: url(/Content/images/icon-twitter-alt.png) 0 0 no-repeat;
    background-size: contain;
    height: 20px;
    width: 20px;
}

.prodDesc {
    clear: left;
	float: left;
	font-size: 12px;
	line-height: 18px;
	padding-right: 6%;
	width: 50%;	
}

.prodDesc h4 {
	font-size: 18px;
	font-weight: 700;
	font-style: italic;
	margin: 15px 0 5px;	
}

.prodDesc p {
	margin: 0 0 25px;	
}

.prodDesc .intro,
.prodDesc .outro {
	font-size: 14px;
	font-style: italic;	
}

.prodDetails {
	float: right;
	width: 50%;	
}

.prodContent h2 {
    color: #258499;
	font-size: 18px;
	font-weight: 700;
	margin: 25px 0 10px;
	text-transform: uppercase;	
}

.prodIncludes {
	background: #fff;	
	font-size: 12px;
	padding: 10px 15px;
}

.prodIncludes ul {
	list-style: none;
    margin: 8px 0 0 0;
	padding: 0;	
}

.prodIncludes ul:first-child {
    margin: 0;
}

.prodIncludes ul li {
	font-family: 'Merriweather', Georgia, serif;
	font-size: 12px;
	line-height: 16px;
	padding-left: 1em;
	text-indent: -0.85em;
}

.prodIncludes ul li:before {
	content: "• ";
	color: #e16754;	
	font-size: 16px;
}

.prodIncludes li.lh {
	font-family: 'Lato', Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;	
}

.prodIncludes ul li.lh:before {
	content: "";	
}


.additionalLanguages {
    background: #fff;
    font-size: 12px;
    padding: 10px 15px;
}

.additionalLanguages ul {
    list-style: none;
    margin: 8px 0 0 0;
    padding: 0;
}

.additionalLanguages ul:first-child {
    margin: 0;
}

.additionalLanguages ul li {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 12px;
    line-height: 16px;
    padding-left: 1em;
    text-indent: -0.85em;
}

.additionalLanguages ul li:before {
    content: "• ";
    color: #e16754;
    font-size: 16px;
}

.additionalLanguages li.lh {
    font-family: 'Lato', Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.additionalLanguages li.note {
    padding-left: 3em;
    font-style: italic;
}
.additionalLanguages ul li.note:before {
    content: "";
}

.additionalLanguages ul li.lh:before {
    content: "";
}

.detailsList ul {
	list-style: none;
	margin: 0;
	padding: 0;	
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
}

.detailsList li {
    color: #a0a0a0;
    display: inline-block;
    margin: 10px 0;
	padding-left: 40px;	
}

.detailsList li span {
    font-size: 14px;
    font-weight: 700;
    line-height: 14px;
}

.detailsList li p {
    font-size: 12px;
    line-height: 16px;
    margin: 0;
}

.departureTimes {
    font-size: 12px;
    margin: 15px 0;
}

.departureTimes ul {
    padding-left: 20px;
}

.taxiInstructions span {
    display: block;
    font-size: 12px;
    line-height: 16px;
    margin-top: 5px;
}

.specialInstructions,
.restrictions {
    font-size: 12px;
    line-height: 16px;
}

.specialInstructions div,
.restrictions div {
    padding-left: 5px;
}

/* PRODUCT DETAILS ICONS */
.detailsList li.transportation.car {
	background: url(/content/images/icon-car.png) 0 5px no-repeat;
	background-size: 33px 31px;
    min-height: 36px;
}

.detailsList li.transportation.train {
	background: url(/content/images/icon-train.png) 1px 5px no-repeat;
	background-size: 30px 35px;	
    min-height: 40px;
}

.detailsList li.hotel {
	background: url(/content/images/icon-hotel.png) 0 5px no-repeat;
	background-size: 33px 18px;
    min-height: 23px;
}

.detailsList li.tour.bus {
	background: url(/content/images/icon-bus.png) 2px 5px no-repeat;
	background-size: 29px 35px;
    min-height: 40px;
}

.detailsList li.tour.walking {
	background: url(/content/images/icon-walking-tour.png) 0 5px no-repeat;
	background-size: 33px 35px;
    min-height: 40px;
}

.detailsList li.tour.biking {
	background: url(/content/images/icon-bike.png) 0 5px no-repeat;
	background-size: 33px 17px;
    min-height: 22px;
}

.detailsList li.duration {
	background: url(/content/images/icon-clock.png) 0 5px no-repeat;
	background-size: 33px 33px;	
    min-height: 38px;
}

.detailsList li.meal {
	background: url(/content/images/icon-meal.png) 6px 5px no-repeat;
	background-size: 21px 45px;	
    min-height: 50px;
}

.detailsList li.group {
	background: url(/content/images/icon-group.png) 3px 5px no-repeat;
	background-size: 26px 33px;	
    min-height: 38px;
}

.detailsList li.language {
	background: url(/content/images/icon-language.png) 0 5px no-repeat;
	background-size: 33px 33px;	
    min-height: 38px;
}

.detailsList li.beverage.glass {
	background: url(/content/images/icon-beverage-glass.png) 2px 5px no-repeat;
	background-size: 29px 30px;	
    min-height: 36px;
}

.detailsList li.beverage.cup {
	background: url(/content/images/icon-beverage-cup.png) 0 5px no-repeat;
	background-size: 35px 25px;	
    min-height: 31px;
}

.detailsList li.water {
	background: url(/content/images/icon-water.png) 0 5px no-repeat;
	background-size: 33px 31px;	
    min-height: 36px;
}

.detailsList li.age.child {
	background: url(/content/images/icon-child.png) 3px 5px no-repeat;
	background-size: 26px 42px;	
    min-height: 47px;
}

.detailsList li.gps {
	background: url(/content/images/icon-gps.png) 2px 5px no-repeat;
	background-size: 28px 38px;	
    min-height: 43px;
}

.detailsList li.flight {
	background: url(/content/images/icon-flight.png) 0 5px no-repeat;
	background-size: 33px 28px;	
    min-height: 33px;
}

.detailsList li.luggage {
	background: url(/content/images/icon-luggage.png) 0 5px no-repeat;
	background-size: 33px 26px;	
    min-height: 31px;
}

.detailsList li.notIncluded {
	background: url(/content/images/icon-not-included.png) 0 5px no-repeat;
	background-size: 33px 33px;	
    min-height: 38px;
}

.daysOperation {
	width: 100%;	
}

.daysOpen {
	background: #fff;
	display: table;	
	margin-top: 15px;
	width: 100%;
}

.daysOpen .day {
	border-right: 1px solid #f5f5f5;
	display: table-cell;
	padding: 6px 0 35px;
	text-align: center;	
	width: 14.2%;
}

.daysOpen .day.open {
	background: url(/content/images/icon-checkmark.png) center 22px no-repeat;
	background-size: 25px 20px;	
}

.daysOpen .day.closed {
	background: url(/content/images/icon-x.png) center 22px no-repeat;
	background-size: 20px;	
}

.daysOpen .day span {
	color: #a0a0a0;
	font-size: 12px;
	line-height: 1em;
	text-transform: uppercase;	
}

.printableDays {
    display: none;
    font-size: 12px;
    line-height: 16px;
}

.reviewsSec {
	float: left;
	overflow:hidden;
	padding-top: 0;
	width: 46%;	
}

.tripReviews {
	margin-top: 15px;
    overflow: hidden;
}

.tripReviews .review {
	background: #fff;
	color: #777;
	float: left;
	margin: 0 0 4% 0;
	padding: 5%;
	width: 100%;	
}

.tripReviews .review p {
	font-size: 12px;
	line-height: 16px;
	margin: 0;
}

.tripReviews .review p.reviewer {
	font-size: 14px;
	margin-top: 5px;
	text-align: right;	
}

.showAllReviews {
    background: #fff;
    border: 1px solid #258499;
    border-radius: 6px;
    color: #258499;
    display: block;
    font-size: 11px;
    margin: 0 auto;
    padding: 5px 10px 6px;
    text-transform: uppercase;
}

.showAllReviews:hover {
    background: #258499;
    color: #fff;
}

/* DESTINATIONS */
.destinationsBG {

}

.bigMap {
	height: 512px;
	margin: 0 auto;	
	max-width: 1000px;
}

.destNav {
    margin-top: 30px;
}

.destNav h3 {
    color: #ffc75a;
    font-size: 18px;
    margin: 0 0 10px;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}

.destNav .mainCta {
    max-width: 1000px;
    padding: 25px;
    width: 96%;
}

.destNav .content {
    margin: 0 auto;
    text-align: center;
    width: 100%;
}

.destNav .content > div {
    display: inline-block;
    padding: 20px 0;
    width: 250px;
}

.destNav .content > div span {
    display: block;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 1px;
    padding: 0 0 5px;
}

.destNav .content .orSep {
    font-size: 14px;
    margin: 0;
    padding: 0 1.5%;
    width: auto;
}

.content select {
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff url(/content/images/icon-select-arrows.png) 98% center no-repeat;
    background-size: 10px 17px;
	border: none;
	border-radius: 0;
	color: #666;
	height: 30px;
    font-size: 15px;
	font-weight: 400;
	letter-spacing: 1px;
	line-height: 30px;
	padding: 0 10px;
    width: 100%;
}

.content select:disabled, .mainbox select:disabled, .mainCta select:disabled {
    background-color: #e3e3e3;
}

.content select::-ms-expand {
    display: none;
}

.destNav .goBtn {
    text-align: center;
    width: 100%;
}

.goBtn input {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    padding: 5px 12px 6px;
    text-transform: uppercase;
}

.regionsMap {
    background: #fff;
    padding-top: 30px;
}

.regionsMap h2 {
    color: #11a09f;
    font-size: 48px;
    font-weight: 300;
    margin: 0 0 30px;
    text-align: center;
    text-transform: uppercase;
}

/* REGION AND COUNTRY PAGE */
.noBG article.regionView,
.noBG article.countryView {
    background: #fff;
}

.regionMap,
.countryMap {
	height: 500px;
	margin: 0 auto;	
	max-width: 2048px;
}

.regionBanner,
.countryBanner {
    background: #f5f5f5;
	overflow: hidden;
    padding: 40px 0 50px;
}

.regionView .container,
.countryView .container {
	margin: 0 auto;
	max-width: 960px;
	overflow: hidden;
	padding: 0;	
}

.regionImg,
.countryImg {
    float: left;
    height: 250px;
    max-width: 450px;
    overflow: hidden;
    position: relative;
    width: 50%;
}

.regionImg img {
    height: 250px;
    max-width: none;
    width: auto;
}
.regionImg.countryImg img {
    height: auto;
    width: 100%;
}

.regionImg .zoneName {
    font-weight: normal;
    margin: 0;
    color: #fff;
    font-size:30px;
    left: 0;
    line-height: 36px;
    padding: 0 2%;
    position: absolute;
    text-align: center;
    text-shadow: 2px 2px 2px rgba(35, 31, 32, 0.9);
    text-transform: uppercase;
    top: 35%;
    width: 96%;
}

.regionDesc,
.countryDesc {
	float: left;
	font-size: 14px;
	line-height: 17px;
	padding: 20px 20px 10px 45px;
	width: 50%;	
}

.regionDesc a,
.countryDesc a {
    color: #333;
}

.regionDesc a.tripPlannerBtn {
	color: #258499;
    display: block;
	font-size: 13px;
	margin: 10px 0;
    text-decoration: underline;
	text-transform: uppercase;
}

/* FEATURED TRIPS SECTION */
.featuredTrips h2 {
	color: #258499;
	font-size: 32px;
	font-weight: 400;
	margin: 50px 0 20px;
	text-align: center;
	text-transform: uppercase;	
}

.featuredItem {
    border: 1px solid #a1a1a1;
	float: left;
	margin-bottom: 3.125%;
    position: relative;
	width: 31.25%;	
    color: #333;
}

.featuredItem.left {
	margin-right: 3.125%;	
}

.featuredItem.right {
	margin-left: 3.125%;	
}

.featuredItem .featuredImg {
    overflow: hidden;
    padding-top: 56.38%;
    position: relative;
}

.featuredImg img {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}

.featuredItem:hover .featuredImg img {
    transform: scale(1.1);
}

.featuredItem .featuredInfo {
    float:left;
    min-height: 120px;
    overflow: hidden;
    padding: 10px 5px 10px 10px;
    position: relative;
    width: 70%;
}

.featuredInfo .featuredTitle {
    display: block;
    font-size: 14px;
    line-height: 17px;
    margin: 0;
    text-transform: uppercase;
}

.featuredInfo .portCity {
    display: block;
    font-size: 12px;
    line-height: 1em;
    margin-top: 3px;
}

.featuredInfo .viewDetails {
    bottom: 10px;
    clear: left;
    color: #258499;
    display:block;
    font-size: 12px;
    margin-top: 10px;
    left: 10px;
    position: absolute;
}

.featuredItem .featuredPricing {
    float: right;
    overflow: hidden;
    padding: 10px 10px 10px 0;
    width: 30%;
}

.featuredPricing .price {
    font-size: 14px;
    font-weight: 700;
    text-align: right;
}

.featuredPricing .price span {
    display: block;
    font-size: 12px;
    font-weight: 400;
    line-height: 12px;
}

.featuredPricing input.addToCart {
    background: transparent url(/content/images/icon-cart-alt.png);
    background-size: contain;
    border: none;
    border-radius: 6px;
    bottom: 10px;
    clear: right;
    color: #fff;
    display: block;
    float: right;
    font-size: 10px;
    font-weight: 300;
    height: 25px;
    letter-spacing: 1px;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 10px;
    text-indent: -9999px;
    text-transform: uppercase;
    width:25px;
}

.plainPage {
    padding: 15px;
}

/* ACCOUNT - ABOUT */
.acctView {
	overflow: hidden;
	padding-top: 40px;
}
nav.acctNav {
	display: block;
	float: left;
	max-width: 205px;
	width: 21%;	
}
.acctNav .mobileAcctMenu {
	display: none;
	margin: 0 auto 40px;
	max-width: 320px;
	text-align: center;	
	width: 94%;
}
.acctNav .mobileAcctMenu select {	
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff url(/content/images/icon-select-arrows.png) 98% center no-repeat;
    background-size: 10px 17px;
	border: 1px solid #ababab;
	border-radius: 0;
	color: #666;
	font-size: 14px;
    height: 28px;
	letter-spacing: 1px;
	line-height: 26px;
	padding: 1px 12px 1px 7px;
	width: 100%;	
}

.acctNav .mobileAcctMenu select::-ms-expand {
    display: none;
}

.acctNav ul {
	list-style: none;
	margin: 0;
	padding: 0;	
}
.acctNav ul li {
    font-size: 15px;
	margin-top: -1px;	
}
.acctNav ul li a {
	border: 1px solid #ababab;
	color: #333;
	display: block;
	padding: 15px 5px 15px 8px;
	text-decoration: none;	
	text-transform: uppercase;
	max-width: 166px;
}
.acctNav ul li a:hover {
	text-decoration: underline;	
}
.acctNav ul li.selected {
	background: url(/content/images/acct-selected.png) right center no-repeat;	
	width: 100%;
}
.acctNav ul li.selected a {
	background: #258499;
	border: none;
	color: #fff;	
	max-width: 167px;
}
.acctNav ul li.selected a:hover {
	text-decoration: none;	
}
.acctNav ul li span {
	cursor: pointer;	
}
.nav-enabled .acctSec {
	float: right;
	padding-left: 15px;
	width: 79%;	
}
.acctSec .filters div {
	font-size: 12px;	
}
.acctSec .filters div span {
	padding: 0 5px 0 8px;	
}
.filters .narrow select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff url(/content/images/icon-select-arrows.png) 98% center no-repeat;
    background-size: 10px 17px;
	border: 1px solid #ababab;
	border-radius: 0;
	color: #666;
	font-size: 12px;
    height: 24px;
	letter-spacing: 1px;
	line-height: 20px;
	padding: 1px 12px 1px 7px;
	width: 240px;	
}
.filters .narrow select::-ms-expand {
    display: none;
}

.filters .searchBy input {
	border: 1px solid #ababab;
	color: #666;
	display: inline-block;
	font-size: 12px;
	letter-spacing: 1px;
	line-height: 20px;
	padding: 1px 10px;
	width: 140px;		
}
.filters .searchBy input::-webkit-input-placeholder {
    font-style: italic;
	font-size: 11px;
}
.filters .searchBy input:-moz-placeholder { 
    font-style: italic;
	font-size: 11px;
}
.filters .searchBy input::-moz-placeholder {  
    font-style: italic;
	font-size: 11px;
}
.filters .searchBy input:-ms-input-placeholder {  
    font-style: italic;
	font-size: 11px;
}
.filters .date input {
	background: #fff url(/content/images/icon-date.png) left center no-repeat;
	background-size: 18px;
	border: none;
	color: #666;
	cursor: pointer;
	font-size: 12px;
	letter-spacing: 1px;
	line-height: 20px;
	padding: 1px 7px 1px 22px;
	width: 80px;		
}
.acctSec .pagination {
	float: right;
	margin-top: 25px;	
}
.acctSec .pagination.bottom {
    margin-top: 0;
}
.acctSec .pagination div {
    color: #a0a0a0;
    float: left;
    font-size: 14px;
}
.acctSec .pagination input {
	border: none;
	text-indent: -9999px;	
}
.page-range {
    font-size: 0.9em;
    position: relative;
    top: -6px;
}
.acctSec .pagination input.prevBtn {
    background: none;
	border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 10px solid #a0a0a0;	
    height: 0;
    width: 0;
}
.acctSec .pagination input.nextBtn {
    background: none;
	border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #a0a0a0;
    height: 0;	
	margin-left: 5px;
    width: 0;
}
.acctTbl {
	clear: both;
	border-collapse: collapse;
	display: table;
	font-size: 12px;
    line-height: 14px;
	margin: 20px 0;
	width: 100%;	
}
.tblRow {
	display: table-row;	
	width: 100%;
}
.tblRow:nth-child(odd) {
    background: #f5f5f5;
}
.tblHead,
.tblCell {
	display: table-cell;
	border: 1px solid #f5f5f5;
	padding: 5px;
	text-align: center;	
}
.multiCell > span {
    display: block;
}
.tblHead {
	background: #a1a1a1;
	color: #fff;
	font-weight: 300;
	text-align: center;	
}
.tblCell a {
	color: #333;	
}
.link-mainv2 {
    color: #0066b3 !important;
}
.link-mainv2 a:hover {
    text-decoration:underline !important;
}
.myBookingsPage .red,
.tblRow.printVoucherWarning,
.printVoucherWarning .tblCell a,
.mblBooking.printVoucherWarning .mblCell,
.mblBooking.printVoucherWarning .mblCell a {
    color: #f00;
}
.tblCell input[type="button"] {
	border: none;	
}
.tblCell .editBtn {
    background: url(/Content/images/icon-edit.png) 0 0 no-repeat;
    background-size: contain;
    display: inline-block;
	height: 16px;
	width: 16px;
	margin-right: 8px;	
    vertical-align: middle;
}
.tblCell input.trashBtn {
	background: url(/content/images/icon-trash.png) 0 0 no-repeat;
	background-size: 14px 16px;
    display: inline-block;
	height: 16px;
	width: 16px;	
    vertical-align: middle;
}
.newTripBtn input {
	background: #fff;
	border: 1px solid #258499;
	border-radius: 6px;
	color: #258499;
	font-size: 12px;
	margin-left: 25px;
	padding: 3px 10px 4px;	
}
.tblCell a.emailBtn {
	background: url(/content/images/icon-email.png) 0 0 no-repeat;	
	background-size: 24px 16px;
	display: inline-block;
	height: 16px;
	width: 24px;
	margin: 0 auto;
	position: relative;
	top: 3px;
}
.tblCellNoWrap,
.mblCellNoWrap {
    white-space: nowrap;
}
.filters .addCruise select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff url(/content/images/icon-select-arrows.png) 98% center no-repeat;
    background-size: 10px 17px;
	border: 1px solid #ababab;
	border-radius: 0;
	color: #666;
	font-size: 12px;
    height: 24px;
	letter-spacing: 1px;
	line-height: 20px;
	margin-right: 15px;
	padding: 1px 12px 1px 7px;
	width: 200px;	
}
.filters .addCruise select::-ms-expand {
    display: none;
}
.filters .addCruise input[type="button"] {
	background: #258499;
	border: 1px solid #258499;
	border-radius: 6px;
	color: #fff;
	text-transform: uppercase;
	padding: 4px 8px 5px;
}
.noCruisesFound {
    border-top: 1px solid #ababab;
    margin-top: 15px;
    padding-top: 8px;
    text-align: center;
}

.profile div {
	padding: 8px 0;
}
.profile div label {
	display: inline-block;
	font-size: 14px;
	margin-right: 20px;
	max-width: 200px;
	text-align: right;
	vertical-align: top;
	width: 30%;	
}
.profile input[type="text"],
.profile input[type="password"]  {
	border: 1px solid #ababab;
	font-size: 12px;
	padding: 3px 5px 4px;	
}
.profile input[type="checkbox"] {
	display: inline-block;
	vertical-align: top;	
}
.profile div span {
	display: inline-block;
	font-size: 12px;
	line-height: 15px;
	margin-left: 5px;
	max-width: 350px;
	width: 50%;	
}
.profile .saveBtn {
	background: #258499;
	border: 1px solid #258499;
	border-radius: 6px;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	margin: 20px auto;
	text-transform: uppercase;
	padding: 5px 10px 6px;	
	position: relative;
	left: 20%;
}

.acctTbl.mobile {
    display: none;
}

.mblBooking,
.mblPlanner,
.mblCruise {
    border-top: 1px solid #ababab;
    overflow: hidden;
    padding: 15px 0;
}

.mblBooking:last-child,
.mblPlanner:last-child,
.mblCruise:last-child {
    border-bottom: 1px solid #ababab;
}

.mblBooking > div,
.mblPlanner > div,
.mblCruise > div {
    float: left;
}

.mblBooking > div > div,
.mblPlanner > div > div,
.mblCruise > div > div {
    padding: 0 3px;
}

.mblBooking .status,
.mblBooking .tripDate,
.mblBooking .time,
.mblBooking .bookNum,
.mblBooking .voucher {
    margin-bottom: 10px;
    width: 20%;
}

.mblBooking .portName,
.mblBooking .shipName {
    margin-bottom: 10px;
    width: 40%;
}

.mblBooking .portName {
    clear: left;
}

.mblBooking .tripName,
.mblBooking .name,
.mblBooking .edit {
    width: 33%;
}

.mblBooking .edit {
    float: right;
    margin-top: 10px;
    text-align: right;
}

.acctTbl.mobile input[type="button"] {
	border: none;	
}

.acctTbl.mobile .editBtn {
    background: url(/Content/images/icon-edit.png) 0 0 no-repeat;
    background-size: contain;
    display: inline-block;
	height: 20px;
	width: 20px;
	margin-right: 10px;	
}

.acctTbl.mobile input.trashBtn {
	background: url(/content/images/icon-trash.png) 0 0 no-repeat;
	background-size: 18px 20px;
    display: inline-block;
	height: 20px;
	width: 20px;	
}

.mblCell {
    color: #797979;
    font-size: 11px;
    line-height: 12px;
}

.mblCell a {
    color: #797979;
}

.filters .narrow select {
    width: 220px;
}

.mblPlanner .plannerName,
.mblPlanner .tripDate,
.mblPlanner .shipName {
    margin-bottom: 10px;
    width: 33%;
}

.mblPlanner .depDate,
.mblPlanner .tripNum {
    width: 30%;
}

.mblPlanner .depDate {
    clear: left;
}

.mblPlanner a.emailBtn {
	background: url(/content/images/icon-email.png) 0 0 no-repeat;	
	background-size: 30px 20px;
	display: inline-block;
	height: 20px;
	width: 30px;
	margin-right: 10px;
	position: relative;
}

.mblPlanner .shareEdit {
    float: right;
    margin-top: 20px;
}

.mblCruise .cruise,
.mblCruise .shipName {
    width: 30%;
}

.mblCruise .depDate {
    max-width: 40%;
}
.mblCruise .mblListActions {
    float: right;
}

/* AGENCY ACCOUNT -> EMAIL MARKETING */
.emailMarketingPage .pref-intro {
    margin-top: 10px;
}

/* ABOUT US */
.aboutSec {
	float: right;
	padding-left: 15px;
	width: 79%;	
}

.aboutCopy {
    float: left;
    padding-right: 15px;
    width: 48%;
}

.aboutCopy p {
    font-size: 12px;
    line-height: 16px;
}

.aboutSec h3 {
    color: #258499;
    font-size: 18px;
    font-weight: 700;
    margin: 15px 0 0;
}

.aboutSec p {
    font-size: 12px;
    line-height: 16px;
}

.aboutSec h3 span {
    font-size: 12px;
    font-style: italic;
}

.aboutVid {
    border-left: 1px solid #ababab;
    float: right;
    padding: 0 0 60px 25px;
    width: 51%;
}

.vidContainer {
    padding-top: 56.25%;
    position: relative;
    width: 100%;
}

.vidContainer iframe {
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
}

.aboutVid h3 {
    font-style: italic;
    margin-top: 30px;
}

.tourOps p {
    font-size: 12px;
    line-height: 16px;
    margin: 5px 0;
}

.tourRequest {
    margin-top: 15px;
}

.tourRequest span {
    display: inline-block;
    font-size: 12px;
    line-height: 14px;
    text-align: right;
    width: 55%;
}

.tourRequest input {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    margin: 0 0 0 10px;
    padding: 8px 10px;
    position: relative;
    text-transform: uppercase;
    vertical-align: top;
}

.tourRequest img {
    margin-top: 10px;
}

.meetTeam {
    margin: 0;
    max-width: 700px;
}

.staff {
    margin: 0;
    max-width: 600px;
    overflow: hidden;
}

.staff .block {
    float: left;
    margin-bottom: 20px;
    min-height: 140px;
    width: 25%;
}

.staff .block img {
    max-width: 100px;
}

.staff .block span {
    display: block;
    font-size: 11px;
    font-style: italic;
    line-height: 15px;
}

.staff .block span.name {
    font-size: 12px;
    font-weight: 700;
    font-style: normal;
}

.staff .block a {
    color: #258499;
    font-size: 11px;
}

.staff h4 {
    color: #258499;
    font-size: 16px;
    margin: 15px 0;
}

.contactInfo {
    display: inline-block;
    padding-left: 5%;
    width: 40%;
}

.contactInfo .address {
    background: url(/Content/images/icon-building.png) left 25px no-repeat;
    background-size: 35px;
}

.contactInfo .call {
    background: url(/Content/images/icon-phone-alt.png) 9px 18px no-repeat;
    background-size: 20px 30px;
}

.contactInfo .fax {
    background: url(/Content/images/icon-fax.png) left 18px no-repeat;
    background-size: 30px;
}

.contactInfo .email {
    background: url(/Content/images/icon-email.png) 2px 20px no-repeat;
    background-size: 28px 19px;
}

.contactInfo > div {
    padding: 15px 15px 10px 40px;
}

.contactInfo > div span {
    display: block;
}

.contactInfo .header,
.contactHrs .header {
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height: 19px;
}

.contactInfo .email a {
    color: #258499;
    text-decoration: none;
}

.contactInfo span,
.contactHrs span {
    font-size: 12px;
    line-height: 16px;
}

.contactHrs > div {
    font-size: 12px;
    padding: 5px 0;
}

.contactHrs {
    background: url(/Content/images/icon-clock-alt.png) left 20px no-repeat;
    background-size: 30px;
    display: inline-block;
    padding: 20px 0 0 40px;
    vertical-align: top;
    width: 45%
}

.faq h3 {
    color: #258499;
    font-size: 18px;
    line-height: 22px;
    margin: 10px 0 0;
}

.faq p {
    font-size: 12px;
    line-height: 18px;
    margin: 5px 0 15px;
}

.faq .guarantee {
    float: left;
    margin-right: 15px;
    width: 80px;
    height: 80px;
}

.faq p > a {
    color: #258499;
    text-decoration: none;
}

.givePorts {
    overflow: hidden;
    width: 100%;
}

.givePorts .portImg {
    display: block;
    float: left;
    margin-bottom: 1%;
    margin-right: 1%;
    padding-top: 14%;
    width: 24%;
}

.givePorts .portImg:nth-child(4n) {
    margin-right: 0;
}

.givePorts .portImg::after {
    background: rgba(0,0,0,0.3);
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 2;
}

.givePorts .portImg a {
    bottom: 0;
    color: #fff;
    left: 0;
    position: absolute;
    right: 0;
    text-decoration: none;
    top: 0;
}

.givePorts .portImg img {
    position: absolute;
    bottom: 0;
    left: 0;
    max-height: 100%;
    top: 0;
    z-index: 1;
}

.givePorts .portImg span {
    display: block;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
    top: 50%;
    z-index: 3;
}

.givePorts .portImg span.portName {
    font-size: 18px;
    top: 35%;
}

.pressList ul {
    list-style: none;
    margin: 0;
}

.pressList ul li {
    padding: 10px 0;
}

.pressList li a {
    color: #258499;
    font-size: 16px;
    text-decoration: none;
}

.pressList li div {
    color: #303333;
    font-size: 12px;
    font-style: italic;
}

/* AGENT ACCONT */
.adminMsg {
    background: #f5f5f5;
    clear: both;
    float: none !important;
    font-size: 12px;
    line-height: 15px;
    margin-bottom: 20px;
    padding: 15px 2% !important;
    width: 100% !important;
}
.adminMsg p {
    font-family: 'Lato', Arial, sans-serif;
}
.adminMsg > div > em {
    font-size: 14px;
}
.adminMsg > p,
.adminMsg > ol,
.adminMsg > ul {
    margin: 5px 0 0 0;
}
.request-new-group-wrapper {
    text-align: center;
    margin-top: 20px;
}

.new-plan-buttons {
    margin-top: 12px;
    text-align: center;
}

.acctSec .filters .advFilters {
    display: block;
    clear: both;
    margin-top: 15px;
}

.acctSec .advFilters .viewToggle {
    color: #777;
    cursor: pointer;
    font-size: 13px;
}

.acctSec .advFilters .viewToggle span {
    padding-right: 2px;
}

.customerCount {
    float: right;
    font-size: 12px;
}

.tblCell.chkBox {
    padding: 5px 2px;
}

.tblCell.chkBox input {
    margin: 3px 0;
    vertical-align: middle;
}

.tblCell.editCust input {
    padding: 0;
    vertical-align: top;
}

.customerList .tblCell .editBtn,
.agtAcctSec .customerList input.emailBtn {
    margin-right: 3px;
}
.customerList .noRemail {
    visibility: hidden;
}

.customerBtns input[type='button'],
.customerBtns a {
    background: var(--acent-50);
    border: none;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    line-height: 17px;
    margin: 15px 5px 0 0;
    padding: 6px 20px 7px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
}

.advFilters .viewToggle::after { 
    border-left: 7px solid transparent;
    border-right: 7px solid transparent; 
    border-top: 7px solid #a0a0a0;
    content: "";
    display: inline-block;
    height: 0;
    width: 0; 
}

.advFilters.open .viewToggle::after {
    border-left: 7px solid transparent;
    border-right: 7px solid transparent; 
    border-bottom: 7px solid #a0a0a0;
    border-top: none;
}

.advFilters .accList {
    padding: 10px 0 0 7px;
    width: 100%;
}

.advFilters .accList > div {
    display: block;
    float: left;
    margin-right: 10px;
    max-width: 25%;
    padding: 5px 0;
}

.advFilters .accList .dateRange {
    max-width: none;
}

.advFilters .accList div span {
    display: block;
    height: 19px;
    padding: 0;
}

.advFilters div input[type='text'] {
    font-size: 11px;
    height: 24px;
    line-height: 22px;
    max-width: 80px;
}

.advFilters.customers div input[type='text'] {
    max-width: 100px;
}

.advFilters.marketingEmails div input[type='text'] {
    max-width: 100px;
}

.advFilters .tripNm {
    clear: left;
    position: relative;
}

.advFilters .toSeparator {
    margin: 0 5px;
    position: relative;
    top: 0;
}

.advFilters .btmRow input[type='text'] {
    max-width: 100px;
}

.advFilters .agtAcctBtn {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    float: left;
    font-size: 11px;
    padding: 6px 10px 7px;
    position: relative;
    text-transform: uppercase;
    top: 22px;
}

.agtAcctSec {
    position: relative;
}

.agtAcctSec .tblCell.time,
.agtAcctSec .tblCell.tripDate {
    white-space: nowrap;
}

.agtAcctSec .tblCell.voucher,
.agtAcctSec .tblCell.status {
    max-width: 85px;
}

.agtAcctSec .datepicker input[type='text'] {
    background: #fff url(/content/images/icon-date.png) 96% center no-repeat;
	background-size: 16px;
    border: 1px solid #ababab;
    cursor: pointer;
    font-size: 11px;
    height: 24px;
    line-height: 22px;
    min-width: 80px;
    max-width: 100px;
    padding: 2px;
}

a.exportExcel {
    color: #e16754;
    display: block;
    float: right;
    font-size: 11px;
    height: 20px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    top: 10px;
    z-index: 10;
}

.exportExcel span {
    display: inline-block;
    line-height: 20px;
    vertical-align: top;
}

a.exportExcel::before {
    background: url(/Content/images/icon-excel.png) 0 0 no-repeat;
    background-size: contain;
    content: '';
    display: inline-block;
    height: 20px;
    margin-right: 5px;
    width: 20px;
}

a.exportExcel:hover span {
    text-decoration: underline;
}

.topFilters {
    border-bottom: 1px solid #ababab;
    padding-bottom: 10px;
    position: relative;
}

.salesByRegion {
    padding-top: 15px;
}

.salesByRegion h4 {
    margin: 0;
}

.salesByRegion p {
    font-size: 12px;
    line-height: 16px;
    margin: 10px 0;
}

.salesByRegion p span {
    display: block;
    font-style: italic;
}

.reportDates div {
    display: inline-block;
    margin-right: 10px;
}

.reportDates div span {
    display: block;
    font-size: 12px;
}

.reportDates div label {
    display: inline-block;
    font-size: 12px;
    position: relative;
}

.reportDates div label input {
    margin: 0 2px 0 0;
}

.reportDates div label span {
    display: inline;
    line-height: 13px;
    vertical-align: top;
}

.reportDates .agtAcctBtn {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    height: 26px;
    margin-left: 10px;
    padding: 5px 8px 6px;
    position: relative;
    text-transform: uppercase;
}

.agencyInfo {
    display: block;
    font-size: 13px;
    font-weight: bold;
    margin-top: 15px;
    overflow: hidden;
    padding-bottom: 5px;
    width: 100%;
}
.agencyInfo .name {
    float: left;
}
.agencyInfo .id {
    float: left;
    margin-left: 30%;
}
.agencyInfo .agencyTotal {
    float: right;
}

.agencyDetailTbl {
	clear: both;
	border-collapse: collapse;
	display: table;
	font-size: 12px;
    line-height: 14px;
	margin-bottom: 20px;
	width: 100%;	
}

.agencyDetailInfo {
    display: block;
    font-size: 13px;
    font-weight: bold;
    margin-top: 15px;
    overflow: hidden;
    width: 100%;
}
.agencyDetailInfo .name {
    width: 65%;
    float: left;
}
.agencyDetailInfo .id {
    float: left;
}
.agencyDetailInfo .agentName {
    float: right;
}

.agtAcctSec .js-agency-sales-report .acctTbl,
.agtAcctSec .js-agency-detail-report .acctTbl,
.agtAcctSec .js-affiliate-sales .acctTbl {
    margin-top: 0;
}

.js-agency-detail-report,
.js-affiliate-list,
.js-affiliate-sales,
.js-affiliate-sales-detail {
    display: none;
}

.js-agency-detail-report .bookNum input, 
.js-affiliate-sales-detail .bookNum input {
    height: 24px;
    max-width: 80px;
}

.js-affiliate-sales-region { 
    display: none;
}

.affList .tblRow div {
    display: table-cell;
}

.affName {
    text-align: left;
}

.newGrpBtn,
.createCertBtn,
.updatePaymentButton,
.proposedTimeChange .actions button {
    background: var(--acent-50);
    border: none;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    margin-left: 20px;
    margin-top: 5px;
    padding: 6px 10px 7px;
    position: relative;
    text-transform: uppercase;
}

.groups .mblBooking > div {
    display: inline-block;
    margin-right: 10px;
    margin-top: 10px;
    width: auto;
}

.advFilters.gifts .accList input[type='text'] {
    max-width: 120px;
}

.agtAcctSec .agtProfile {
    background: #f5f5f5;
    display:block;
    margin-bottom: 10px;
    padding: 20px 25px;
    position: relative;
    width: 100%;
}
 .agtProfile .viewToggle {
    background-image: url(/Content/images/icon-plus-minus.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 30px;
    cursor: pointer;
    display: block;
    height: 30px;
    position: absolute;
    right: 10px;
    top: 15px;
    width: 30px;
    z-index: 1;
}

.agtProfile.open .viewToggle {
    background-position: 0 -30px;
}

.agtProfile h2.accHead {
    color: #258499;
    font-size: 18px;
    margin: 0;
    text-transform: uppercase;
    width: 98%;
}

.agtProfile .accList {
    border-top: 1px solid #ababab;
    margin-top: 15px;
    padding-top: 15px;
}

.agtProfile .accList > div {
    font-size: 12px;
    line-height: 14px;
    margin: 5px 0;
}

.agtProfile .accList > div > span {
    display: inline-block;
    margin-right: 10px;
    max-width: 300px;
    text-align: right;
    vertical-align: top;
    width: 50%;
}

.agtProfile .accList .txtVal {
    margin: 0;
    padding: 10px 0 5px;
}

.agtProfile .accList .txtVal span:last-child {
    width: auto;
}

.agtProfile .accList div span.userId {
    text-align: left;
    width: auto;
}

.agtProfile .accList div input[type='text'] {
    background: white;
    color: #666;
    display: inline-block;
    font-size: 12px;
}

.agtProfile div p {
    font-family: 'Lato', Arial, sans-serif;
    font-size: 12px;
    margin: 20px 0;
    text-align: center;
}

.agtProfile .accList .optOuts {
    border-top: 1px solid #ababab;
    margin: 15px auto 0;
    max-width: 80%;
    padding: 15px 0 0;
}

.agtProfile .optOuts div span {
    display: inline-block;
    margin-right: 10px;
    max-width: 300px;
    text-align: right;
    vertical-align: top;
    width: 25%;
}

.agtProfile .optOuts div label {
    display: inline-block;
    width: 70%;
}

.agtProfile .optOuts div label span {
    margin-right: 0;
    max-width: 350px;
    text-align: left;
    width: auto;
}

.agtProfile .saveBtn {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: block;
    font-size: 12px;
    margin: 20px auto 15px;
    padding: 8px 12px;
    text-transform: uppercase;
}

.agtProfile input[type='password'] {
    color: #666;
}

.agtProfile.addAgents div p {
    margin: 0 auto 15px;
    max-width: 80%;
}

.agtProfile.addAgents .acctTbl {
    background: #fff;
}

.agtProfile .logoTop {
    margin: 0;
}

.agtProfile .agencyLogo {
    display: inline-block;
    margin: 0 3% 0 0 !important;
    max-width: 160px;
    vertical-align: top;
    width: 25%;
}

.agtProfile .logoCopy {
    display: inline-block;
    margin: 0;
    max-width: 540px;
    vertical-align: top;
    width: 74%;
}

.agtProfile .logoCopy p {
    margin: 0 0 10px;
    text-align: left;
}

.agtProfile .logoCopy .logoDisclaimer {
    font-style: italic;
    margin: 0 !important;
}

.agtProfile .logoActions {
    margin: 10px !important;
}
.agtProfile .logoActions > form {
    display: inline-block;
}

.deleteLogo {
    background: none;
    border: none;
    color: #e16754;
    display: block;
    float: left;
    font-size: 11px;
    text-decoration: underline;
    text-transform: uppercase;
}

.logoActions input[type='file'] {
    cursor: pointer;
    margin-left: 100px;
}

.logoActions .uploadLogo {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    margin: 0 0 0 10px;
    padding: 4px 8px 5px;
    text-transform: uppercase;
}

.agtProfile .accList div.affiliateLinkInfo {
    border-top: 1px solid #ababab;
    clear: both;
    margin-top: 20px;
    padding-top: 10px;
}

.affiliate-link-page .link-info > div {
    margin: 0.5em 0;
}
.affiliate-link-page .accList div.big {
    font-size: 16px;
    font-weight: bold;
    margin: 0.6em 0;
}
.affiliate-link-page .example-link {
    color: black;
}

.acctTbl.giftCerts {
    font-size: 11px;
    line-height: 13px;
}

.agtAcctSec input.emailBtn {
    background: url(/Content/images/icon-email.png) 0 0 no-repeat;
    background-size: contain;
    display: inline-block;
    height: 10px;
    margin-right: 5px;
    width: 15px;
    vertical-align: middle;
}

.agtAcctSec input.reassignBtn {
    background: url(/Content/images/icon-reassign.png) 0 0 no-repeat;
    background-size: contain;
    display: inline-block;
    height: 15px;
    margin-right: 5px;
    width: 15px;
    vertical-align: middle;
}

.agtAcctSec input.printBtn {
    background: url(/Content/images/icon-print.png) 0 0 no-repeat;
    background-size: contain;
    display: inline-block;
    height: 15px;
    width: 15px;
    vertical-align: middle;
}

.resources > div {
    display: block;
    float: left;
    padding: 25px 5%;
    width: 48%;
}

.resources > div h3 {
    border-bottom: 1px solid #ababab;
    color: #258499;
    margin: 0 0 15px;
    padding: 5px 0 10px;
}

.resources .videoDownload,
.resources .flyerDownload {
    color: #666;
    display: block;
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 10px 15px;
    padding-left: 25px;
    text-decoration: none;
}

.resources .videoDownload:hover,
.resources .flyerDownload:hover {
    text-decoration: underline;
}

.resources > div p {
    font-size: 12px;
    line-height: 15px;
}

.resources a.videoDownload {
    background: url(/Content/images/icon-video-download.png) 0 0 no-repeat;
    background-size: 20px;
}

.resources a.flyerDownload {
    background: url(/Content/images/icon-flyer.png) 0 0 no-repeat;
    background-size: contain;
}

.newSec {
    margin-bottom: 20px;
}

.newSec .newTitle {
    color: #258499;
    font-size: 16px;
    margin-bottom: 5px;
}

.newSec span {
    font-size: 13px;
    line-height: 16px;
}

.backBtn {
    clear: left;
	color: #a0a0a0;
	display: block;
    float: left;
	font-size: 12px;
	text-decoration: none;
	text-transform: uppercase;	
}

.bookingActions,
.groupActions {
    clear: right;
    float: right;
    padding-bottom: 30px;
}

.bookingActions .printBtn {
    background: url(/Content/images/icon-print.png) right center no-repeat;
    background-size: contain;
    padding: 1px 23px 2px 0;
}

.bookingActions .editBtn {
    background: url(/Content/images/icon-edit.png) right center no-repeat;
    background-size: contain;
    padding: 1px 21px 2px 0;
}

.bookingActions .voucherBtn {
    background: url(/Content/images/icon-voucher.png) right center no-repeat;
    background-size: contain;
    padding: 1px 21px 2px 0;
}

.bookingActions a,
.groupActions a {
    color: #2f2f2f;
    font-size: 11px;
    line-height: 13px;
    margin-right: 20px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.groupActions .printBtn {
    background: url(/content/images/icon-print.png) right center no-repeat;
    background-size: contain;
    padding: 1px 21px 2px 0;
}

.groupActions .shareBtn {
    background: url(/Content/images/icon-share.png) right center no-repeat;
    background-size: contain;
    padding: 1px 21px 2px 0;
}

.groupActions .emailBtn {
    background: url(/Content/images/icon-email.png) right center no-repeat;
    background-size: contain;
    padding: 1px 28px 2px 0;
}

.groupActions .hideBtn {
    background: url(/Content/images/icon-x-alt.png) right center no-repeat;
    background-size: contain;
    margin-right: 0;
    padding: 1px 21px 2px 0;
}

.groupActions .showBtn {
    background: url(/Content/images/icon-show.png) right center no-repeat;
    background-size: contain;
    margin-right: 0;
    padding: 1px 30px 2px 0;
}

.bookingActions a:hover,
.groupActions a:hover {
    text-decoration: underline;
}

.topBookingInfo,
.topGroupInfo {
    background: #e1e1e1;
    clear: both;
    margin-bottom: 10px;
    overflow:hidden;
    padding: 2%;
    position: relative;
}

.notAVoucher {
    color: #f00;
}

.topBookingInfo > div {
    background: #fff;
    display: block;
    float: left;
    min-height: 315px;
    padding: 20px;
    width: 49%;
}

.topGroupInfo > div {
    background: #fff;
    bottom: 0;
    display: block;
    float: left;
    max-height: 428px;
    overflow-y: auto;
    padding: 20px;
    top: 0;
    width: 49%;
}

.topBookingInfo .groupDetails {
    float: left;
}

.topGroupInfo .groupItinerary {
    float: right;
}

.topBookingInfo h3,
.topGroupInfo h2,
.editCustomerPage h3 {
    color: #258499;
    font-size: 18px;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.topBookingInfo h3 span {
    text-transform: none;
}

.bookDetails {
    margin-right: 2%;
}

.bookDetails h4 {
    font-size: 14px;
    margin: 5px 0;
    text-transform: uppercase;
}

.topBookingInfo > div > div,
.topGroupInfo > div div {
    padding: 2px 0 3px;
}

.topGroupInfo > div div span,
.topBookingInfo .field > .value,
.topBookingInfo .field > .label {
    display: inline-block;
    font-size: 13px;
    line-height: 16px;
    vertical-align: top;
    width: 49%;
}

.agent-group-page .group-not-yet-active {
    font-size: 13px;
    font-style: italic;
}

.topBookingInfo div span.label,
.topGroupInfo div span.label {
    font-weight: bold;
}

.updatePaymentForm,
.proposedTimeChange {
    font-size: 13px;
}

.proposedTimeChange .line {
    display: block;
    margin-top: 5px;
}

.bookingDetailPage .red {
    color: red;
}
.bookingDetailPage .itinDetails {
    font-size: 13px;
    padding-left: 12px;
}
.bookingDetailPage .itinItemName {
    margin-bottom: 7px;
}
.bookingDetailPage .viewFullItinerary {
    text-align: center;
}

.proposedTimeChange .actions {
    text-align: center;
}

.proposedTimeChange .actions button {
    margin: 18px 15px 0 15px;
}

.updatePaymentForm .message {
    display: inline-block;
    margin: 8px 0;
}

.updatePaymentForm form {
    background: white;
    padding: 8px;
}

.updatePaymentForm form label {
    font-weight: bold;
    display: inline-block;
    min-width: 160px;
    margin: 6px 0;
}

.updatePaymentForm .monthAndYear {
    display: inline-block;
    page-break-inside: avoid;
}

.updatePaymentForm .buttons {
    margin-top: 12px;
    max-width: 400px;
    text-align: center;
}

.topGroupInfo > div .itinItem {
    border-bottom: 1px solid #ababab;
    overflow: hidden;
    padding: 6px 0;
}

.topGroupInfo > div .itinItem:first-child {
    padding-top: 0;
}

.topGroupInfo > div .itinItem:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.itinItem .day {
    display: block;
    float: left;
    font-size: 12px;
    line-height: 15px;
    margin-bottom: 10px;
    max-width: 70px;
    text-align: center;
    width: 25%;
}

.itinItem .day span {
    display: block;
    font-size: 12px;
    font-weight: bold;
    line-height: 15px;
    text-transform: uppercase;
    width: 100%;
}

.itinItem .port {
    display: block;
    float: left;
    font-size: 13px;
    line-height: 15px;
    width: 75%;
}

.itinItem .port a {
    color: #666;
    text-decoration: none;
}

.itinItem .port a:hover {
    text-decoration: underline;
}

.itinItem .arrDep {
    display: block;
    float: left;
    font-size: 13px;
    line-height: 15px;
    width: 75%;
}

.itinItem .arrival,
.itinItem .departure {
    display: block;
    float: left;
    font-size: 12px;
    min-height: 20px;
    line-height: 15px;
    padding: 0;
    width: 50%;
}

.itinItem .arrival span,
.itinItem .departure span {
    font-size: 12px;
    font-weight: bold;
    line-height: 15px;
    margin-right: 5px;
    text-transform: uppercase;
    width: auto;
}

.bookingDetailItem,
.groupDetailItem {
    background: #e1e1e1;
    margin: 0 0 10px;
    overflow: hidden;
    padding: 15px;
    position: relative;
}

.groupDetailItem .accList {
    overflow-x: auto;
}

.bookingDetailItem h3,
.groupDetailItem h2 {
    color: #258499;
    font-size: 18px;
    margin: 0;
    text-transform: uppercase;
}

.bookingDetailItem .viewToggle,
.groupDetailItem .viewToggle, .groupDetailItem .tourLink {
    background-image: url(/Content/images/icon-plus-minus.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 30px;
    cursor: pointer;
    display: block;
    height: 30px;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 30px;
    z-index: 1;
}

.bookingDetailItem.open .viewToggle,
.groupDetailItem.open .viewToggle {
    background-position: 0 -30px;
}

.bookingDetailItem .accList,
.groupDetailItem .accList {
    overflow: hidden;
    padding: 25px 0 15px;
}

.bookingDetailItem .acctTbl,
.groupDetailItem .acctTbl {
    background: #fff;
    margin: 0;
    overflow: hidden;
}

.bookingDetailItem .instructions,
.bookingDetailItem .important-vendor-note {
    background: #fff;
    padding: 15px;
}

.bookingDetailItem .important-vendor-note {
    color: red;
    font-size: 13px;
}

.bookingDetailItem .instructions,
.bookingDetailItem .instructions p {
    font-family: 'Lato', Arial, sans-serif;
    font-size: 13px;
    margin: 0 0 10px;
}

.bookingDetailItem .instructions p:last-child {
    margin: 0;
}

.bookingDetailItem .tblHead {
    text-transform: uppercase;
}

.bookingDetailItem .tblRow > div {
    border: none;
    padding: 5px 10px;
}

.bookingDetailItem .tblRow .qty {
    width: 10%;
}

.bookingDetailItem .tblRow .desc {
    width: 40%;
}

.bookingDetailItem .tblRow .price,
.bookingDetailItem .tblRow .total {
    text-align: right;
    width: 25%;
}

.bookingDetailItem .totalPrice {
    background: #fff;
    display: block;
    font-size: 12px;
    font-weight: bold;
    padding: 10px 10px 5px;
    text-align: right;
    text-transform: uppercase;
    width: 100%;
}

.bookingDetailItem .insCopy div span {
    display: block;
    margin-bottom: 10px;
}

.bookingDetailItem .insCopy a {
    color: #333;
    margin-left: 5px;
}

.bookingDetailItem .insTripList {
    background: #fff;
    border-collapse: collapse;
    display: table;
    font-size: 12px;
    width: 100%;
}

.bookingInsInfo, .bookingFieldCategory {
    background-color: white;
    font-size: 13px;
    padding: 10px;
}
.bookingInsInfo {
    text-align: center;
}

.flexFieldWrapper > div {
    display: inline-block;
    margin: 4px 16px 4px 0;
    page-break-inside: avoid;
}
.flexFieldWrapper > div > span {
    display: inline-block;
}
.flexFieldWrapper > div > span:first-child {
    font-weight: bold;
    margin-right: 4px;
}

.bookingDetailItem .tblRow {
    display: table-row;
}

.bookingDetailItem.tblRow > div {
    border: none;
    text-align: left;
    text-transform: uppercase;
}

.bookingDetailItem .tblHead {
    font-weight: 400;
}

.addInfoReq .intro {
    font-size: 12px;
    padding: 0 0 10px;
}

.addInfoReq .intro a {
    color: #333;
}

.bookingDetailItem .bookingFieldCategory {
    margin-bottom: 15px;
}
.bookingDetailItem .bookingFieldCategory .categoryText {
    font-size: 14px;
    margin-bottom: 10px;
}
.bookingDetailItem .bookingFieldCategory .paxFields {
    border-bottom: 1px solid #ccc;
    margin-bottom: 7px;
    padding-bottom: 7px;
}
.bookingDetailItem .bookingFieldCategory .paxFields:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.bookingDetailItem .paxFields input[type=text] {
    width: 150px;
}

.bookingDetailItem .addInfoReq h4 {
    margin-bottom: 10px;
    text-transform: uppercase;
}

.js-hold-booking-popup .extra-questions {
    min-height: 100px;
}
.js-hold-booking-popup .hold-wrapper {
    padding: 0;
}
.js-hold-booking-popup .hold-wrapper > label {
    padding-left: 2px;
}
.js-hold-booking-popup .extra-questions > div {
    display: none;
    text-align: center;
}

.agent-group-page .groupTripDisclaimer {
    font-size: 0.8em;
    padding-bottom: 12px;
}

.groupAddPort h4 {
    margin: 0 0 15px;
}

.groupAddPort .excInfo {
    min-height: 110px;
}

.groupAddPort .excInfo h3 {
    max-width: 480px;
}

.groupDetailItem a.printBtn {
    background: url(/Content/images/icon-print.png) right center no-repeat;
    background-size: contain;
    color: #2f2f2f;
    float: right;
    font-size: 11px;
    line-height: 13px;
    margin: 0 30px 15px 0;
    padding: 1px 23px 2px 0;
    text-decoration: none;
    text-transform: uppercase;
}

.groupBookings .tblHead,
.groupBookings .tblCell {
    border: none;
    vertical-align: middle;
}

.groupBookings .tripName {
    text-align: left;
}

.travelerActionBtns {
    padding-bottom: 25px;
    text-align: center;
    width: 100%;
}

.travelerActionBtns input {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    line-height: 13px;
    margin: 0 10px 0 0;
    padding: 6px 10px 7px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
}

.travelerActionBtns input:last-child {
    margin: 0;
}

.travList .tblHead {
    border: none;
    vertical-align: middle;
}

.travList .portDate span {
    display: block;
}

.travList .tblCell {
    border: none;
    vertical-align: middle;
}

.travList .tblCell.hasTrips {
    background: rgba(104, 221, 247, 0.5);
}

.travList .name,
.travList .email {
    text-align: left;
}

.travList .email span {
    font-style: italic;
}

.travList .minReq {
    background: rgba(255, 199, 90, 0.6);
}

.groupDetailItem .statusCopy {
    font-size: 13px;
    margin-bottom: 15px;
}

.groupDetailItem .statusCopy span {
    background: rgba(255, 199, 90, 0.6);
}

.travList .tripName {
    max-width: 30%;
    text-align: left;
}

.travList .minPax {
    min-width: 55px;
}

.newFlyer div {
    font-size: 13px;
    padding-bottom: 15px;
}

.newFlyer div span {
    display:block;
}

.newFlyer div textarea {
    display: inline-block;
    height: 60px;
    width: 280px;
    vertical-align: bottom;
}

.newFlyer input.createFlyer {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    line-height: 13px;
    margin-left: 15px;
    padding: 6px 10px 7px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    vertical-align: bottom;
}

.flyerList .tblHead,
.flyerList .tblCell {
    border: none;
    vertical-align: middle;
}

.flyerList .msg {
    text-align: left;
    width: 55%;
}

.flyerList .tblCell a.emailBtn {
    top: 2px;
}

.flyerList a.trashBtn {
    background: url(/content/images/icon-trash-alt.png) 0 0 no-repeat;
	background-size: 16px 18px;
    display: inline-block;
	height: 18px;
    margin-left: 15px;
    position: relative;
    top: 3px;
	width: 18px;	
}

.js-add-travelers-popup .content,
.js-addgrouptravelers-popup .content {
    max-width: 500px;
}

.popup .addGroupTrav {
    border-bottom: 1px solid #ababab;
    padding: 5px 0 15px;
}

.popup .uploadTrav {
    padding: 15px 0 0;
}

.popup .addTravList {
    border: 1px solid #ababab;
    line-height: 14px;
    margin: 10px 0;
    max-height: 100px;
    overflow-y: auto;
    padding: 5px;
}

.popup .addTravList div {
    padding: 0;
}

.uploadTrav input[type='file'] {
    border: 1px solid #e1e1e1;
    max-width: 70%;
}

.uploadTrav .uploadBtn {
    padding: 5px 8px 6px;
}

.uploadTrav .helpBtn {
    cursor: pointer;
    float: right;
    padding: 0 20px 0 0;
    position: relative;
    text-transform: uppercase;
    top: 5px;
}

.uploadTrav .helpBtn::after {
    bottom: 0;
    content: '\203A';
    display: block;
    font-size: 20px;
    height: 12px;
    position: absolute;
    right: 0;
    -ms-transform: rotate(90deg); 
    -webkit-transform: rotate(90deg);
    transform:rotate(90deg);
    width: 12px;
}

.uploadTrav .helpBtn.open::after {
    bottom: 0;
    content: '\2039';
    display: block;
    font-size: 20px;
    height: 12px;
    position: absolute;
    right: 0;
    -ms-transform: rotate(90deg); 
    -webkit-transform: rotate(90deg);
    transform:rotate(90deg);
    width: 12px;
}

.uploadTrav .helpTxt {
    display: none;
}

/* CART */
.cartView h1, .loginArt h1 {
    color: #258499;
    font-size: 24px;
    letter-spacing: 1px;
    margin: 0 0 25px;
    text-transform: uppercase;
}

.cartItem {
    background: #f5f5f5;
    display:block;
    margin-bottom: 10px;
    padding: 20px 25px;
    position: relative;
    width: 100%;
}

.cartItem .viewToggle {
    background-image: url(/Content/images/icon-plus-minus.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 30px;
    cursor: pointer;
    display: block;
    height: 30px;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 30px;
    z-index: 1;
}

.cartItem.open .viewToggle {
    background-position: 0 -30px;
}

.itemHeader {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
    position: relative;
}

.open .itemHeader {
    border-bottom: 1px solid #ababab;
    display: block;
    margin-bottom: 10px;
    margin-right: 15px;
    padding-bottom: 10px;
    width: 98%;
}

.itemHeader h3 {
    color: #258499;
    display: inline-block;
    font-size: 16px;
    letter-spacing: 0.5px;
    line-height: 19px;
    margin: 0;
    max-width: 80%;
    text-transform: uppercase;
    width: auto;
}

.itemHeader span.location {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    line-height: 19px;
    margin-left: 10px;
    text-transform: uppercase;
    width: auto;
    vertical-align: top;
}

.cartView h1 > a.trashBtn {
    background: url(/content/images/icon-trash-alt.png) 0 0 no-repeat;
    background-size: 16px 18px;
    display: inline-block;
    height: 18px;
    left: 7px;
    position: relative;
    top: 3px;
    width: 18px;
    vertical-align: top;
}

.cartItem .itemHeader a.trashBtn {
	background: url(/content/images/icon-trash-alt.png) 0 0 no-repeat;
	background-size: 14px 16px;
    display: inline-block;
	height: 16px;
    left: 7px;
    position: relative;
    top: 3px;
	width: 16px;	
    vertical-align: top;
}

.itemHeader .itemTotal {
    display: block;
    float: right;
    font-size: 12px;
    font-weight: bold;
    line-height: 19px;
    position: relative;
    right: 50px;
    text-transform: uppercase;
    top: 2px;
}

.open .itemHeader .itemTotal {
    display: none;
}

.error .itemHeader .itemTotal {
    color: #eb212e;
}

.itemContainer {
    display: flex;
}

.cartItem .cartLeft {
    border-right: 1px solid #ababab;
    display: block;
    padding-right: 10px;
    width: 33%;
}

.cartItem .dateInput select, .cartItem .dateInput .datepicker, .tripDateDisclaimer {
    margin-bottom: 5px;
}

.cartItem .dateInput > span {
    display: block;
    font-size: 14px;
    font-weight: 700;
}

.cartItem .datepicker {
    max-width: 100%;
}

.cartItem .dateInput input.date {
    background: #fff url(/content/images/icon-date.png) 96% center no-repeat;
	background-size: 16px;
    border: 1px solid #ababab;
    cursor: pointer;
    font-size: 11px;
    height: 24px;
    line-height: 22px;
    min-width: 80px;
    max-width: 96%;
    padding: 2px;
}

.cartItem .time span {
    display: block;
    font-size: 14px;
    font-weight: 700;
}

.cartItem .time select, .cartItem .dateInput select {
    font-size: 11px;
    height: 24px;
    line-height: 24px;
    max-width: 100%;
}

.timeDisclaimer, .tripDateDisclaimer {
    font-size: 10px;
    font-style: italic;
    line-height: 12px;
}

.tripDateDisclaimer {
    display: none;
}

.timeDisclaimer {
    display: block;
    clear: both;
    text-align: left;
    width: 100%;
}

.arrDepTimes {
    clear: both;
    font-size: 12px;
    line-height: 15px;
    padding: 5px 0;
}
.arrDepTimes div {
    display: inline-block;
    margin-right: 10px;
}
.arrDepTimes div > span:first-child {
    font-weight: bold;
}

.cartItem .time .timeDesc {
    font-size: 11px;
    font-weight: 400;
    line-height: 14px;
}

.cartItem .specialInfo {
    background: #fff;
    clear: both;
    font-size: 11px;
    margin: 10px 0 0;
    max-height: 180px;
    overflow: auto;
    padding: 10px;
}

.specialItem {
    margin-bottom: 10px;
}

.specialItem span {
    font-size: 12px;
    font-weight: bold;
    text-decoration: underline;
}

.specialItem ul {
    margin: 0;
    padding-left: 15px;
}

.specialItem p {
    font-family: 'Lato', Arial, sans-serif;
    margin: 0;
}

.cartItem .cartRight {
    display: block;
    padding-left: 2%;
    width: 67%;
}

.cartRight .category {
    font-size: 14px;
    font-weight: 700;
}

.cartRight .lineItem {
    display: flex;
    font-size: 12px;
    margin: 5px 0;
    width: 100%;
}

.lineItem span {
    display: inline-block;
}

.lineItem .itemTitle {
    margin-left: 0;
    padding-right: 5%;
    width: 56%;
}

.lineItem select {
    font-size: 12px;
    max-height: 19px;
    max-width: 7%;
    min-width: 35px;
    vertical-align: top;
}

.lineItem .amtPlus {
    font-size: 12px;
    height: auto;
    max-width: 45px;
    width: 7%;
    vertical-align: top;
}

.lineItem span.price,
.lineItem span.subTotal {
    text-align: right;
    vertical-align: top;
    width: 15%;
}

.cartRight .total {
    text-align: right;
    width: 98.5%;
}

.cartRight .total > span {
    border-top: 1px solid #ababab;
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    margin-top: 10px;
    padding-top: 5px;
    text-transform: uppercase;
    width: 28%;
}

.cartRight .total span span {
    display: inline-block;
    width: 50%;
}

.cartBottom {
    overflow: hidden;
}

.cartBottom > div {
    background: #f5f5f5;
    display: block;
    float: left;
    min-height: 85px;
    width: 49.5%;
}

.promoEntry {
    margin-right: 1%;
    padding: 20px 25px;
}

.promoEntry > div {
    padding: 5px 0;
}

.promoEntry span {
    display: inline-block;
    font-size: 12px;
    line-height: 26px;
    width: 90px;
}

.promoEntry input[type="text"] {
    font-size: 12px;
    line-height: 24px;
    height: 26px;
    max-width: 200px;
    position: relative;
    top: 2px;
    vertical-align: top;
    width: 42%;
}

.promoEntry input[type="submit"] {
    background: #fff;
    border: 1px solid #258499;
    border-radius: 8px;
    color: #258499;
    left: 8px;
    padding: 4px 8px;
    position: relative;
    top: 2px;
    vertical-align: top;
}

.cartTotals {
    padding: 25px 25px 15px;
}

.gc-listing {
    font-size: 14px;
    text-align: right;
}

.gc-listing button {
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    display: inline-block;
    font-size: 24px;
    line-height: 24px;
    margin: 0 2px;
    padding: 0;
    vertical-align: top;
}

.gc-listing span {
    display: inline-block;
    vertical-align: top;
}

.gc-listing span:last-child {
    margin-left: 25px;
}

.orderTotal {
    font-size: 16px;
    font-weight: 700;
    line-height: 35px;
    text-align: right;
    text-transform: uppercase;
}

.orderTotal span {
    margin-left: 15px;
}

.cartBtns {
    margin-top: 20px;
    text-align: right;
}

.cartBtns .backTo, .af-back {
    background: #fff;
    border: 1px solid #258499;
    border-radius: 8px;
    color: #258499;
    font-size: 14px;
    padding: 8px;
    text-decoration: none;
}

.cartBtns .checkout, .af-proceed {
    background: #e16754;
    border: 1px solid #e16754;
    border-radius: 8px;
    color: #fff;
    font-size: 14px;
    margin-left: 10px;
    padding: 8px;
}

.af-buttons {
    clear: both;
    padding-top: 20px;
    text-align: right;
}

/* LOGIN */
.loginArt {
    width: 95%;
}

.loginSec {
    text-align: center;
    font-size: 14px;
}

.loginForm {
    background: white;
    display: inline-block;
    padding: 20px;
}

.loginForm div {
    padding: 5px 0;
}

.loginEntry span {
    margin-right: 8px;
    display: inline-block;
    text-align: right;
    width: 110px;
}

.loginArt .checkout h2 {
    color: #258499;
    text-transform: uppercase;
    font-size: 1.3em;
}

.loginSec .newBtn.js-forgot {
    text-transform: none;
}

@media screen and (max-width: 400px) {
    .loginEntry span {
        display: block;
        text-align: center;
        margin: 0;
        width: 100%;
    }
}

/* CHECKOUT */
section.addInfo {
    background: #f5f5f5;
    overflow: hidden;
    padding: 1% 2% 2%;
}

.cartView .addInfo h3 {
    font-size: 16px;
    margin: 10px 1%;
}

.addInfoCategory {
    font-size: 14px;
}

.addInfoItem {
    background: #fff;
    float: left;
    margin: 1% 0;
    min-height: 150px;
    padding: 2%;
    width: 100%;
    border-radius: 10px;
}

.addInfoItem h4,
.bookingFieldCategory h4 {
    border-bottom: 1px solid #ababab;
    color: #258499;
    font-size: 20px;
    margin: 0;
    padding-bottom: 5px;
    width: 100%;
}

.addInfoItem span {
    display: block;
    font-size: 14px;
    line-height: 14px;
    margin: 10px 0;
}

.addInfoItem label {
    display: inline-block;
    padding-right: 5px;
}

.addInfoItem label input {
    display: inline-block;
    margin: 0 2px 0 5px;
}

.addInfoItem label span {
    display: inline-block;
    margin: 0;
    position: relative;
    top: -3px;
    vertical-align: bottom;
}

.enterWeight input {
    font-size: 11px;
    padding: 3px 2px;
    width: 80px;
}

.addInfoDescription {
    font-weight: bold;
}

.addInfoField, .addInfoCell, .addInfoButtons {
    display: inline-block;
}
.addInfoCell,
.addInfoField {
    padding: 5px 5px 5px 0;
}
.addInfoRow {
    border-bottom: 1px solid black;
    margin-bottom: 6px;
    padding-bottom: 6px;
}
.addInfoRow:last-child {
    border: none;
}

.addInfoItem a.trashBtn {
    background: url(/content/images/icon-trash.png) 0 0 no-repeat;
	background-size: 16px 18px;
    display: inline-block;
	height: 18px;
	width: 18px;
    position: relative;
    left: 5px;
    top: 5px;
}
.addInfoRow:only-child a.trashBtn {
    display: none;
}

.addInfoRow a.addItem {
    background: url(/content/images/icon-add.png) 0 0 no-repeat;
	background-size: 18px;
    display: none;
	height: 18px;
	width: 18px;
    position: relative;
    left: 5px;
    top: 5px;
}
.addInfoRow:last-child a.addItem {
    display: inline-block;
}

.checkout {
    background: #f5f5f5;
    margin-top: 10px;
    padding: 2%;
}

.checkoutList {
    background: #fff;
    border-collapse: collapse;
    display: table;
    font-size: 12px;
    width: 100%;
}

.checkoutList .tblRow {
    display: table-row;
}

.checkoutList .tblRow > div {
    border: none;
    text-align: left;
    text-transform: uppercase;
}

.checkoutList .tblHead {
    font-weight: 400;
}

.checkoutList .tripDate {
    padding-left: 2%;
    width: 20%;
}

.checkoutList .port {
    width: 20%;
}

.checkoutList .tblRow .qty {
    text-align: center;
}

.checkoutList .tblRow .total {
    text-align: right;
}

.checkoutTotal {
    background: #fff;
    display: block;
    font-size: 12px;
    font-weight: 700;
    padding: 2%;
    text-align: right;
    text-transform: uppercase;
    width: 100%;
}

.checkoutTotal span {
    font-size: 16px;
    margin-left: 10px;
}

.adminTimeTable {
    font-size: 14px;
}

.billingForm {
    font-size: 12px;
    font-weight: 700;
    margin: 20px 0 0;
    overflow: hidden;
    padding-bottom: 60px;
    position: relative;
}

.billingForm h3 {
    margin: 10px 0 15px !important;
}

.billingForm .import {
    clear: right;
    margin-top: 5px;
    padding: 3px;
}

.billingForm input,
.billingForm select {
    font-size: 12px;
    padding: 2px;
}

.billingForm .import input[type="text"] {
    width: 120px;
}

.billingForm .import input[type="button"] {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    margin-left: 5px;
    padding: 3px 5px 4px;
    text-transform: uppercase;
}

.billingForm .leftForm {
    clear: left;
    float: left;
    padding-right: 5%;
    text-align: right;
    width: 48%;
}

.billingForm select {
    margin: 2px 0 3px;
    vertical-align: top;
}

.billingForm input[type="text"] {
    border: 1px solid #ababab;
    height: 17px;
}

.leftForm .required {
    display: block;
    margin: 0 55% 10px 0;
}

.leftForm > div > span {
    display: inline-block;
    margin-right: 3%;
    vertical-align: top;
    width: 40%;
}

.leftForm input[type="text"] {
    clear: right;
    display: inline-block;
    margin: 2px 0 3px;
    width: 50%;
}

.billingForm .cityStZip {
    clear: left;
    float: right;
    width: 52%;
}

.cityStZip input.city {
    display: block;
    float: left;
    padding: 1%;
    width: 40% !important;
}

.cityStZip select {
    display: block;
    float: left;
    margin: 2px 1% 0;
    min-width: 42px;
    padding: 1%;
    width: 20%;
}

.cityStZip input.zip {
    display: block;
    float: right;
    margin: 2px 0 3px;
    padding: 1%;
    width: 29% !important;
}

.leftForm .country {
    clear: right;
    text-align: right;
    width: 100%;
}

.leftForm .country select {
    margin: 2px 0 3px;
    max-width: 207px;
    width: 52%;
}

.leftForm .trustLogo {
    display: inline-block;
    margin-left: 10px;
    width: 102px;
}

.leftForm div:last-child {
    margin-top: 2px;
}

.billingForm .rightForm {
    float: left;
    padding-top: 29px;
    text-align: right;
    width: 45%;
}

.rightForm select {
    margin: 0 !important;
}

.checkout .cruise-disclaimer {
    font-size: 10px;
    font-weight: 500;
    padding: 0;
    margin: -6px 0 3px 0;
}

.rightForm > div,
.rightForm .agencyInfo > div {
    font-size: 12px;
    padding: 2px 0 3px;
}

.rightForm div > span {
    display: inline-block;
    font-size: 12px;
    margin-right: 3%;
    vertical-align: baseline;
    width: auto;
}

.rightForm input[type="text"] {
    clear: right;
    display: inline-block;
    margin: 0;
}

.rightForm input.date {
    background: #fff url(/content/images/icon-date-alt.png) 98% center no-repeat;
	background-size: 15px;
    width: 129px;
}

.rightForm .datepicker .calendar {
    left: auto !important;
    right: 0 !important;
}

.js-cruise-trig,
.js-hotel-trig {
    width: 135px;
}

.js-cruise-info {
    padding: 0 !important;
}

.js-cruise-info div {
    padding: 2px 0 3px;
}

.js-cruise-info div span {
    margin-right: 3%;
}

.js-cruise-info select {
    display: inline-block;
    width: 200px;
}

.hotelCopy {
    clear: both;
    display: block;
    float:right;
    line-height: 16px;
    margin-right: 0 !important;
    max-width: 80%;
    padding: 5px 0;
    text-align: left;
}

.js-hotel-info > div {
    clear: both;
}

.js-hotel-info > input[type="text"] {
    width: 207px;
}

.checkIn {
    padding: 5px 0;
}

.checkIn span {
    margin-right: 3%;
}

.checkIn select {
    width: 75px;
}

.checkoutBtn {
    bottom: 0;
    position: absolute;
    right: 7%;
}

.checkoutBtn input {
    background: #e16754;
    border: none;
    border-radius: 6px;
    color: #fff;
    padding: 8px 12px;
    text-transform: uppercase;
}

.checkoutAgain {
    clear: both;
    width: 100%;
}

.checkoutAgain label {
    display: flex;
    float:right;
    max-width: 300px;
    overflow: hidden;
}

.checkoutAgain label span {
    display: inline-block;
    margin: 0 0 0 5px;
    text-align: left;
    vertical-align: top;
    width: 95%;
}

.insuranceOpt label {
    display: flex;
    float:right;
    max-width: 400px;
    overflow: hidden;
}

.insuranceOpt label > span {
    display: inline-block;
    margin: 0 0 0 5px;
    text-align: left;
    vertical-align: top;
    width: 95%;
}

.insuranceOpt label span span {
    font-style: italic;
}

/* ADD INSURANCE */
.addInsurance {
    display: block;
    background: #f5f5f5;
    margin-top: 20px;
    overflow: hidden;
    padding: 2%;
}
.insCopy {
    padding-bottom: 20px;
}

.insCopy img {
    display: inline-block;
    max-width: 17%;
}

.insCopy div {
    display: inline-block;
    margin-left: 2%;
    max-width: 80%;
    vertical-align: top;
}

.insCopy div h3 {
    color: #666;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.insCopy div span {
    font-size: 13px;
    line-height: 16px;
}

.insHeader {
    font-size: 13px;
    line-height: 16px;
    margin-bottom: 14px;
}

.insHeader > h3 {
    color: #666;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.insHeader strong {
    font-weight: bold;
}

.insTblHeader {
    font-size: 13px;
    margin-bottom: 10px;
}

.insTripList .chkBox input {
    margin: 5px 5px 5px 10px;
}

.checkoutList.insTripList .totalNum {
    text-align: right;
}

.checkoutList.insTripList .tripDate {
    width: 12%;
}

.insTripList .amtPlus {
    max-width: 48px;
}

.insField {
    width: 155px;
}
.insInfo {
    margin: 0 auto;
    padding: 40px 0 0;
    text-align: center;
    width: 65%;
}
.insInfo h3 {
    color: #666;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.insInfo div {
    font-size: 12px;
    padding: 5px 0;
}

.insInfo div span {
    display: inline-block;
    margin-right: 5px;
    text-align: right;
    width: 100px;
}

.insBtns {
    text-align: center;
}

.insInfo input[type='button'],
.insInfo input[type='submit'] {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 12px;
    margin: 15px 5px;
    padding: 8px 12px;
    text-transform: uppercase;
}

.insInfo input[type='button'].cancelBtn {
    background: none;
    border: none;
    color: #258499;
    font-size: 12px;
    margin: 15px 5px;
    padding: 8px 12px;
    text-transform: uppercase;
}

.insInfo .disclaimer span {
    display: block;
    padding: 5px 0;
    text-align: center;
    width: 100%;
}

.insInfo .disclaimer a {
    color: #333;
}

.insInfo .disclaimer input {
    background: none;
    border: none;
    color: #333;
    font-size: 12px;
    margin: 0;
    padding: 0;
    text-decoration: underline;
}

/* ORDER CONFIRMATION */
.confirmCopy {
    font-size: 13px;
    line-height: 17px;
    max-width: 600px;
}

.confirmCopy h3 {
    color: #666;
    text-transform: uppercase;
}

.orderConfirm {
    padding: 1% 2% 2%;
}

.orderConfirm h3 {
    color: #666;
    margin: 15px 0;
    text-transform: uppercase;
}

.orderConfirmBtns {
    padding: 20px 0 10px;
    text-align: right;
}

.orderConfirmBtns form {
    display: block;
}

.orderConfirmBtns .finishBtn {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 12px;
    margin-left: 10px;
    padding: 8px 12px;
    text-transform: uppercase;
}

.orderConfirmBtns .checkoutAgainBtn {
    border: none;
    background: none;
    text-decoration: underline;
    margin-top: 20px;
}

/* TRIP PLANNER */
.plannerView h1 {
    color: #258499;
    float: left;
    font-size: 26px;
    letter-spacing: 1px;
    margin: 0 0 15px;
    text-transform: uppercase;
}

.tp-edit-page .copied-from {
    clear: both;
    margin-top: 0.5em;
    margin-bottom: 1em;
    border: 1px solid #e16754;
    padding: 1em;
    text-align: center;
}

.planActions {
    float: right;
}

.tp-edit-page .action {
    font-size: 11px;
    line-height: 13px;
    text-decoration: none;
    text-transform: uppercase;
    color: #2f2f2f;
    white-space: nowrap;
    display: inline-block;
    margin-bottom: 10px;
    margin-top: 5px;
}

.tp-edit-page .copyForm {
    display: inline;
}
.tp-edit-page .copyForm > a {
    background: url(/content/images/icon-copy.png) right center no-repeat;
    background-size: contain;
    padding: 1px 23px 2px 0;
    margin-right: 20px;
}

.planActions .printBtn {
    background: url(/Content/images/icon-print.png) right center no-repeat;
    background-size: contain;
    margin-right: 20px;
    padding: 1px 23px 2px 0;
}

.planActions .emailBtn {
    background: url(/Content/images/icon-email.png) right 1px no-repeat;
    background-size: 20px;
    margin-right: 20px;
    padding: 1px 27px 2px 0;
}

.planActions .deleteBtn {
    background: url(/Content/images/icon-trash-alt.png) right center no-repeat;
    background-size: 13px;
    padding: 1px 20px 2px 0;
}

.planActions a:hover {
    text-decoration: underline;
}

.plannerView .topInfo {
    background: #f5f5f5;
    clear: both;
    padding: 20px;
    margin: 0 0 10px;
    max-width: 600px;
    text-align: left;
    width: 100%;
}

.labelledFields {
    display: table;
    border-spacing: 8px 6px;
}

.labelledFields > div {
    display: table-row;
    padding: 4px 0;
}

.labelledFields > div > * {
    display: table-cell;
}

.labelledFields > div > label {
    min-width: 105px;
    text-align: right;
    vertical-align: top;
}

.labelledFields > div > input,
.labelledFields > div > textarea {
    width: 100%;
}
.tpEditFields textarea {
    height: 60px;
}

.topInfo div .cruiseName {
    color: #666;
    display: inline-block;
    font-size: 16px;
    margin-bottom: 5px;
    margin-right: 15px;
}

.topInfo div input {
    background: #fff;
    border: 1px solid #a0a0a0;
    color: #666;
    font-size: 14px;
    padding: 3px 6px 4px;
    vertical-align: top;
}

.changeCruiseBtn,
.topInfo div button {
    background: #fff;
    border: 1px solid #258499;
    border-radius: 6px;
    color: #258499;
    cursor: pointer;
    display: inline-block;
    font-size: 11px;
    padding: 3px 6px 4px;
    text-transform: uppercase;
    vertical-align: top;
}
.changeCruiseBtn:hover,
.topInfo div button:hover {
    background: #258499;
    border-radius: 6px;
    color: #fff;
}
.topInfo div.datepicker {
    display: inline-block;
    padding: 0;
    vertical-align: top;
}
.topInfo .savePlanInfo {
    clear: both;
    display: block;
    padding: 0 10px;
    text-align: center;
    width: 100%;
}
.savePlanInfo .saveBtn {
    background: #258499;
    border: 1px solid #258499;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    font-size: 13px;
    padding: 3px 6px 4px;
    text-transform: uppercase;
}
.savePlanInfo .saveBtn.disabled {
    background: #a0a0a0;
    border: 1px solid #a0a0a0;
    color: #e1e1e1;
    cursor: default;
}
.unsavedCruiseDisclaimer {
    font-size: 14px;
    line-height: 16px;
    margin: 35px 0 0;
}
.orphanedTrips {
    margin: 25px 0;
}
.orphanedTrips > h2 {
    clear: both;
    color: #258499;
    display: block;
    font-size: 22px;
    margin: 0 0 15px;
    text-transform: uppercase;
}
.orphanedTrips .copy {
    font-size: 13px;
    line-height: 16px;
    margin-bottom: 15px;
}
.plannerList {
    clear: both;
    padding: 25px 0;
}
.plannerList > h2 {
    clear: left;
    color: #258499;
    display: block;
    float: left;
    font-size: 22px;
    margin: 0 0 15px;
    text-transform: uppercase;
}
.addPortBtn {
    background: #258499;
    border: none;
    border-radius: 6px;
    clear: right;
    color: #fff;
    display: block;
    float: right;
    font-size: 14px;
    letter-spacing: 0.5px;
    padding: 6px 10px 7px;
    text-decoration: none;
    text-transform: uppercase;
}
.planWrap {
    border: 1px solid #ababab;
    clear: both;
    margin-bottom: 15px;
}

.planItem {
    background: #f5f5f5;
}

.displayOnly .planLocLeft {
    display: none;
}
.displayOnly .planLocRight {
    float: none;
    width: 100%;
}
.planLocLeft {
    float: left;
    width: 25%;
    height: 130px;
    overflow: hidden;
    position: relative;
}
.planLocLeft img {
    position: absolute;
    top: 65px;
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
}
.planLocRight {
    float: left;
    width: 75%;
    padding: 20px 3%;
}
@media screen and (max-width: 700px) {
    .planLocLeft {
        float: none;
        width: 100%;
        height: 150px;
    }
    .planLocLeft img {
        top: 75px;
    }
    .planLocRight {
        float: none;
        width: 100%;
    }
}

.plannedTrips {
    clear: both;
}

.noCruise .planItem {
    background: #fff;
}

.planItem h2 {
    clear: both;
    color: #258499;
    display: block;
    font-size: 20px;
    line-height: 20px;
    margin: 0 0 15px;
    text-transform: uppercase;
    width: 100%;
}
.planItem h2 span {
    display: inline-block;
    max-width: 80%;
}
.planItem h2 .cruiseIcon {
    background: url(/content/images/icon-ship-alt.png) 0 0 no-repeat;
	background-size: 18px 20px;
    display: inline-block;
	height: 20px;
    margin: 0 5px 0 0;
    vertical-align: top;
	width: 18px;
}
.planItem h2 a.trashBtn {
    background: url(/content/images/icon-trash-alt.png) 0 0 no-repeat;
	background-size: 16px 18px;
    display: inline-block;
	height: 18px;
    margin: 0 5px 0 0;
    vertical-align: top;
	width: 16px;
}

.portActions {
    clear: both;
    display: flex;
    padding: 0 0 0 12%;
    text-align: center;
    width: auto;
}
.portActions .datepicker {
    height: 34px;
}
.portActions select,
.portActions div {
    font-size: 13px;
    height: 22px;
    margin-right: 10px;
    width: auto;
}

.portActions div {
    font-weight: bold;
    margin-right: 15px;
}

.portActions div span,
.portActions label {
    font-weight: normal;
}

.planTrip {
    background: #e1e1e1;
    display: flex;
    margin-bottom: 5px;
    padding: 15px 3%;
    position: relative;
    z-index: 1;
}

.planTrip:last-child {
    margin-bottom: 0;
}

.planTrip h3 {
    color: #258499;
    font-size: 16px;
    line-height: 18px;
    margin: 0;
    max-width: 80%;
    text-transform: uppercase;
}
.planTrip h3 a {
    color: #258499;
    text-decoration: none;
}
.planTrip h3 a:hover {
    text-decoration: underline;
}
.planTrip a.changeDate {
    color: #333;
    font-size: 12px;
    line-height: 18px;
    text-transform: uppercase;
    white-space: nowrap;
}

.planTrip a.trashBtn {
    background: url(/content/images/icon-trash-alt.png) 0 0 no-repeat;
	background-size: 14px 16px;
    display: inline-block;
	height: 16px;
    margin: 0 15px;
	width: 16px;
}

.planTrip a.addToCart {
    background: #e16754;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    height: 20px;
    margin-left: 15px;
    margin-top: -5px;
    padding: 4px 8px 5px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    vertical-align: top;
    white-space: nowrap;
}

.addTripsBtn {
    background: #e16754;
    border: none;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    height: 20px;
    margin-left: 15px;
    margin-top: -5px;
    padding: 4px 8px 5px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    vertical-align: top;
}

/* EDIT CUSTOMER PAGE */
.editCustFields {
    max-width: 550px;
    margin: 12px 0;
    width: 100%;
}
.customerInfo {
    clear: both;
    padding-top: 15px;
}
.customerCruises h3 {
    padding: 20px 0 5px 0;
}
.okToMarket {
    padding-bottom: 15px;
}
.editCustomerPage .js-new-customer-needed {
    font-size: 0.8em;
    color: red;
    margin: 1em;
    text-align: center;
    display: none;
}
.travelerCruises {
    display: table;
    font-size: 14px;
}
.travelerCruises > div {
    display: table-row;
}
.travelerCruises > div > div {
    border: 1px solid #f5f5f5;
    display: table-cell;
    text-align: center;
    padding: 3px 6px;
}
.travelerCruises .trashBtn {
    background: url(/content/images/icon-trash-alt.png) 0 0 no-repeat;
	background-size: 14px 16px;
    display: inline-block;
	height: 16px;
	width: 16px;	
    vertical-align: middle;
}

/* REVIEW PAGE */
.reviewWrapper {
    margin: 0 auto;
    max-width: 620px;
}

.reviewTrip {
    background: #f5f5f5;
    padding: 50px;
    margin: 0 auto;
    max-width: 96%;
}
.reviewTrip h1 {
    color: #258499;
    font-size: 24px;
    letter-spacing: 1px;
    margin: 0 0 25px;
    text-transform: uppercase;
}
.reviewForm {
    font-size: 14px;
    margin: 40px 0 50px;
}
.reviewForm div {
    padding: 10px 0 0;
}
.reviewForm div > span {
    display: inline-block;
    max-width: 150px;
    padding-right: 10px;
    text-align: right;
    vertical-align: top;
    width: 30%;
}
.reviewForm div input[type='text'] {
    max-width: 250px;
    width: 70%;
}
.reviewForm div textarea {
    height: 100px;
    max-width: 350px;
    width: 55%;
}
.reviewForm .tripDesc div {
    display: inline-block;
    max-width: 350px;
    padding: 0;
}
.reviewForm .tripDesc div span {
    max-width: none;
    padding: 0 0 5px;
    text-align: left;
    width: 50%;
    vertical-align: top;
}
.reviewForm .tripDesc div .tripName {
    display: block !important;
    width: 100%;
}
.reviewForm div label {
    display: block;
    font-size: 13px;
    line-height: 16px;
    padding-left: 100px;
    margin-top: 20px;
    max-width: 350px;
}
.reviewForm div label span,
.reviewForm div label input {
    display: inline-block;
    max-width: 90%;
    vertical-align: top;
}
.enterReview {
    margin: 20px 0 0;
    text-align: center;
    width: 50%;
}
.submitReview {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 12px;
    padding: 8px 12px;
    text-transform: uppercase;
}

/* ERROR PAGES */
.oopsBG {
    background: url(/Content/theme/snorkel/background.jpg) center top no-repeat;
    background-size: cover;
    height: 600px;
    margin-top: 40px;
    padding: 50px;
    position: relative; 
    text-align: center;
}
.unauthBG {
    background: url(/Content/theme/snorkel/background-alt-2.jpg) center top no-repeat;
    background-size: cover;
    height: 600px;
    margin-top: 40px;
    padding: 50px;
    position: relative; 
    text-align: center;
}
.oopsBG > div,
.unauthBG > div {
    background: rgba(0,0,0,0.5);
    color: #fff;
    line-height: 24px;
    margin: 0 auto;
    max-width: 80%;
    padding: 30px 30px 40px;
}
.oopsBG h1,
.unauthBG h1 {
    margin: 10px 0;
    text-transform: uppercase;
}
.oopsBG div a, .unauthBG div a {
    color: #fff;
}

/* CRUISE ERROR */
.cruiseError h1 {
    color: #258499;
    font-size: 24px;
    letter-spacing: 1px;
    margin: 25px 0 25px;
    text-transform: uppercase;
}

.searchCruises {
    float: right;
    padding-bottom: 25px;
}

.searchCruises a {
    color: #258499;
    display: block;
    font-size: 12px;
    text-transform: uppercase;
}

.otherCruises {
    background: #e1e1e1;
    clear: both;
    overflow: hidden;
    padding: 20px;
}

.otherCruises .cruiseOpt {
    background: #fff;
    float: left;
    height: 300px;
    margin-bottom: 2%;
    padding: 15px;
    position: relative;
    width: 49%;
}

.otherCruises .cruiseOpt:nth-child(odd) {
    margin-right: 2%;
}

.cruiseOpt h3 {
    color: #258499;
    font-size: 16px;
    margin: 0 0 15px;
    text-transform: uppercase;
}

.cruiseOpt .cruiseList {
    border: 1px solid #a0a0a0;
    height: 190px;
    overflow: auto;
    padding: 5px;
}

.cruiseOpt .cruiseList div {
    padding: 2px 0 3px;
}

.cruiseOpt .cruiseList div span {
    display: inline-block;
    margin-right: 10px;
    vertical-align: top;
}

.cruiseOpt .cruiseList div span:first-child {
    width: 50px;
}

.cruiseOpt .cruiseList div span:last-child {
    max-width: 80%;
}

.cruiseOpt .viewTripsBtn {
    bottom: 15px;
    display: block;
    position: absolute;
    right: 15px;
}

.cruiseOpt .viewTripsBtn a {
    background: #258499;
    border: 1px solid #258499;
    border-radius: 6px;
    color: #fff;
    display: block;
    font-size: 12px;
    padding: 5px 8px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

/* GIFT CERTIFICATE */
.viewGC .container {
    background: #e16754;
    max-width: 710px;
    padding: 2em;
    text-align: center;
}
.viewGC .mainContainer {
    margin-bottom: 30px;
}
.viewGC .borderRemainder {
    background: #fff;
    border: 2px solid #258499;
    border-top: none;
    padding: 1px 0 5px 0;
}
.viewGC .giftMsg {
    color: #e16754;
    font-size: 1.25em;
    letter-spacing: 2px;
    line-height: 1.2em;
    margin: 1.3em 1em;
    text-align: center;
    text-transform: uppercase;
}
.viewGC .giftCopy {
    color: #2f2f2f;
    font-size: 0.8em;
    letter-spacing: 2px;
    line-height: 1.4em;
    margin: 1em 0;
    padding: 0 4%;
    position: relative;
    text-align: center;
    text-transform: uppercase;
}
.viewGC .giftCopy span {
    background: #fff;
    display: block;
    margin: 0 auto;
    max-width: 620px;
    position: relative;
    width: 82%;
    padding: 0 2%;
    z-index: 2;
}
.viewGC .giftCopy::after {
    border-top: 2px solid #a1a1a1;
    content: "";
    display: block;
    left: 35px;
    position: absolute;
    right: 35px;
    top: 49%;
    width: auto;
    z-index: 1;
}
.viewGC .specialAmt {
    overflow: hidden;
    margin: 1.5em 1em;
    text-align: center;
}
.viewGC .giftGiver {
    margin: 0.8em 1em;
}
.viewGC .giftGiver > span {
    font-weight: bold;
}
.viewGC .specialAmt .giftAmt {
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    overflow: hidden;
    vertical-align: top;
    white-space: nowrap;
}
.viewGC .amtContainer {
    background: #e16754;
    border-radius: 2em;
    color: #fff;
    padding: 1em;
    text-align: center;
}
.viewGC .amtContainer span {
    display: inline-block;
    font-size: 2.5em;
    line-height: 1em;
    vertical-align: top;
}
.viewGC .amtContainer span.amt {
    font-size: 3.5em;
    line-height: 1em;
}
.viewGC .bottomMsg {
    clear: both;
    margin-bottom: 35px;
    overflow: hidden;
}
.viewGC .bottomMsg > div {
    background: #fff;
    border: 3px solid #258499;
    text-align: left;
}
.viewGC .bottomMsg .mainInfo {
    float: left;
    max-width: 400px;
    padding: 1px 1em;
    width: 35%;
}
.viewGC .bottomMsg .mainInfo div {
    margin: 1em 0;
}
.viewGC .bottomMsg .mainInfo div span:first-child {
    display: block;
    font-weight: bold;
}
.viewGC .bottomMsg .redeemInfo {
    float: right;
    max-width: 730px;
    padding: 1px 1em;
    width: 63%;
}
.viewGC .bottomMsg .redeemInfo h3 {
    color: #258499;
    font-family: 'Oswald', sans-serif;
    margin: 1em 0 1em 15px;
    text-transform: uppercase;
}
.viewGC .bottomMsg .redeemInfo div {
    margin: 1em 0;
}
.viewGC .bottomMsg .redeemInfo div span {
    font-weight: bold;
    text-transform: uppercase;
}
.viewGC .bottomMsg .redeemInfo div span a {
    color: #2f2f2f;
}
.viewGC .bottomMsg .redeemInfo div p {
    font-family: 'Lato', Arial, sans-serif;
    margin: 5px 0 5px 35px;
}
.viewGC .giftFooter {
    text-align: center;
}

/* GROUP FLYER */
a.groupFlyer, a.groupFlyer:visited {
    color: inherit;
    display: block;
    text-decoration: none;
}
.groupFlyer .container {
    letter-spacing: 1px;
    max-width: 1275px;
    padding: 0;
}
.groupFlyer .mainHeader {
    clear: both;
    display: table;
    overflow: hidden;
    position: relative;
}
.groupFlyer .mainHeader > div {
    display: table-row;
}
.groupFlyer .mainHeader > div > div {
    display: table-cell;
    vertical-align: top;
    width: 50%;
}
.groupFlyer .mainHeader img {
    height: 100%;
    max-width: none;
    position: absolute;
    left: 25%;
    -moz-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    transform: translateX(-50%);
    z-index: -1;
}
.groupFlyer .headerMsg {
    background: #258499;
    padding: 50px 50px 20px 50px;
    z-index: 2;
}
.groupFlyer .headerMsg div {
    padding: 20px 0 10px;
}
.groupFlyer .headerMsg div span {
    border-bottom: 2px solid #e16754;
    color: #fff;
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 44px;
    font-weight: bold;
    line-height: 50px;
    padding-bottom: 5px;
    text-transform: uppercase;
    width: 100%;
}
.groupFlyer .headerMsg .copy {
    color: #fff;
    font-size: 29px;
    line-height: 33px;
}
.groupFlyer .mainContainer {
    padding: 20px 50px;
}
.groupFlyer .agtMsg {
    border: 2px solid #ebebeb;
    padding: 15px;
}
.groupFlyer .agtMsg h3 {
    color: #258499;
    font-size: 26px;
    margin: 0 0 10px;
}
.groupFlyer .agtMsg div {
    font-size: 18px;
    line-height: 22px;
}
.groupFlyer .mainInfo {
    margin: 20px 0;
}
.groupFlyer .mainInfo .groupHeader {
    background: #258499;
    color: #fff;
    padding: 20px;
    text-align: center;
}
.groupFlyer .groupHeader .groupTitle {
    display: block;
    font-size: 30px;
    line-height: 1.2em;
    padding: 10px 0;
    text-transform: uppercase;
}
.groupFlyer .groupHeader .cruiseInfo {
    display: block;
    font-size: 27px;
    line-height: 1em;
    padding: 5px 0 10px;
}
.groupFlyer .mainInfo .groupInfo {
    border-left: 2px solid #ebebeb;
    border-right: 2px solid #ebebeb;
    clear: both;
    font-size: 24px;
    overflow: hidden;
    padding: 25px 25px 30px 50px;
}
.groupFlyer .groupInfo .left {
    float: left;
    width: 45%;
}
.groupFlyer .groupInfo .right {
    float: right;
    width: 55%;
}
.groupFlyer .groupInfo div div {
    padding: 7px 0 8px;
}
.groupFlyer .groupInfo div span.label {
    color: #258499;
    display: inline-block;
    width: 50%;
}
.groupFlyer .groupInfo .left span.label {
    max-width: 180px;
}
.groupFlyer .groupInfo .right span.label {
    max-width: 170px;
}
.groupFlyer .mainInfo .groupItin {
    border-bottom: 2px solid #ebebeb;
    border-left: 2px solid #ebebeb;
    border-right: 2px solid #ebebeb;
    display: table;
    width: 100%;
}
.groupFlyer .groupItin .listHeader {
    color: #fff;
    display: table-row;
}
.groupFlyer .groupItin .listHeader div {
    background: #258499;
    display: table-cell;
    font-size: 24px;
    text-transform: uppercase;
}
.groupFlyer .groupItin .listHeader .date {
    border-right: 1px solid #ebebeb;
    padding: 10px;
    text-align: center;
}
.groupFlyer .groupItin .listRow {
    display: table-row;
    font-size: 20px;
}
.groupFlyer .groupItin .listRow div {
    display: table-cell;
    padding: 10px 20px 10px 30px;
    text-transform: uppercase;
}
.groupFlyer .groupItin .listRow .date {
    background: #ebebeb;
    line-height: 20px;
    padding: 10px;
    text-align: center;
    min-width: 140px;
    width: 12%;
}
.groupFlyer .groupItin .date span {
    font-size: 16px;
}
.groupFlyer .groupItin .location {
    padding: 10px 20px 10px 30px;
    text-align: left;
    width: 50%;
}
.groupFlyer .groupItin .arrives,
.groupFlyer .groupItin .departs {
    border-left: 1px solid #ebebeb;
    padding: 10px !important;
    text-align: center;
    width: 15%;
}
.groupFlyer .tripsList .localeHead {
    background: #258499;
    color: #fff;
    font-size: 24px;
    padding: 10px 30px;
}
.groupFlyer .tripsList .listContainer {
    border-bottom: 2px solid #ebebeb;
    border-left: 2px solid #ebebeb;
    border-right: 2px solid #ebebeb;
    padding: 0 30px;
}
.groupFlyer .listContainer .listItem {
    border-bottom: 1px solid #ebebeb;
    overflow: hidden;
    padding: 30px 0;
}
.groupFlyer .listContainer .listItem:last-child {
    border-bottom: none;
    padding-bottom: 10px;
}
.groupFlyer .listItem .tripInfo {
    float: left;
    max-width: 250px;
    width: 23%;
}
.groupFlyer .tripInfo .time {
    color: #258499;
    font-size: 20px;
    font-weight: bold;
    padding: 5px 0;
    text-align: center;
}
.groupFlyer .tripInfo .transfer {
    font-size: 18px;
    padding: 0 10px 10px;
    text-align: center;
}
.groupFlyer .tripInfo .prices {
    background: #258499;
    color: #fff;
    font-size: 22px;
    line-height: 25px;
    padding: 10px 20px 10px 10px;
}
.groupFlyer .tripInfo .prices > span {
    display: block;
}
.groupFlyer .tripInfo .prices span span {
    font-size: 18px;
}
.groupFlyer .listItem .tripDetails {
    float: left;
    font-size: 20px;
    line-height: 22px;
    padding-left: 20px;
    width: 77%;
}
.groupFlyer .listItem .tripDetails div {
    margin-bottom: 10px;
}
.groupFlyer .listItem .tripDetails ul {
    list-style: none;
    margin: 5px 0;
    padding-left: 5px;
}
.groupFlyer .listItem .tripDetails ul li {
    padding: 2px 0 3px;
}
.groupFlyer .listItem .tripTitle {
    color: #258499;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.2em;
    text-transform: uppercase;
}
.groupFlyer .flyerFooter {
    padding: 30px 0 20px;
    text-align: center;
}
.groupFlyer .flyerFooter img {
    display: inline-block;
    margin: 0 7px 0 8px;
    vertical-align: top;
}

/* GROUP MANIFEST */
.groupManifest .container {
    letter-spacing: 1px;
    max-width: 1275px;
    padding: 30px 0;
}
.groupManifest .manifestHeader {
    position: relative;
}
.groupManifest a.printBtn {
    background: #e16754;
    border-radius: 8px;
    color: #fff;
    display: block;
    float: left;
    font-size: 20px;
    font-weight: bold;
    left: 0;
    padding: 10px 15px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    top: 0;
    width: 70px;
}
.groupManifest .contact {
    float: left;
    min-height: 65px;
    overflow: hidden;
    padding: 0 0 25px 100px;
    text-align: center;
    width: 100%;
}
.groupManifest .contact div {
    color: #258499;
    display: inline-block;
    font-size: 18px;
    line-height: 22px;
    padding: 0 30px;
    text-align: left;
}
.groupManifest .contact div span {
    display: block;
}
.groupManifest .contact div a {
    color: #258499;
    text-decoration: none;
}
.groupManifest .manifestTrip {
    overflow: hidden;
}
.groupManifest .titleBlock {
    background: #258499;
    clear: both;
    overflow: hidden;
    padding: 0 25px 0 45px;
    width: 100%;
}
.manifestHeader div h1 {
    color: #258499;
    font-size: 50px;
    font-weight: normal;
    line-height: 1em;
    margin: 0;
    padding: 0 0 0 45px;
    text-transform: uppercase;
}
.groupManifest .titleBlock h1 {
    color: #fff;
    float: left;
    padding: 8px 0 0;
}
.groupManifest .titleBlock img {
    float: right;
    max-height: 120px;
}
.groupManifest .manifestDetails {
    border: 2px solid #ebebeb;
    margin: 25px 0 35px;
    overflow: hidden;
    padding: 20px 20px 20px 45px;
}
.groupManifest .manifestDetails > div {
    float: left;
    font-size: 20px;
    padding: 10px 0 15px;
    width: 50%;
}
.groupManifest .manifestDetails > div > span {
    display: inline-block;
    vertical-align: top;
    width: 50%;
}
.groupManifest .manifestDetails > div > span.label {
    color: #258499;
    max-width: 220px;
}
.groupManifest .manifestTrip {
    margin-bottom: 35px;
}
.groupManifest .tripContainer {
    border-bottom: 2px solid #258499;
    border-left: 2px solid #258499;
    border-right: 2px solid #258499;
}
.groupManifest .header {
    background: #258499;
    padding: 10px 10px 10px 150px;
    position: relative;
}
.groupManifest .header a.printBtn {
    left: 10px;
    top: 10px;
}
.groupManifest .header h2 {
    color: #fff;
    font-size: 25px;
    line-height: 39px;
    margin: 0;
}
.groupManifest .tripContainer .details {
    background: #e1e1e1;
    display: flex;
    font-size: 20px;
    line-height: 23px;
    padding: 20px;
}
.groupManifest .details div {
    width: 15%;
}
.groupManifest .details div.location {
    width: 25%;
}
.groupManifest .details div.operator {
    width: 30%;
}
.groupManifest .details div span {
    display: block;
}
.groupManifest .details div span.label {
    font-weight: bold;
}
.groupManifest .tripContainer .tripDesc {
    font-size: 20px;
    line-height: 25px;
    padding: 20px;
}
.groupManifest .paxDetails {
    display: table;
    font-size: 20px;
    width: 100%;
}
.groupManifest .paxDetails > div {
    display: table-row;
}
.groupManifest .paxDetails > div > div {
    display: table-cell;
}
.groupManifest .paxDetails .listHeader {
    background: #258499;
    color: #fff;
}
.groupManifest .paxDetails .listHeader div {
    padding: 5px 10px 5px 20px;
    text-transform: uppercase;
}
.groupManifest .paxDetails .listRow div {
    padding: 10px 10px 10px 20px;
}
.groupManifest .paxDetails .listRow div:not(:last-child),
.groupManifest .paxDetails .listHeader div:not(:last-child) {
    border-right: 2px solid #258499;
}
.groupManifest .paxDetails .listRow .desc {
    border-right: none;
}
.groupManifest .totalPax div {
    background: #258499;
    color: #fff;
    float: right;
    font-size: 20px;
    padding: 10px 15px;
    text-align: left;
    text-transform: uppercase;
    width: auto;
}

/* MY TRIP PLANNER */
.myTripplanner .container {
    letter-spacing: 1px;
    max-width: 1275px;
    padding: 50px;
}
/* .topCell stuff is easier on mobile so do that first... */
.myTripplanner .topCell {
    text-align: center;
}
.myTripplanner .topCell.image img {
    max-height: 80px;
    max-width: 100%;
}
/* ... and override it here for larger screens */
@media screen and (min-width: 500px) {
    .myTripplanner .topCell {
        display: inline-block;
        vertical-align: top;
    }
    .myTripplanner .topCell.header {
        text-align: left;
        width: 68%;
    }
    .myTripplanner .topCell.image {
        text-align: right;
        width: 30%;
    }
}
.myTripplanner .tpInfo {
    border: 2px solid #ebebeb;
    padding: 20px 25px 30px;
}
.myTripplanner h1 {
    clear: both;
    color: #258499;
    font-size: 42px;
    font-weight: normal;
    margin: 0;
    overflow: hidden;
}
.myTripplanner .tpInfo .main {
    border-bottom: 1px solid #ebebeb;
    overflow: hidden;
    padding: 20px 10px 20px 20px;
}
.myTripplanner .main .field {
    float: left;
    font-size: 20px;
    padding: 7px 0;
    width: 50%;
}
.myTripplanner .main .spacer {
    clear: both;
}
.myTripplanner .main div span.label {
    color: #258499;
    display: inline-block;
    width: 50%;
}
.myTripplanner .main div span.label {
    max-width: 160px;
}
.myTripplanner .about {
    padding: 20px 10px 20px 20px;
}
.myTripplanner .about span {
    display: inline-block;
    font-size: 18px;
    line-height: 21px;
    vertical-align: top;
    width: 77%;
} 
.myTripplanner .about span.label {
    color: #258499;
    width: 22%;
}
.myTripplanner .tpItinerary {
    border: 2px solid #ebebeb;
    margin: 30px 0;
    overflow-y: auto;
}
.myTripplanner .tpItinerary h1 {
    margin: 15px 0;
    text-align: center;
}
.myTripplanner .itinList {
    display: table;
    width: 100%;
}
.myTripplanner .itinList .listHeader {
    color: #fff;
    display: table-row;
}
.myTripplanner .itinList .listHeader div {
    background: #258499;
    display: table-cell;
    font-size: 24px;
    text-transform: uppercase;
}
.myTripplanner .itinList .listHeader .date {
    border-right: 1px solid #ebebeb;
    padding: 10px;
    text-align: center;
}
.myTripplanner .itinList .listRow {
    display: table-row;
    font-size: 20px;
}
.myTripplanner .itinList .listRow div {
    display: table-cell;
    padding: 10px 20px 10px 30px;
    text-transform: uppercase;
}
.myTripplanner .itinList .listRow .date {
    background: #ebebeb;
    line-height: 20px;
    padding: 10px;
    text-align: center;
    min-width: 140px;
    width: 12%;
}
.myTripplanner .itinList .date span {
    font-size: 16px;
}
.myTripplanner .itinList .location {
    padding: 10px 20px 10px 30px;
    text-align: left;
    width: 50%;
}
.myTripplanner .itinList .arrives,
.myTripplanner .itinList .departs {
    border-left: 1px solid #ebebeb;
    padding: 10px !important;
    text-align: center;
    width: 15%;
}
.myTripplanner .suggTrips {
    border: 2px solid #ebebeb;
    margin: 30px 0;
}
.myTripplanner .suggTrips h1 {
    margin: 15px 0;
    text-align: center;
}
.myTripplanner .localeHead {
    background: #258499;
    color: #fff;
    font-size: 24px;
    padding: 10px 20px;
}
.myTripplanner .plannedTrip {
    height: 100%;
    margin: 10px 20px 10px 10px;
    clear: both;
    overflow: hidden;
    position: relative;

    padding-top: 10px;
    border-top: 1px solid #ebebeb;
}
.myTripplanner .plannedTrip.first {
    padding-top: 0px;
    border-top: none;
}
.myTripplanner .plannedTrip img {
    float: left;
    max-width: 22%;
}
.myTripplanner .plannedTrip .tripInfo {
    float: left;
    font-size: 20px;
    margin-left: 1%;
    width: 77%;
}
.myTripplanner .plannedTrip .tripInfo h3 {
    color: #258499;
    font-size: 24px;
    margin: 0 0 10px;
}
.myTripplanner .plannedTrip .tripInfo .topSpacer {
    min-height: 120px;
    padding-bottom: 15px;
}
.myTripplanner .plannedTrip .dayTimeMore {
    display: block;
    left: 23%;
    right: 0;
    width: auto;
}
.myTripplanner .dayTimeMore div {
    float: left;
    width: 60%;
}
.myTripplanner .dayTimeMore div span.label {
    color: #258499;
    font-weight: bold;
}
.myTripplanner .dayTimeMore a {
    color: #e16754;
    display: block;
    float: right;
    font-size: 24px;
    text-decoration: none;
}
.myTripplanner .tpFooter {
    text-align: center;
}

/* TRIP VOUCHER */
.tripVoucher .container {
    max-width: 1275px;
    padding: 20px 50px;
}
.tripVoucher .restrictions {
    /* reset because there is an unfortunately global .restrictions {} rule */
    font-size: inherit;
    line-height: inherit;
}
.tripVoucher .actions {
    text-align: center;
}
.tripVoucher .actions .greenBtn {
    margin: 0 12px 12px 0;
}
.tripVoucher .top {
    border: 3px solid #258499;
    height: 100%;
}
.tripVoucher .top .header {
    background: #258499;
    clear: both;
    color: #fff;
    font-size: 15px;
    line-height: 15px;
    overflow: hidden;
    padding: 2px 7px 5px;
}
.tripVoucher .header span {
    display: block;
    float: left;
    text-align: center;
    width: 20%;
}
.tripVoucher .header span:first-child {
    text-align: left;
}
.tripVoucher .header span:last-child {
    text-align: right;
}
.tripVoucher .left {
    background: #258499;
    border-right: 3px solid #258499;
    border-bottom: 3px solid #258499;
    margin-bottom: -3px;
    color: #fff;
    display: inline-block;
    padding-bottom: 110px;
    position: relative;
    vertical-align: top;
    width: 300px;
}
.tripVoucher .voucherLogo {
    background: #fff;
    text-align: center;
}
.tripVoucher .voucherLogo img {
    max-width: 80%;
}
.tripVoucher .presentedBy {
    margin: 8px 0;
    text-align: center;
}
.tripVoucher .voucherInfo h1 {
    color: #fff;
    font-size: 50px;
    font-weight: normal;
    letter-spacing: 2px;
    margin: 10px 0;
    text-align: center;
}
.tripVoucher .voucherInfo div {
    padding: 3px 10px 3px 15px;
}
.tripVoucher .voucherInfo div span {
    display: inline-block;
    vertical-align: top;
    width: 55%;
}
.tripVoucher .voucherInfo div span:first-child {
    font-weight: bold;
    width: 43%;
}
.tripVoucher .printMsg {
    background: #e16754;
    bottom: 0;
    left: 0;
    padding: 10px;
    position: absolute;
    right: 0;
    text-align: center;
}
.tripVoucher .printMsg div {
    font-size: 16px;
}
.tripVoucher .printMsg span {
    font-size: 15px;
    line-height: 17px;
}
.tripVoucher .right {
    display: inline-block;
    max-width: 865px;
    padding: 0 5% 10px 3%;
    vertical-align: top;
    width: 74%;
}
.tripVoucher .right h2 {
    color: #258499;
    font-size: 29px;
    line-height: 33px;
    margin: 15px 0;
}
.tripVoucher .right .details {
    padding-left: 40px;
}
.tripVoucher .right .details > div {
    padding: 3px 0 4px;
}
.tripVoucher .right .details span {
    display: inline-block;
    vertical-align: top;
    width: 69%;
}
.tripVoucher .right .details span.label {
    display: inline-block;
    width: 30%;
}
.tripVoucher .right .operatedBy {
    clear: both;
    margin-top: 8px;
    padding-left: 40px;
}
.tripVoucher .planeMessage {
    margin-top: 10px;
}
.tripVoucher .right .operatedBy span {
    display: block;
    font-size: 15px;
    line-height: 18px;
    width: 100%;
}
.tripVoucher .right span.label {
    font-weight: bold;
}
.tripVoucher .additionalFields {
    margin-top: 20px;
}
.tripVoucher .additionalFields h4 {
    border-bottom: 1px solid black;
    font-size: 18px;
    margin: 0 0 8px 0;
    padding: 12px 0 8px 0;
}
.tripVoucher .additionalFields .paxFields {
    padding: 15px 0;
    border-bottom: 1px solid #ccc;
}
.tripVoucher .additionalFields .paxFields:last-child {
    border-bottom: none;
}
.tripVoucher .additionalFields .fieldValue {
    -webkit-appearance: textfield;
    border: 1px solid #aaa;
    border-style: inset;
    min-width: 149px;
    padding: 0px 2px;
}
.tripVoucher .tripDetails {
    margin-top: 20px;
}
.tripVoucher .tripDetails .summary,
.tripVoucher .tripDetails .instructions {
    float: left;
    min-height: 400px;
    margin-right: 2%;
    width: 32%;
}
.tripVoucher .tripDetails .restrictions {
    border: 3px solid #258499;
    float: right;
    width: 32%;
}
.tripVoucher .addedRestriction {
    padding: 0;
    margin: 12px 0 0 0;
}
.tripVoucher .bordered {
    border: 3px solid #258499;
}
.tripVoucher .bordered > div {
    font-size: 14px;
    padding: 10px 15px 15px;
}
.tripVoucher .bordered h3 {
    background: #258499;
    color: #fff;
    font-size: 1.25em;
    letter-spacing: 1px;
    margin: 0;
    padding: 0.4em;
}
.tripVoucher .summaryHeader {
    font-weight: bold;
}
.tripVoucher .tripDetails div ul {
    margin: 0;
    padding-left: 25px;
}
.tripVoucher .mapHolder {
    clear: both;
    padding-top: 15px;
    text-align: center;
}
.tripVoucher .mapHolder img {
    max-width: 715px;
    width: 100%;
}
.tripVoucher .voucherDisc {
    border-bottom: 2px solid #258499;
    clear: left;
    float: left;
    font-size: 13px;
    line-height: 16px;
    margin-top: 20px;
    padding: 0 0 20px 15px;
    width: 66%;
}
.tripVoucher .cancellation {
    clear: left;
    float: left;
    font-size: 13px;
    line-height: 16px;
    padding: 15px 5px 15px 15px;
    width: 66%;
}
.tripVoucher .voucherFooter {
    clear: both;
}
.popup.js-printVoucherPopup div div {
    padding: 0;
}
.js-printVoucherPopup .actions {
    text-align: right;
}

/* SEARCH RESULTS */
.beMoreSpecific {
    font-size: 13px;
    margin-bottom: 10px;
}

input.searchAgain,
.otherLocations .goBtn {
    background: #258499;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 12px;
    margin-left: 5px;
    padding: 4px 8px;
    text-transform: uppercase;
}
.searchResultLocations h3 {
    margin: 0;
    padding: 15px 0 5px;
}
.searchResultLocations ul {
    list-style: none;
    margin: 10px 0;
    padding: 0;
}
.searchResultLocations ul li {
    padding: 2px 0;
}
.searchResultLocations ul li a {
    color: #258499;
    font-size: 13px;
}
.otherLocations {
    margin: 0 0 15px;
}
.otherLocations select {
    border: 1px solid #ababab;
    font-size: 12px;
    height: 23px;
    max-width: 85%;
}
.searchResultsFor {
    color: #666;
    font-size: 12px;
    margin: 0 0 15px;
    text-transform: uppercase;
}
.searchResultsFor a {
    color: #258499;
}

/* STARS pages */
.starsContainer {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    padding: 15px;
}

.starsDescription span {
    display: block;
    margin-bottom: 12px;
}

.starsField {
    margin-bottom: 8px;
}

.starsField label {
    display: inline-block;
    text-align: right;
    width: 49%;
}

.starsField input {
    display: inline-block;
    width: 49%;
}

.starsField .validationMessage {
    text-align: right;
    padding-right: 2%;
}

.starsButtons {
    text-align: center;
    margin-top: 20px;
}
.starsButtons a {
    text-decoration: none;
}

.starsAgentInfo {
    padding-bottom: 8px;
    border-bottom: 1px solid #333;
    margin-bottom: 12px;
}
.starsAgentInfo div {
    display: inline-block;
    margin-top: 4px;
    page-break-inside: avoid;
}
.starsAgentInfo div span:last-child {
    margin-right: 10px;
    font-weight: bold;
}

.iataInput {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 250px;
}


/* MOBILE STYLES */
.mobileBtns {
	display: none;
}

.mobileBtns .menuBtn {
    background: url(/content/images/icon-mobile-menu.png) 0 0 no-repeat;
    background-size: contain;
	cursor: pointer;
    float: right;
    height: 30px;
    position: relative;
    right: 10px;
    top: 10px;
    width: 30px;
}

.mobileBtns .searchBtn {
    background: url(/content/images/icon-search.png) 0 0 no-repeat;
    background-size: contain;
	cursor: pointer;
    float: right;
    height: 30px;
    position: relative;
    right: 35px;
    top: 10px;
    width: 32px;
}

.mobileBtns a.cart {
	background: url(/content/images/icon-cart-mobile.png) 0 0 no-repeat;
	background-size: contain;
	display: none;	
	float: right;
	height: 35px;
    position: relative;
    right: 55px;
    top: 8px;
    width: 35px;
}

.mobileBtns a.cart span.cartCount {
	right: -7px;
	top: -4px;	
}

/* DATE PICKER */
.popup .datepicker {
    padding: 0;
}

.datepicker input.date {
    background: #fff url(/content/images/icon-date.png) 96% center no-repeat;
	background-size: 16px;
    border: 1px solid #ababab;
    cursor: pointer;
    font-size: 11px;
    height: 24px;
    line-height: 22px;
    min-width: 100px;
    padding: 2px;
}

.calendar {
	position: relative;
	font-family: 'Century Gothic','Segoe UI', Calibri, Arial;
	font-size: 12px;
	border-collapse: collapse;
	margin: 0; padding: 0;
	z-index: 4;
	border:1px solid rgba(0,0,0,0.08);
	width: 250px;
	color: #000;
	text-align: center;
	background-color: #FFF;
}
.calendar th,
.calendar td {
	text-align: center;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.calendar th:first-child,
.calendar td:first-child {
	margin-left: 5px;
}
.calendar span {
	padding: 6px 4px; 
	display: block;
}
.calendar .month {
	padding: 15px;
}

.calendar .pMDate, .calendar .nMDate { color: #AAA; }
.calendar .date, .calendar .pMDate, .calendar .nMDate, .calendar .month { cursor: pointer; }
.calendar .date.disabled, .calendar .pMDate.disabled, .calendar .nMDate.disabled { cursor: not-allowed; }
.calendar .date:not(.disabled):hover, .calendar .pMDate:not(.disabled):hover, .calendar .nMDate:not(.disabled):hover, .calendar .month:hover { background-color: #E2E2E2; }
.calendar .date:not(.disabled):active, .calendar .pMDate:not(.disabled):active, .calendar .nMDate:not(.disabled):active, .calendar .month:active { background-color: #22A7F0; color: #FFF; }
.calendar .selected {
	background-color: #22A7F0 !important;
	color: #FFF !important;
}

.calendar tr:first-child th {
	background-color: #FFF;
	padding: 4px;
	padding-top: 8px;
	font-size: 14px;
}
.calendar tr:first-child th { cursor: pointer; color:#000; }
.calendar tr:first-child th:hover { color:#22A7F0; }
.calendar tr:first-child th:active { color: #22A7F0; }
.calendar thead tr:nth-child(2) th { color: #555; padding: 8px 3px; }
.calendar #prev, .calendar #next {
	font-family: 'Times New Roman';
	font-size: 20px;
	padding: 0;
}
.calendar #today {
	text-align: center; cursor: pointer;
	color: #22A7F0; padding: 10px 6px;
}
.calendar #today:hover { color: #80A7DD; }
.calendar #today:active { color: #000; }
.calendar #currDay { color:#22A7F0; }

@media screen and (min-width: 1500px) {
	.noBG header .container,
	.noBG header .logoContainer {
		left: 13%;
		margin: 0;	
	}	
	
	.noBG header .searchContainer {
		left: 13%;
		margin: 0;	
	}	
	
	.noBG .pageContainer .container {
		left: 8%;
		margin: 0;	
	}
	
	.tripActions {
		left: 8%;	
	}	
}

@media screen and (max-width: 1400px) {
	.productView .container {
		left: 3%;
		width: 94%;
	}	
	
	.tripActions {
		left: 3%;	
        width: 94%;
	}

    footer .container {
        width: 100%;
    }
    .groupFlyer .headerMsg div span {
        font-size: 36px;
        line-height: 44px;
    }
}

@media screen and (max-width: 1320px) {
	.excursionsBG,
	.groupsBG,
    .destinationsBG,
    .agentsBG {
		background-size: 1320px	495px;
	}
	
	.portView .container,
	.regionView .container {
		width: 94%;	
	}
	
	.excInfo ul li {
		width: 20%;	
	}

    footer ul.company {
        margin: 0 15px 0 2%;
    }
}

@media screen and (max-width: 1300px) {
    .groupManifest .manifestHeader a.printBtn {
        left: 10px;
    }
    .tripVoucher .container {
        padding: 2%;
    }
    .tripVoucher .top {
        overflow: hidden;
    }
    .tripVoucher .left {
        display: block;
        float: left;
        min-width: 300px;
        width: 24%;
    }
    .tripVoucher .right {
        display: block;
        float: left;
        padding: 0 3% 10px;
        width: 65%;
    }
    .tripVoucher .right .details,
    .tripVoucher .right .operatedBy {
        padding-left: 0;
    }
}

@media screen and (max-width: 1240px) {
    footer ul.regions {
        clear: left;
        margin-top: 10px;
    }

    footer .container {
        width: 98%;
    }
}

@media screen and (max-width: 1200px) {
	.portDesc {
		font-size: 12px;	
		line-height: 16px;
	}	
	.excIcons {
		margin-top: 15px;
		position: relative;	
	}	
	.excIcons ul {
		max-width: 200px;
		width: 60%;	
	}	
	.excIcons ul li {
		margin-bottom: 10px;
		width: 49%;	
	}	
	.featuredItem {
		width: 46%;
	}
	.featuredItem,
	.featuredItem.left,
	.featuredItem.right {
		margin-left: 2%;
		margin-right: 2%;	
	}
    .groupFlyer .headerMsg {
        padding: 20px 40px;
    }
    .groupFlyer .headerMsg div {
        padding: 10px 0;
    }
    
    .groupFlyer .headerMsg .copy {
        font-size: 20px;
        line-height: 23px;
    }
    .groupFlyer .mainContainer {
        padding: 20px;
    }
    .groupFlyer .groupHeader .groupTitle {
        font-size: 24px;
        line-height: 1.2em;
    }
    .groupFlyer .groupHeader .cruiseInfo {
        font-size: 20px;
        line-height: 1em;
        padding: 5px 0;
    }
    .groupFlyer .mainInfo .groupInfo {
        font-size: 20px;
        padding: 20px 20px 30px 30px;
    }
    .groupManifest .manifestDetails > div > span {
        display: block;
        width: 100%;
    }
    .groupManifest .manifestDetails > div > span.label {
        max-width: none;
        width: auto;
    }
    .groupManifest .tripContainer .details {
        padding: 15px;
    }
    .myTripplanner .container {
        padding: 30px 2%;
    }
    .myTripplanner .tpInfo .main,
    .myTripplanner .about {
        padding: 20px 0;
    }
    .myTripplanner .main div span {
        display: inline-block;
    }
    .myTripplanner .main div span.label {
        margin-right: 10px;
        max-width: none;
        width: auto;
    }
    .myTripplanner .localeHead,
    .myTripplanner .plannedTrip .tripInfo h3 {
        font-size: 20px;
    }
    .myTripplanner .plannedTrip .tripInfo {
        font-size: 16px;
    }
    .myTripplanner .plannedTrip .tripInfo .topSpacer {
        min-height: 85px;
        padding-bottom: 10px;
    }
    .myTripplanner .dayTimeMore a {
        font-size: 20px;
    }
    .tripVoucher .right {
        display: block;
        float: left;
        padding: 0 1% 10px 3%;
        width: 68%;
    }
    .forKeywords .overview .left {
        padding: 0;
        width: 100%;
    }
    .forKeywords .overview .portMap {
        display: none;
    }
}

@media screen and (max-width: 1000px) {
	.homeBG {
		background: url(/content/images/home-bg2.jpg) center top no-repeat;
		background-size: 1000px 521px;	
	}
	
    header,
	.noBG header,
    .acctBG header {
        background: #258499;
        height: 50px;
		left: 0;
        padding-bottom: 0;
        position: fixed;
		top: 0;
        z-index: 10;
    }
    .white-page {
        margin-top: 50px;
    }
	
	.pageContainer {
		padding-left: 0;	
		padding-top: 60px;
	}

    .popup.just-kidding .content,
    .content-root {
        padding-top: 80px;
    }
	
	aside {
		border-right: none;
		display: block;
		overflow: hidden;
		position: static;
		width: 100%;	
	}
    .sidebar-cruise-disclaimer {
        text-align: center;
    }
	
	.portList, .regionPortList {
		display: none;
	}
    .openOnLoad .portList, .openOnLoad .regionPortList {
        display: block;
    }

	.regionPortList {
		margin: 15px auto;
		width: 94%;	
	}
	
	.regionPorts .regionPort {
		padding-top: 160px;	
	}
	
	aside .itineraryBtns.fixed {
		width: 100%;	
	}
	
	.itineraryBtns input[type="button"] {
		max-width: 160px;	
	}
	
	.itinerary span.label,
	.itinerary h3,
	.itinerary p.header,
	.regionPorts h3 {
		text-align: center;	
	}
	
	.portList .port,
    .portList .port.noTrips {
		overflow: hidden;
		padding-top: 150px;	
	}

    .portList .port.noTrips .portTitle {
        top: 30%;
    }

    .acctBG article {
        padding: 100px 0 80px;
    }
    article.ssc {
        padding-top: 70px;
    }

    article {
		padding-top: 50px;
        position: relative;
        z-index: 1;
    }
	
	.noBG article.regionView {
		padding-top: 10px;	
	}

    .mobileBtns,
	.mobileBtns a.cart {
        display: block;
    }

    header .topMenu {
        background: none;
        height:auto;
    }

    .logo {
        height: 70px;
        width: 128px;
    }

    header .mobileMenuContainer {
        display: none;
    }

    .mobileMenuContainer {
        background: #258499;
        clear: both;
        display: none;
        padding:30px 0 20px;
        width: 100%;
        z-index: 10;
    }
	
	.noBG .mainMenu a, 
	.mapBG .mainMenu a  {
		color: #fff;	
	}

    .mobileMenuContainer .topMenu {
        display: block;
    }

    .topMenu ul.mobileMenu {
        display: block;
    }

    .mobileMenuContainer .mainMenu {
        display: block;
		height: auto;
        margin-top: 0;
    }

    ul.mobileMenu {
        float: none;
        text-align: right;
        width: 100%;
    }

    ul.mobileMenu li {
        display:block;   
        height: auto;
        padding: 5px 10px;
        text-align: right;
    }
    ul.mobileMenu li.home {
        display: none;
    }

    .topMenu a.phone {
        background-position: 7px center;
		display: inline-block;
		width: 98px;
    }

    ul.mobileMenu li.social {
        display: inline-block;
        padding: 5px 15px 5px 0;
    }

    .topMenu ul.mobileMenu li.social:last-child {
        padding-right: 25px;
    }

    ul.mobileMenu li.social a {
        padding: 0;   
    }

    ul.mobileMenu a {
        color: #fff !important;
        font-size: 16px;
        font-weight: 700;
        line-height: 2em;
    }

    .topMenu ul.mobileMenu a {
        font-size:14px;
    }

    .mainMenu li.mainCart {
        display:none;
    }
	
	header .breadcrumbs {
		text-indent: -9999px;	
	}

    header .mobileSearchBtn {
        display: block;
    }

    header .mainMenu ul.cart {
        display: block;
        position: absolute;
        top: 10px;
        right: 50px;
    }
	
	.searchContainer {
		margin: 0;
		padding: 10px 0;
	}

    .headerItinerary {
        clear: both;
        display: block;
        float: right;
        max-width: 160px;
        position: relative;
        right: 30px;
        top: 0;
    }
    .noBG .headerItinerary a,
    .acctBG .headerItinerary a {
        background: url(/content/images/icon-ship-white.png) 0 0 no-repeat;
        background-size: 16px 18px;
        color: #fff;
    }
	
	input.search {
		background-image: url(/content/images/icon-search.png) !important;
		border: 1px solid #fff !important;
        clear: both;
		color: #fff !important;
		margin-right: 25px;
        margin-top: 20px;
	}
	
	.search::-webkit-input-placeholder {
		color: #fff;
	}
	
	.search:-moz-placeholder { 
		color: #fff;
	}
	
	.search::-moz-placeholder {  
		color: #fff;
	}
	
	.search:-ms-input-placeholder {  
		color: #fff;
	}
	
	.awardsBlock img.aff1 {
		margin-right: 5%;
		max-width: 220px;
		width: 51%;
	}
	
	.awardsBlock img.aff2 {
		max-width: 170px;
		width: 39%;
	}
	
	.excursions .mainCta {
		width: 90%;	
	}
	
	.excursions .pageDesc {
		padding: 2% 0 0 5%;	
	}
	
	.excImg {
		max-height: none;	
	}
	
	.excIcons ul {
		max-width: 380px;
		width: 80%;	
	}
	
	.excIcons ul li {
		margin-bottom: 10px;
		width: 20%;	
	}
	
	.bigMap {
		height: 512px;
		min-width: 512px;
	}
	
	.productView {
		margin-top: 10px;	
	}

    .acctBG footer {
        position: relative;
    }
	
	footer .container {
		padding: 40px 0;	
        width: 94%;
	}
	
	footer ul.company {
		margin: 0 15px;
	}
	
	footer ul.regions {
		margin: 0 0 0 13px;	
	}
	
	footer ul.regions li.menu ul {
		-webkit-column-count: 1; /* Chrome, Safari, Opera */
		-moz-column-count: 1; /* Firefox */
		column-count: 1;
		margin: 0;
	}

    nav.acctNav {
		float: none;
		max-width: none;
		width: 100%;	
	}
	
	nav.acctNav ul {
		display: none;	
	}
	
	.acctNav .mobileAcctMenu {
		display: block;	
	}

    .nav-enabled .acctSec,
    .acctSec,
    .aboutSec {
        float: none;
        margin: 0 auto;
        padding-left: 0;
        width: 94%;
    }

    .acctTbl.desktop {
        display: none;
    }

    .acctTbl.mobile {
        display: block;
    }

    .acctTbl,
    .filters,
    .salesByRegion,
    .agencyInfo {
        margin: 0 auto;
        max-width: 790px;
        width: 100%;
    }

    .bookingDetailItem .acctTbl {
        max-width: none;
    }

    .filters {
        margin-bottom: 15px;
    }

    .cruiseList .tblHead {
        background: none;
        border: none;
        color:#333;
        text-align:left;
    }

    .cruiseList .tblCell {
        border: none;
        color: #797979;
        text-align:left;
    }

    .profile div label {
        max-width: 350px;
        width: 45%;
    }

    .profile div span {
        max-width: 280px;
        width: 40%;
    }

    .profile .saveBtn {
        left: 45%;
    }

    .meetTeam,
    .staff {
        margin: 0 auto;
    }

    .contactInfo {
        padding-left: 10%;
        width: 40%;
    }

    .contactHrs {
        width: 50%;
    }

    .cartView {
        margin: 0;
        left: 1%;
        position: relative;
        width: 98%;
    }

    .itemHeader .itemTotal {
        margin-right: 20px;
        right: 0;
    }

     .promoEntry input[type="text"] {
        width: 40%;
    }

     .cartBtns {
         padding: 0 2%;
     }

     .billingForm .leftForm {
         padding-right: 2%;
     }

     .billingForm .rightForm {
         width: 50%;
     }

     .cityStZip input.city {
        width: 38% !important;
    }

    .cityStZip input.zip {
        width: 29% !important;
    }

    .checkoutBtn {
        right: 2%;
    }

    .destNav .content {
        max-width: 100%;
    }

    .destNav .content > div {
        max-width: 300px;
        width: 28%;
    }

    .plannerView {
        margin: 0 auto;
        width: 96%;
    }

    .portActions {
        display: block;
        padding: 0;
        text-align: left;
    }

    .portActions div {
        display: inline-block;
        margin-right: 10px;
        white-space: nowrap;
    }

    .addTripsBtn {
        margin-left: 0;
    }

    .agencyInfo {
        margin-top: 20px;
    }

    .sales .mblBooking > div,
    .sales .mblBooking .name,
    .sales .mblBooking .tripName,  
    .sales .mblBooking .edit,
    .sales .mblBooking .bookNum {
        margin: 5px 10px 5px 0;
        width: auto;
    }

    .agtProfile .agencyLogo {
        display: block;
        float: left;
    }

    .agtProfile .logoCopy {
        display: block;
        float: left;
        width: 72%;
    }

    .agtProfile .logoActions {
        clear: both;
        margin: 0 !important;
        padding: 15px 0;
    }

    .acctTbl.giftCerts {
        font-size: 11px;
        line-height: 13px;
    }

    .agtAcctSec input.emailBtn {
        height: 17px;
        margin-right: 5px;
        width: 25px;
    }

    .agtAcctSec input.reassignBtn {
        height: 25px;
        margin-right: 10px;
        width: 25px;
    }

    .agtAcctSec input.printBtn {
        height: 25px;
        width: 25px;
    }

    .giftCerts .mblBooking .certNum,
    .giftCerts .mblBooking .travName,
    .giftCerts .mblBooking .amount,
    .giftCerts .mblBooking .balance,
    .giftCerts .mblBooking .expDate,
    .giftCerts .mblBooking .status,
    .giftCerts .mblBooking .shipName,
    .giftCerts .mblBooking .tripDate,
    .giftCerts .mblBooking .name {
        margin: 0 1% 10px 0;
        width: 19%;
    }

    .giftCerts .mblBooking .edit {
        float: right;
        margin-top: 10px;
        width: auto;
    }

    .giftCerts .mblBooking .mblCell {
        min-height: 12px;
    }

    a.exportExcel {
        top: 0;
    }

    .customerList .mblBooking > div {
        margin-bottom: 10px;
        width: 25%;
    }

    .customerList .mblBooking .edit {
        float: right;
        margin-top: 0;
    }

    .customerList .mblBooking .edit input {
        margin-right: 3px;
        vertical-align: middle;
    }

    .marketingEmailList .mblBooking > div {
        margin-bottom: 10px;
        width: 25%;
    }

    .bookingsList .mblBooking > div {
        display: block;
        float: left;
        margin-bottom: 10px;
        width: 20%;
    }

    .bookingsList .mblBooking .edit {
        float: right;
    }

    h1.prodTitle.desktop {
        display: none;
    }

    h1.prodTitle.mobile {
        display: block;
    }

    .travList .mblBooking .chkbx {
        text-align: center;
        width: 50px;
    }

    .travList .mblBooking .chkbx .mblHead {
        margin-bottom: 5px;
    }

    .travList .chkbx input {
        transform: scale(1.5);
    }

    .travList .mblBooking .mblWrap {
        float: left;
        width: 40%;
    }

    .travList .mblBooking .name,
    .travList .mblBooking .email {
        margin-bottom: 10px;
        width: 100%;
    }

    .mblBooking .mblPorts {
        float: right;
        width: 50%;
    }

    .mblBooking .mblPorts > div {
        float: left;
        margin-bottom: 10px;
        text-align: center;
        min-width: 25%;
    }

    .mblBooking .mblPorts > div span {
        display: inline-block;
        margin-right: 5px;
    }

    .mblBooking .mblPorts .hasTrips {
        background: rgba(104, 221, 247, 0.5);
        color: #333;
        padding: 0 3px;
    }

    .acctTbl.statusChart {
        max-width: none !important;
    }

    .statusChart .tripDate {
        max-width: 90px;
    }

    .statusChart .port,
    .statusChart .tripName {
        margin-right: 10px;
        max-width: 30%;
    }

    .statusChart .statusWrap {
        float: right;
        width: 35%;
    }

    .statusChart .minPax,
    .statusChart .pending,
    .statusChart .charged,
    .statusChart .total {
        display: inline-block;
        width: 24%;
        text-align: center;
    }

    .minPax span.hasTrips {
        background: #ffc75a;
        color: #333;
        padding: 0 3px;
    }

    .agencyBG header {
        height: 70px;
    }

    .agencyBG .mobileBtns {
        height: 70px;
    }

    .agencyBG .logo {
        height: 60px;
        width: 110px;
        top: 5px;
        left: 5px;
    }

    .sublogo {
        display: none;
    }

    .oopsBG,
    .unauthBG {
        height: auto;
        min-height: 500px;
        padding: 50px;
    }
    .oopsBG > div,
    .unauthBG > div {
        max-width: 800px;
        width: 94%;
    }
    .cruiseError {
        margin: 0 auto;
        width: 96%;
    }

    .cruiseOpt .cruiseList div span:last-child {
        max-width: 65%;
    }
    .toTopBtn {
        bottom: 20px;
        right: 20px;
    }
    .groupFlyer .headerMsg {
        padding: 20px 20px 20px 30px;
    }
    .groupFlyer .headerMsg div span {
        font-size: 30px;
        line-height: 36px;
    }
    .groupFlyer .headerMsg .copy {
        font-size: 18px;
        line-height: 21px;
    }
    .groupFlyer .groupInfo .left span.label,
    .groupFlyer .groupInfo .right span.label {
        max-width: none;
        width: auto;
    }
    .groupManifest .tripContainer .details {
        display: block;
        overflow: hidden;
        padding: 10px 15px;
    }
    .groupManifest .details div {
        float: left;
        padding: 5px 0;
        width: 33%;
    }
    .groupManifest .details div.location,
    .groupManifest .details div.operator {
        width: 40%;
    }
    .tripVoucher .left {
        border-right: 0;
        float: none;
        padding: 0;
        width: 100%;
    }
    .tripVoucher .voucherInfo div span:first-child {
        padding-right: 10px;
        text-align: right;
    }
    .tripVoucher .right {
        border-right: 0;
        float: none;
        padding: 0 2% 2%;
        width: 100%;
    }
    .tripVoucher .printMsg {
        margin-top: 20px;
        position: relative;
    }
    .tripVoucher .tripDetails .summary, 
    .tripVoucher .tripDetails .instructions,
    .tripVoucher .tripDetails .restrictions {
        float: none;
        margin-bottom: 20px;
        margin-right: 0;
        min-height: 0;
        width: 100%;
    }
    .tripVoucher .voucherDisc,
    .tripVoucher .cancellation {
        float: none;
        padding: 15px;
        width: 100%;
    }
    .tripVoucher .voucherFooter {
        text-align: center;
    }
}

@media screen and (max-width: 900px) {
    .groupManifest .contact {
        padding: 50px 20px 25px;
    }
    .groupManifest .contact div {
        padding: 5px 20px;
    }
    .myTripplanner .plannedTrip .dayTimeMore {
        bottom: 0;
        left: 0;
        position: relative;
    }
    .tripVoucher .header span {
        padding: 5px 0;
        text-align: left;
        width: 33%;
    }
    .tripVoucher .header span:last-child {
        text-align: left;
    }
}

@media screen and (max-width: 800px) {
	.homeBG {
		background: url(/content/images/mobile-home-bg2.jpg) center top no-repeat;
		background-size: contain;	
	}
	
	.mainBanner .headline,
	.mainBanner h1 {
		font-size: 18px;
		margin: 50px auto 10px;	
	}
	
	.mainBanner .subheadline {
		font-size: 16px;	
	}
	
	.quickFinder {
		margin: 4% 0 6%;	
	}
	
	.mainbox {
		display: block;
        float: none;
		height: auto;
		margin: 0 auto 2% !important;
		max-width: 500px;
		padding: 5%;
		width: 92%;	
	}
	
	.mainbox p {
		margin: 20px 0 10px !important;
        height: auto !important;
	}
	
	.mainbox.middle select {
		float: left;
	}
	
	.middle input[type="button"] {
		padding: 7px 8px;	
	}
	
	.otherLink {
		bottom: 0;
		margin: 25px 0 0;
		position: relative;	
	}
	
	.awardsBlock {
		padding: 0 0 25px;
		width: 90%;	
	}
	
	.awardsBlock .left,
	.awardsBlock .right {
		padding: 15px 0 0;
		width: 100%;	
	}
	
	.awardsBlock .left img {
		width: 40%;
	}
	
	img.award1 {
		margin-right: 5%;
	}
	
	.region {
		font-size: 22px;
		line-height: 26px;	
	}
	
	.excursions .mainCta,
    .travelAgents .mainCta {
		width: 94%;	
	}
	
	.excIcons ul {
		max-width: 200px;
		width: 60%;	
	}
	
	.excIcons ul li {
		width: 49%;	
	}
	
	.prodDesc,
	.prodDetails,
	.daysOperation,
	.reviewsSec {
		float: none;
		padding-right: 0;
		width: 100%;
	}

    .tourRequest span {
        width: 45%;
    }

    .cartView h1 {
        text-align: center;
    }

    .itemHeader {
        overflow: hidden;
    }

    .itemHeader h3 {
        clear: left;
        display: block;
        float: none;
        margin-bottom: 5px;
        max-width: none;
        padding-right: 30px;
        white-space: normal;
    }

    .itemHeader span.location {
        display: block;
        float: left;
        margin-left: 0;
    }

    .itemHeader a.trashBtn {
        display: block;
        float: left;
    }

    .lineItem select {
        max-width: 8%;
    }

     .promoEntry input[type="text"] {
        width: 30%;
    }

     .billingForm {
         padding-bottom: 0;
     }

    .billingForm .leftForm,
    .billingForm .rightForm {
        margin: 0 0 20px;
        max-width: 500px;
        padding: 0;
        width: 96%;
    }

    .leftForm > div > span {
        width: 44%;
    }

    .hotelCopy {
        max-width: 80%;
        text-align: right;
    }

    .leftForm > div > span,
    .rightForm > div > span {
        margin-right: 1%;
    }

    .checkoutBtn {
        margin-top: 20px;
        position: relative;
        right: 0;
    }

    .content .orSep {
        margin: 0;
    }

    .js-addedtocart-popup .content {
        max-width: 96%;
    }

    .planTrip {
        display: block;
        overflow: hidden;
    }

    .planTrip h3 {
        display: block;
        float: left;
        max-width: 85%;
    }

    .planTrip a {
        display: block;
        float: right;
        width: auto;
    }

    .planTrip a.trashBtn {
        margin: 0;
    }

    .planTrip a.changeDate {
        clear: both;
        margin-top: 15px;
    }
    .portActions {
        min-height: 60px;
    }
    .displayOnly .portActions {
        min-height: 0;
    }
    .addTripsBtn {
        clear: both;
        display: block;
        float: right;
        margin-top: 5px;
    }

    .portActions select {
        margin: 5px 0;
    }

    .portActions div {
        padding: 5px 0;
    }

    .topFilters div {
        margin: 5px;
    }
    .agtProfile .optOuts div label span {
        max-width: 90%;
        width: auto;
    }
    .logoActions input[type='file'] {
        margin-left: 30px;
    }

    .customerList .mblBooking > div {
        width: 33%;
    }

    .marketingEmailList .mblBooking > div {
        width: 33%;
    }

    .insInfo {
        margin: 0 auto;
        padding: 25px 0 0;
        text-align: center;
        width: 100%;
    }

    .topBookingInfo > div,
    .topGroupInfo > div {
        margin-right: 0;
        max-height: none;
        min-height: 100%;
        width: 100%;
    }

    .topBookingInfo > div:first-child,
    .topGroupInfo > div:first-child {
        margin-bottom: 10px;
    }

    .bookingDetailItem .addInfoItem:first-child {
        margin-bottom: 10px;
        margin-right: 0;
    }

    .bookingDetailItem .addInfoItem {
        float: none;
        width: 100%;
    }

    .groupActions {
        clear: both;
        padding: 20px 0;
        text-align: center;
        width: 100%;
    }

    .statusChart .tripDate,
    .statusChart .port,
    .statusChart .tripName {
        margin-bottom: 0;
        margin-right: 0;
        max-width: none;
    }

    .statusChart .tripDate {
        display: inline-block;
        width: 20%;
    }

    .statusChart .port,
    .statusChart .tripName {
        display: inline-block;
        width: 39%;
    }

    .statusChart .statusWrap {
        clear: both;
        float: none;
        padding-top: 10px;
        width: 100%;
    }
    .oopsBG,
    .unauthBG {
        min-height: 300px;
        padding: 50px 0;
    }

    .otherCruises .cruiseOpt {
        margin: 0 0 20px;
        width: 100%;
    }

    .searchCruises {
        clear: both;
        float: none;
        padding: 15px 0;
        text-align: right;
        width: 100%;
    }
    .groupFlyer .mainHeader,
    .groupFlyer .mainHeader > div,
    .groupFlyer .mainHeader > div > div {
        display: block;
        width: 100%;
    }
    .groupFlyer .mainHeader img {
        left: 0;
        position: relative;
        -moz-transform: none;
        -ms-transform: none;
        -webkit-transform: none;
        transform: none;
        width: 100%;
    }
    .groupFlyer .groupInfo .left,
    .groupFlyer .groupInfo .right {
        float: none;
        width: 100%;
    }
    .groupFlyer .groupInfo .left span.label,
    .groupFlyer .groupInfo .right span.label {
        max-width: 160px;
        width: 40%;
    }
    .groupFlyer .groupItin .listHeader div,
    .myTripplanner .itinList .listHeader div {
        font-size: 18px;
    }
    .groupFlyer .groupItin .listRow,
    .myTripplanner .itinList .listRow {
        font-size: 16px;
    }
    .groupFlyer .groupItin .listRow .date,
    .myTripplanner .itinList .listRow .date {
        min-width: 120px;
    }
    .groupFlyer .groupItin .date span,
    .myTripplanner .itinList .date span {
        font-size: 14px;
    }
    .groupManifest .header h2 {
        font-size: 22px;
        line-height: 26px;
        min-height: 40px;
    }
    .groupManifest .tripContainer .details,
    .groupManifest .tripContainer .tripDesc {
        font-size: 16px;
        line-height: 20px;
    }
    .groupManifest .paxDetails,
    .groupManifest .totalPax div {
        font-size: 16px;
    }
    .groupManifest .paxDetails .listHeader div,
    .groupManifest .paxDetails .listRow div {
        padding: 5px 10px;
    }
    .myTripplanner .tpItinerary h1,
    .myTripplanner .suggTrips h1 {
        font-size: 30px;
    }
    .tripVoucher .voucherInfo div span,
    .tripVoucher .voucherInfo div span:first-child {
        width: 48%;
    }
}

@media screen and (max-width: 700px) {
	.homeBG {
		background-size: 691px 760px;	
	}

    .acctBG article {
        padding: 100px 0 60px;
    }
	    
	.subBanner {
		padding: 0;	
	}
	
	.subBanner .container .secTitle, 
	.subBanner .container .b5,
	.secBlock {
		border: none;
		float: none;
		margin: 20px auto;
		max-width: 300px;
        min-height: 0;
		padding: 0;
		text-align: center;
		width: 90%;
	}
	
	.secBlock span {
		display: inline-block;	
	}
	
	.exploreRegions h2 {
		font-size: 22px;
		margin: 30px 0;	
	}
	
	.region,
    .region.lg {
		overflow:hidden;
		padding-bottom: 49%;
		width: 49%;	
	}
	
	.region.left {
		margin-right: 0;	
	}
	
	.region.right {
		margin-left: 0;	
	}
	
	.region:nth-child(even) {
		margin-right: 2%;	
	}
	
	.excursionsBG,
	.groupsBG,
    .destinationsBG {
		background-size: 1500px auto;
	}
	
	article .mainCta {
		margin: 40px auto 20px;
		max-width: 400px;
		padding: 5% 3% 3%;
	}
	
	article .mainCta .form {
		border-right: none;
		display: block;
		padding-right: 0;
		margin: 0 auto;
		max-width: 300px;
		width: 90%;	
	}
	
	article .mainCta .pageDesc {
		display: block;
		padding: 25px 10px 0;
		width: 100%;	
	}
	
	article.groups .mainCta .pageDesc {
		border: none;
		padding: 25px 10px 0;	
	}
	
	section.overview {
		display: none;	
	}

    .noTripsInPort.mobile {
        display: block;
    }

    .forKeywords section.overview {
        display: block;
    }

    .overview .left {
        padding-bottom: 40px;
        width: 100%;
    }

    .overview .featuredIcons {
        width: 100%;
    }
	
	.groupView section.overview {
		display: block;	
	}
	
	.groupView .overview .left {
		float: none;
		width: 90%;	
	}
	
	.groupView .overview .portMap {
		float: none;
		margin-top: 20px;
		width: 100%;	
	}
	
	.portImg {
		display: block;
		max-width: 100%;
		padding-top: 50%;
		width: 100%;	
	}
	
	.portImg img {
		max-width: none;
		width: 100%;	
	}
	
	.portImg h1 {
        font-size: 24px;
        line-height: 30px;
		top: 30%;	
	}
	
	.portDesc {
		max-width: none;
		padding: 20px 3%;
		width: 94%;	
	}

    .excList .listWrap {
        display: none;
    }
	
	.excImg {
		float: none;
		margin-right: 0;
		max-width: 100%;
		text-align: center;
		width: 100%;
	}
	
	.excImg img {
		max-width: 100%;
		width: 100%;	
	}
	
	.excInfo {
		float: none;
		height: auto;
		max-width: none;
		overflow: hidden;
        padding-bottom: 15px;
		width: 100%;
	}

    .excInfo .tripLink {
        display: block;
        float: left;
        max-width: 75%;
    }
	
	.excInfo h3 {
		clear: both;
		margin: 10px 0 3px;
		width: 100%;	
	}
	
	.excInfo p {
		clear: left;
        float: left;
        margin-right: 0;
	}
	
	.excIcons {
		float: left;
		max-width: 300px;
		min-height: 120px;
		width: 70%;	
	}
	
	.excIcons ul {
		max-width: none;
		width: 100%;	
	}
	
	.pricing {
		display: block;
		float: right;
		max-width: 25%;
		position: relative;
		top: 10px;
	}
	
	.pricing span {
		max-width: 100%;	
	}
	
	.excActions .addToCartBtn {
		float: right;
		position: relative;	
	}

	.featuredTrips h2 {
		font-size: 25px;
		margin: 25px 0;	
	}
	
	.topBanner .productImg {
		float: none;
		height: auto;
		margin: 0 auto;
		max-width: none;
		width: 100%;
	}
	
	.topBanner .pricingInfo {
		float: none;
		padding: 3%;
		width: 100%;
	}
	
	h1.prodTitle {
		font-size: 18px;
		margin-top: 0;
        max-width: none;
        width: 100%;	
	}

    .shareTrip {
        top: 0;
    }
	
	.daysOpen {
		width: 100%;	
	}
		
	footer ul {
		padding-bottom: 20px;	
	}
	
	footer ul.regions {
		clear: both;
		float: none;
		margin: 0 25px;	
	}
	
	footer ul.company,
	footer ul.contact,
    footer ul.legal {
		margin: 0 25px;	
	}

    .regionImg {
		float: none;
		margin: 0 auto;
		width: 100%;
	}
	
	.regionDesc {
		float: none;
		margin: 0 auto;
		max-width: 450px;
		padding: 20px 0;
		text-align: center;
		width: 100%;
	}
	
	.regionDesc p {
		text-align: left;	
	}
	
	.featuredItem, 
	.featuredItem.left, 
	.featuredItem.right {
		margin: 0 0 4%;
		width: 100%;	
	}

    .acctSec .filters div {
		margin: 0 0 10px;
	}

    .advFilters .accList div {
        margin: 0 10px 0 0;
    }

    .acctSec .advFilters .viewToggle {
        margin-bottom: 0;
    }
	
	.acctTbl,
	.tblRow,
	.tblHead,
	.tblCell {
		display: inline-block;	
	} 

    .affList .acctTbl {
        display: table;
    }

    .affList .tblRow {
        display: table-row;
    }

    .tblHead,
    .tblCell {
        display: table-cell;
    }
	
	.bookingsList .status,
	.bookingsList .tripDate,
	.bookingsList .time,
	.bookingsList .bookNum,
	.bookingsList .voucher {
		width: 20%;	
	}

    .aboutCopy {
        width: 100%;
    }

    .aboutVid {
        border-left: none;
        margin-top: 15px;
        padding-left: 0;
        width: 100%;
    }

    .tourRequest span {
        width: 55%;
    }

    .tourRequest input {
        top: 0;
    }

    .tourRequest img {
        margin-top: 20px;
    }

    .contactInfo {
        padding-left: 5%;
        width: 45%;
    }

    .contactHrs {
        width: 45%;
    }

    .givePorts .portImg {
        padding-top: 20%;
        width: 49%;
    }

    .givePorts .portImg img {
        width: auto;
    }

    .cartItem .cartLeft {
        border-right: none;
        display: block;
        margin-bottom: 15px;
        padding-right: 0;
        width: 100%;
    }

    .cartItem .cartRight {
        float: none;
        padding-left: 0;
        width: 100%;
    }

    .cartBottom > div {
        float: none;
        height: auto;
        min-height: 0px;
        margin-bottom: 10px;
        padding: 25px;
        width: 100%;
    }

    .orderTotal {
        padding: 0;
    }

    .checkoutList {
        font-size: 11px;
        line-height: 14px;
    }

    .checkoutList .tblHead,
    .checkoutList .tblCell {
        display: table-cell;
    }

    .billingForm .leftForm,
    .billingForm .rightForm {
        padding-right: 0;
        width: 100%;
    }

    .destNav .container {
        padding-bottom: 20px;
    }

    .destNav h2 {
        font-size: 18px;
        margin: 10px 0;
    }

    .destNav .content {
        max-width: 100%;
    }

    .destNav .content > div {
        margin: 0 auto;
        max-width: 300px;
        padding: 10px 0;
        width: 100%;
    }

    .destNav .content > div span {
        display: none;
    }

    .destNav .content .orSep {
        margin: 0 auto;
        padding: 0;
        width: 100%;
    }

    .destNav .content .orSep span {
        display: block;
        height: auto;
        padding: 0;
    }

    .content .orSep {
        clear: both;
        display: block !important;
        margin: 0 auto;
    }

    .content select {
        margin: 0;
    }

    .destNav .goBtn {
        margin-top: 10px;
    }

    .regionsMap {
        display: none;
    }

    .cartSum .tripAdded,
    .cartSum .cartItems {
        float: none;
        padding: 10px;
        width: 100%;
    }

    .cartSum .cartItems {
        border-left: none;
        border-top: 1px solid #ababab;
    }

    .itemContainer {
        display: block;
    }

    .advFilters .agtAcctBtn {
        float: right;
        margin-top: 15px;
        top: 0;
    }

    .reportDates div {
        padding: 5px 0;
    }

    .reportDates .agtAcctBtn {
        float: right;
        margin: 10px 0;
    }

    .agtProfile.addAgents .acctTbl,
    .bookingDetailItem .acctTbl {
        display: table;
    }

    .agtProfile.addAgents .tblRow,
    .bookingDetailItem .tblRow {
        display: table-row;
    }

    .agtProfile.addAgents .accList {
        max-width: 100%;
        overflow-x: auto;
    }

    .bookingsList .mblBooking > div {
        clear: none;
        width: 25%;
    }

    .groupActions a {
        display: inline-block;
        margin: 10px;
    }

    .groupActions a.hideBtn {
        margin-right: 10px;
    }

    .flyerList {
        display: table;
    }

    .flyerList .tblRow {
        display: table-row;
    }

    .flyerList .tblHead,
    .flyerList .tblCell {
        display:table-cell;
    }

    .flyerList a.trashBtn {
        margin-left: 7px;
    }
    .reviewTrip {
        padding: 30px 20px;
    }
    .reviewForm div > span {
        width: 20%;
    }
    .reviewForm div input[type='text'],
    .reviewForm div textarea {
        width: 78%;
    }
    .enterReview {
        width: 100%;
    }
    .regionMap,
    .countryMap {
        display: none;
    }
    .groupFlyer .groupItin .location,
    .groupFlyer .groupItin .listRow div,
    .myTripplanner .itinList .location,
    .myTripplanner .itinList .listRow div {
        padding: 10px 10px 10px 20px;
    }
    .groupFlyer .tripsList .localeHead {
        font-size: 20px;
        padding: 10px 20px;
    }
    .groupFlyer .tripsList .listContainer {
        padding: 0 20px;
    }
    .groupFlyer .listItem .tripInfo {
        width: 40%;
    }
    .groupFlyer .listItem .tripDetails {
        width: 60%;
    }
    .groupFlyer .listItem .tripTitle {
        font-size: 18px;
    }
    .groupFlyer .listItem .tripDetails,
    .groupFlyer .tripInfo .time,
    .groupFlyer .tripInfo .transfer,
    .groupFlyer .tripInfo .prices {
        font-size: 16px;
        line-height: 18px;
    }
    .groupFlyer .tripInfo .prices span span {
        font-size: 14px;
    }
    .groupManifest .titleBlock {
        padding: 0 15px;
    }
    .manifestHeader div h1 {
        font-size: 40px;
        padding: 0 0 0 15px;
    }
    .groupManifest .titleBlock img {
        max-height: 100px;
    }
    .groupManifest .manifestDetails {
        padding: 15px;
    }
    .groupManifest .manifestDetails > div {
        padding: 10px 10px 10px 0;
    }
    .myTripplanner .plannedTrip img {
        float: none;
        margin-bottom: 10px;
        max-width: none;
        width: 100%;
    }
    .myTripplanner .plannedTrip .tripInfo {
        float: none;
        margin-left: 0;
        width: 100%;
    }
    .myTripplanner .plannedTrip .tripInfo .topSpacer {
        min-height: 0;
    }
    .tripVoucher .header span {
        width: 50%;
    }
}

@media screen and (max-width: 600px) {
	.region {
		font-size: 18px;	
		line-height: 22px;
	}

    .excInfo {
        padding-bottom: 45px;
    }
	
	.excIcons {
		min-height: 85px;	
	}
	
	.excActions {
		left: 0;
		position: absolute;
	}

	.pageContainer {	
		padding-top: 70px;
	}
	
	.featuredTrips h2 {
		font-size: 22px;	
	}
	
	.regionImg .zoneName {
		font-size: 24px;
		line-height: 28px;
		padding: 0 5%;
		top: 40%;	
		width: 90%;
	}

    .filters .addCruise {
        text-align: center;
        width: 100%;
    }

    .filters .addCruise select {
        display:block;
        margin: 0 auto 15px;
    }

    .filters .addCruise input[type="button"] {
        padding: 8px 15px;
    }

    .profile div label {
        width: 40%;
    }

    .profile div span {
        font-size: 11px;
    }

    .staff .block {
        width: 33.33%;
    }

    .staff h4 {
        clear: both;
        width: 100%;
    }

    .addInfoItem {
        float: none;
        margin: 2% 0;
        min-height: 0;
        width: 100%;
    }

    .js-request-popup .formLeft,
    .js-request-popup .formRight {
        float: none;
        margin-bottom: 10px;
        width: 100%;
    }

    .plannerView h1 {
        float: none;
        text-align: center;
    }

    .planActions {
        float: none;
        padding: 10px 0;
        text-align: center;
        width: 100%;
    }

    .topInfo div span {
        font-size: 16px;
    }

    .advFilters.gifts .accList > div {
        max-width: none;
    }

    .agtProfile .logoActions {
        overflow: hidden;
    }

    .logoActions input[type='file'] {
        clear: left;
        display: block;
        float: left;
        margin: 15px 0 0;
    }

    .logoActions .uploadLogo {
        display: block;
        float: left;
        margin: 15px 0 0;
    }

    .tpEditFields textarea {
        height: 100px;
    }

    .giftCerts .mblBooking .certNum,
    .giftCerts .mblBooking .travName,
    .giftCerts .mblBooking .amount,
    .giftCerts .mblBooking .balance,
    .giftCerts .mblBooking .expDate,
    .giftCerts .mblBooking .status,
    .giftCerts .mblBooking .shipName,
    .giftCerts .mblBooking .tripDate,
    .giftCerts .mblBooking .name {
        margin: 0 1% 10px 0;
        width: 24%;
    }

    .resources > div {
        float: none;
        width: 94%;
    }

    .bookingsList .mblBooking > div {
        width: 33%;
    }

    .agencyInfo .id {
        margin-left: 40px;
    }

    .insCopy img {
        display: block;
        margin: 0 auto;
        max-width: none;
        width: 125px;
    }

    .insCopy div {
        margin-top: 10px;
        max-width: none;
        text-align: center;
        width: 100%;
    }

    .insTblHeader {
        text-align: center;
    }

    .confirmCopy {
        max-width: none;
        padding: 0 3%;
        width: 94%;
    }

    .bookingActions {
        float: none;
        padding: 25px 0;
        text-align: center;
        width: 100%;
    }

    .agtAcctSec .backBtn {
        float: none;
    }

    .groupAddPort .excInfo p {
        margin-right: 0;
    }

    .travList .mblBooking .mblWrap {
        width: 80%;
    }

    .travList .mblBooking .mblPorts {
        padding-top: 10px;
        width: 100%;
    }

    .travList .mblBooking .mblWrap > div {
        float: left;
        width: 50%;
    }

    .flyerList .msg {
        width: 45%;
    }
    .reviewForm div input[type='text'], 
    .reviewForm div textarea,
    .reviewForm .tripDesc div {
        width: 60%;
    }
    .groupFlyer .headerMsg {
        max-width: none;
        padding: 30px;
        position: relative;
        width: 100%;
    }
    .groupFlyer .agtMsg h3 {
        font-size: 20px;
    }
    .groupFlyer .agtMsg div {
        font-size: 16px;
        line-height: 19px;
    }
    .groupFlyer .mainInfo .groupInfo {
        font-size: 16px;
        padding: 20px;
    }
    .groupFlyer .groupInfo .left span.label, 
    .groupFlyer .groupInfo .right span.label {
        max-width: 140px;
        width: 40%;
    }
    .groupFlyer .groupItin .listHeader div,
    .myTripplanner .itinList .listHeader div {
        font-size: 16px;
    }
    .groupFlyer .groupItin .listRow,
    .myTripplanner .itinList .listRow {
        font-size: 14px;
    }
    .groupManifest .paxDetails, 
    .groupManifest .totalPax div {
        font-size: 11px;
        line-height: 13px;
    }
    .groupManifest .totalPax div {
        padding: 10px;
    }
    .myTripplanner .main .field {
        float: none;
        width: 100%;
    }
    .myTripplanner .about span,
    .myTripplanner .about span.label {
        display: block;
        width: 100%;
    }

    .viewGC {
        font-size: 13px;
    }
    .viewGC .container {
        padding: 1em;
    }
    .viewGC .bottomMsg .mainInfo,
    .viewGC .bottomMsg .redeemInfo {
        display: block;
        float: none;
        max-width: none;
        width: 100%;
    }
    .viewGC .bottomMsg .redeemInfo {
        margin-top: 1em;
    }
    .viewGC .bottomMsg > div.mainInfo {
        text-align: center;
    }
}

@media screen and (max-width: 500px) {
    .contactInfo {
        width: 95%;
    }

    .contactHrs {
        margin-left: 5%;
        width: 95%;
    }

    .givePorts .portImg {
        padding-top: 25%;
    }

    .givePorts .portImg span {
        top: 55%;
    }

    .pressList ul {
        padding-left: 0;
    }

    .lineItem .itemTitle {
        width: 50%;
    }

    .cartItem {
        padding: 3%;
    }

    .content .byPort,
    .content .byCountry {
        width: 100%;
    }

    .pricingInfo .priceCat {
        padding: 0;
        width: 98%;
    }

    a.exportExcel {
        float: none;
        margin: 0 auto 20px;
        max-width: 180px;
        width: auto;
    }

    .topFilters {
        text-align: center;
    }

    .advFilters.customers .accList > div {
        max-width: none;
    }

    .advFilters.marketingEmails .accList > div {
        max-width: none;
    }

    .newGrpBtn,
    .createCertBtn {
        display: block;
        margin: 10px auto;
    }

    .agtProfile .accList > div > span {
        max-width: 35%;
    }

    .agtProfile .accList .optOuts {
        max-width: none;
    }

    .agtProfile .agencyLogo {
        float: none;
        margin: 0 auto !important;
        max-width: none;
        width: 220px;
    }

    .agtProfile .logoCopy {
        float: none;
        width: 100%;
    }

    .giftCerts .mblBooking .certNum,
    .giftCerts .mblBooking .travName,
    .giftCerts .mblBooking .amount,
    .giftCerts .mblBooking .balance,
    .giftCerts .mblBooking .expDate,
    .giftCerts .mblBooking .status,
    .giftCerts .mblBooking .shipName,
    .giftCerts .mblBooking .tripDate,
    .giftCerts .mblBooking .name {
        margin: 0 1% 10px 0;
        width: 32%;
    }

    .advFilters .agtAcctBtn {
        margin-top: 20px;
    }

    .customerList .mblBooking > div {
        width: 50%;
    }

    .marketingEmailList .mblBooking > div {
        width: 50%;
    }

    .backLink {
        float: none;
    }

    .tripActions div {
        float: none;
        margin: 15px 0 0;
        text-align: center;
        width: 100%;
    }

    .travelerActionBtns input {
        margin: 10px;
    }

    .travList .mblBooking .mblWrap > div {
        float: none;
        width: 100%;
    }

    .uploadTrav .helpBtn {
        clear: left;
        display: block;
        float: none;
        text-align: right;
    }

    .uploadTrav .helpBtn::after,
    .uploadTrav .helpBtn.open::after {
        bottom: 5px;
    }
    .groupFlyer .mainInfo .groupHeader {
        padding: 10px 15px;
    }
    .groupFlyer .groupItin .listRow .date,
    .myTripplanner .itinList .listRow .date {
        min-width: 0;
    }
    .groupFlyer .groupItin .location, 
    .groupFlyer .groupItin .listRow div,
    .myTripplanner .itinList .location,
    .myTripplanner .itinList .listRow div {
        padding: 10px;
    }
    .groupFlyer .groupItin .location,
    .groupFlyer .groupItin .arrives, 
    .groupFlyer .groupItin .departs,
    .myTripplanner .itinList .location,
    .myTripplanner .itinList .arrives,
    .myTripplanner .itinList .departs {
        width: auto;
    }
    .groupFlyer .listItem .tripInfo {
        margin-bottom: 20px;
        max-width: none;
        width: 100%;
    }
    .groupFlyer .listItem .tripInfo img {
        width: 100%;
    }
    .groupFlyer .listItem .tripDetails {
        padding-left: 0;
        width: 100%;
    }
    .manifestHeader div h1 {
        font-size: 30px;
    }
    .groupManifest .header {
        padding: 60px 10px 10px;
    }
    .groupManifest .titleBlock img {
        max-height: 80px;
    }
    .groupManifest .manifestDetails > div {
        font-size: 18px;
        padding: 10px 0;
        width: 100%;
    }
    .groupManifest .details div,
    .groupManifest .details div.location, 
    .groupManifest .details div.operator {
        width: 50%;
    }
    .myTripplanner .dayTimeMore div {
        width: 50%;
    }
    .myTripplanner .dayTimeMore a {
        clear: left;
        margin-top: 15px;
    }
    .tripVoucher .header span {
        width: 100%;
    }
    .tripVoucher .voucherInfo h1 {
        font-size: 40px;
    }
    .tripVoucher .right h2 {
        font-size: 24px;
        line-height: 27px;
    }
    .tripVoucher .right .details {
        font-size: 14px;
        padding-bottom: 10px;
    }
}

@media screen and (max-width: 460px) {
	.region {
		font-size: 14px;	
		line-height: 18px;
	}
	
	.region span {
		left: 5%;
		width: 90%;	
	}
	
	.excursions .pageDesc h3,
    .travelAgents .pageDesc h3 {
		font-size: 18px;	
	}
	
	.excursions .pageDesc p,
    .travelAgents .pageDesc p {
		font-size: 12px;	
	}
	
	.excIcons {
		width: 60%;	
	}
	
	.pricing {
		width: 38%;	
	}
	
	.topBanner .productImg img {
		max-width: 100%;	
	}
	
	.pricingInfo input.addToCart {
		width: 96%;	
	}

    .pricingInfo input.addToTripPlanner {
        width: 96%;
    }

    .mobileExcActions {
        visibility: visible;
    }
	
	.detailsList ul {
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
	}
	
	.detailsList ul li {
		width: 85%;	
	}
	
	.prodIncludes ul {
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
	}

    .profile div label {
        font-size: 12px;
        width: 30%;
    }

    .profile div span {
        width: 50%;
    }

    .profile .saveBtn {
        left: 30%;
    }

    .tourRequest span {
        width: 45%;
    }

    .lineItem span.price {
        float: right;
    }

    .lineItem span.subTotal {
        display: none;
    }

    .lineItem .itemTitle {
        width: 65%;
    } 

    .cartRight .total {
        width: 100%;
    }

    .cartBottom > div {
        padding: 5%;
    }

    .promoEntry span {
        max-width: 85px;
    }

    .billingForm h3 {
        float: none;
    }

    .billingForm .import {
        margin: 10px 0;
        text-align:center;
    }

    .js-pricing-popup div > span {
        max-width: 50%;
        vertical-align: top;
        white-space: normal;
    }

    .js-pricing-popup div > span.priceNum {
        max-width: 10%;
    }

    .advFilters .accList > div.btmRow {
        max-width: none;
        width: 40%;
    }

    .advFilters .accList > div.btmRow input {
        max-width: 100%;
    }

    .sales .mblBooking .tripName {
        clear: left;
    }

    .agtProfile .optOuts div span {
        width: 20%;
    }

    .agtProfile .optOuts div label span {
        max-width: 85%;
    }

    .js-addcustomer-popup .popupBtns input {
        font-size: 10px;
        margin-left: 5px;
    }

    .js-addcustomer-popup .popupBtns .cancelBtn {
        margin-left: 0;
        padding: 8px 5px 8px 0;
    }

    .bookingsList .mblBooking > div {
        width: 50%;
    }

    .agencyInfo {
        font-size: 11px;
    }

    .agencyInfo .id {
        margin-left: 20px;
    }

    .shareTrip {
        float: none;
        overflow: hidden;
        padding: 0 0 20px;
        text-align: center;
        width: 100%;
    }

    .prodDesc .addToItinerary {
        margin: 0 auto 25px;
    }

    .checkoutList .tblRow {
        display: block;
        overflow: hidden;
        padding: 15px 60px 15px 0;
        position: relative;
    }

    .checkoutList .tblHead {
        display: none !important;
    }

    .checkoutList .tblCell {
        display: block;
        float: left;
    }

    .insTripList .chkBox {
        clear: left;
    }

    .insTripList .chkBox input {
        margin: 0 5px;
    }

    .checkoutList.insTripList .tripDate,
    .checkoutList .port {
        width: auto;
    }

    .checkoutList .tripName {
        clear: left;
        display: block;
        float: left;
    }

    .insTripList .totalNum {
        position: absolute;
        right: 10px;
        top: 10px;
    }

    .checkoutList .total {
        position: absolute;
        right: 10px;
        bottom: 10px;
    }

    .orderConfirmBtns input {
        margin: 10px 0;
    }

    .bookingActions a {
        line-height: 40px;
    }

    .travList .mblBooking .mblPorts {
        padding: 10px 10px 0;
    }

    .statusChart .tripDate,
    .statusChart .port,
    .statusChart .tripName {
        width: 33%;
    }

    .newFlyer textarea {
        max-width: 100%;

    }

    .newFlyer input.createFlyer {
        display: block;
        margin: 5px 0 0;
    }

    .flyerList a.trashBtn {
        display: block;
        margin: 5px auto;
    }

    .manageLists .allCustomers,
    .manageLists .groupTravs,
    .manageLists .manageBtns {
        float: none;
        padding: 0;
        width: 100%;
    }

    .manageLists .manageBtns input {
        display: inline-block;
        margin: 10px;
        height: 30px;
        padding: 0;
        text-align: center;
        -ms-transform: rotate(90deg); 
        -webkit-transform: rotate(90deg); 
        transform: rotate(90deg);
        vertical-align: middle;
        width: 30px;
    }

    .allCustomers .listWrap,
    .groupTravs .listWrap {
        height: 100px;
    }

    .reviewForm div label {
        padding-left: 0;
        width: 100%;
    }

    .reviewForm div input[type='text'], 
    .reviewForm div textarea, 
    .reviewForm .tripDesc div {
        width: 75%;
    }

    .groupFlyer .groupItin .listHeader div {
        font-size: 14px;
    }
    .groupFlyer .groupItin .listRow .date,
    .myTripplanner .itinList .listRow .date {
        line-height: 15px;
    }
    .groupFlyer .groupItin .listRow,
    .groupFlyer .groupItin .date span,
    .myTripplanner .itinList .listRow,
    .myTripplanner .itinList .date span {
        font-size: 12px;
    }
    .myTripplanner h1 {
        font-size: 36px;
    }
    .tripVoucher .voucherInfo div span,
    .tripVoucher .voucherInfo div span:first-child {
        padding-right: 0;
        text-align: left;
        width: 48%;
    }
    .tripVoucher .right .details span.label,
    .tripVoucher .right .details span {
        display: block;
        width: 100%;
    }
    .checkoutList .tripDate {
        width: auto;
    }
    .otherLocations select {
        max-width: 75%;
    }
}

@media screen and (max-width: 390px) {
    .staff .block {
        width: 50%;
    }

    .givePorts .portImg {
        padding-top: 30%;
    }

    .cartRight .total > span,
    .cartRight .total span span {
        width: auto;
    }

    .cartBtns .backTo,
    .cartBtns .checkout {
        font-size: 12px;
    }

    .billingForm {
        font-size: 11px;
    }

    .leftForm > div > span {
        width: 46%;
    }

    .cityStZip input.city {
        width: 96.5% !important;
    }

    .cityStZip select {
        margin: 2px 0 0;
    }

    .cityStZip input.zip {
        width: 68% !important;
    }

    .rightForm input.date {
        width: 90px;
    }

    .js-cruise-trig, 
    .js-hotel-trig {
        width: 96px;
    }

    .hotelCopy {
        width: 100%;
    }

    .cartSum .tripAdded,
    .cartSum .cartItems {
        padding: 10px 0;
    }

    .cartPopupBtns .mainBtn {
        margin-left: 5px;
    }

    .agtProfile .accList.pwChange > div > span {
        max-width: 40%;
    }
    .agtProfile input[type='password'] {
        max-width: 50%;
    }

    .giftCerts .mblBooking .certNum,
    .giftCerts .mblBooking .travName,
    .giftCerts .mblBooking .amount,
    .giftCerts .mblBooking .balance,
    .giftCerts .mblBooking .expDate,
    .giftCerts .mblBooking .status,
    .giftCerts .mblBooking .shipName,
    .giftCerts .mblBooking .tripDate,
    .giftCerts .mblBooking .name {
        margin: 0 0 10px 0;
        width: 50%;
    }

    .bookingDetailItem .addInfoItem input[type='text'] {
        margin-bottom: 10px;
        margin-right: 0;
        max-width: none;
    }

    .reviewForm div > span {
        display: block;
        padding-bottom: 5px;
        padding-right: 0;
        text-align: left;
    }

    .reviewForm div input[type='text'], 
    .reviewForm div textarea, 
    .reviewForm .tripDesc div {
        width: 96%;
    }

    .labelledFields > div > * {
        display: block;
    }
    .labelledFields > div > label {
        text-align: left;
        padding-top: 10px;
        padding-bottom: 5px;
    }

    .groupFlyer .groupItin .location, 
    .groupFlyer .groupItin .listRow div,
    .groupFlyer .groupItin .arrives, 
    .groupFlyer .groupItin .departs {
        padding: 5px !important;
    }
    .groupFlyer .groupItin .listHeader div {
        font-size: 12px;
    }
    .manifestHeader div h1 {
        font-size: 26px;
    }
    .groupManifest .titleBlock h1 {
        padding: 4px 0 0;
    }
    .groupManifest .titleBlock img {
        max-height: 60px;
    }
    .groupManifest .details div, 
    .groupManifest .details div.location, 
    .groupManifest .details div.operator {
        width: 100%;
    }
    .groupManifest .paxDetails .listHeader div, 
    .groupManifest .paxDetails .listRow div {
        padding: 5px;
        text-align: center;
    }
}

@media print {
    .doNotPrint {
        display: none !important;
    }

    /* Site-template stuff */
    .pageContainer {
        padding-left: 0;
    }
    #main-sidebar, header, footer {
        display: none;
    }
    .printableHeader {
        display: block;
    }
    .printableHeader .wrapper {
        position: relative;
        left: 15%;
        height: 100px;
    }
    .printableHeader img {
        height: 100%;
    }
    .printableHeader span {
        position: relative;
        left: 15px;
        top: -40px;
    }

    .accList.closed {
        display: block;
    }
    .viewToggle {
        display: none !important;
    }

    .productView .container {
        left: 0;
        padding: 1%;
    }
    .printableDays {
        display: block;
    }

    .viewGC {
        font-size: 13px;
    }
    .viewGC .amtContainer {
        background: none;
        color: #000;
        padding: 0;
    }
    .viewGC .giftCopy span {
        max-width: 400px;
    }
    .viewGC .giftFooter > img {
        max-height: 60px;
        width: auto;
    }

    .groupFlyer .mainContainer {
        padding: 20px;
    }
    .groupFlyer .mainHeader {
        display: none;
    }
    .groupFlyer .agtMsg h3 {
        font-size: 20px;
    }
    .groupFlyer .mainInfo {
        page-break-after: always;
    }
    .groupFlyer .mainInfo .groupHeader {
        padding: 0 10px;
    }
    .groupFlyer .groupHeader .groupTitle,
    .groupFlyer .groupHeader .cruiseInfo  {
        font-size: 20px;
    }
    .groupFlyer .mainInfo .groupInfo {
        font-size: 20px;
        padding: 25px;
    }
    .groupFlyer .groupInfo div span.label {
        display: inline;
        width: auto;
    }
    .groupFlyer .groupItin .listHeader div, 
    .groupFlyer .groupItin .listRow,
    .groupFlyer .tripsList .localeHead,
    .groupFlyer .listItem .tripTitle,
    .groupFlyer .listItem .tripDetails {
        font-size: 18px;
    }
    .groupManifest .titleBlock {
        background: transparent;
    }
    .groupManifest .titleBlock h1 {
        color: #258499;
    }
    .groupManifest .container {
        padding: 20px;
    }
    .groupManifest .contact div {
        font-size: 16px;
        padding: 0 1.5%;
        width: 30%;
    }
    .groupManifest .contact {
        padding: 0 20px 25px;
    }
    .groupManifest a.printBtn {
        display: none;
    }
    .groupManifest .tripContainer {
        border: 2px solid #258499;
    }
    .groupManifest .header {
        background: transparent;
        padding: 10px;
    }
    .manifestHeader div h1 {
        font-size: 30px;
    }
    .groupManifest .titleBlock img {
        max-height: 80px;
    }
    .groupManifest .manifestDetails {
        border: 2px solid #258499;
        margin: 20px 0;
        padding: 15px 20px 0;
    }
    .groupManifest .manifestDetails > div {
        font-size: 18px;
        line-height: 22px;
    }
    .groupManifest .manifestDetails > div > span.label {
        display: block;
        width: auto;
    }
    .manifestTrip {
        margin: 10px 0;
        page-break-inside: avoid;
    }
    .groupManifest .header h2 {
        color: #000;
        font-size: 18px;
        line-height: 26px;
    }
    .groupManifest .tripContainer .details {
        font-size: 15px;
        line-height: 18px;
        padding: 10px;
    }
    .groupManifest .tripContainer .tripDesc {
        font-size: 16px;
        line-height: 20px;
        padding: 15px;
    }
    .groupManifest .paxDetails .listHeader {
        background: transparent;
        color: #000;
    }
    .groupManifest .paxDetails,
    .groupManifest .totalPax div {
        background: transparent;
        color: #000;
        font-size: 18px;
    }
    .groupManifest .totalPax div {
        border: 2px solid #258499;
        border-top: none;
    }
    .groupManifest .paxDetails {
        border-top: 2px solid #258499;
    }
    .myTripplanner .container {
        padding: 20px;
    }
    .myTripplanner h1 {
        font-size: 32px;
    }
    .myTripplanner h1 img {
        width: 15%;
    }
    .myTripplanner .main .field {
        font-size: 18px;
    }
    .myTripplanner .itinList .listHeader div,
    .myTripplanner .localeHead,
    .myTripplanner .plannedTrip .tripInfo h3 {
        font-size: 18px;
    }
    .myTripplanner .itinList .listRow,
    .myTripplanner .plannedTrip .tripInfo {
        font-size: 16px;
    }
    .myTripplanner .plannedTrip .tripInfo .topSpacer {
        min-height: 0px;
    }
    .myTripplanner .dayTimeMore a {
        display: none;
    }
    .myTripplanner .tpItinerary {
        margin: 10px 0;
    }
    .avoidPageBreak {
        page-break-inside: avoid;
    }
    
    .tripVoucher {
        font-size: 12px;
        line-height: 1.1em;
    }
    .tripVoucher .container {
        color: black;
        font-size: 1em;
        padding: 2px;
    }
    .tripVoucher .right .operatedBy span {
        font-size: 1em;
        line-height: 1.1em;
    }
    .tripVoucher .top .header {
        background-color: initial;
        color: black;
        font-size: 0.8em;
        line-height: 1em;
    }
    .tripVoucher .header span {
        padding: 5px 0;
        text-align: left;
        width: 33%;
    }
    .tripVoucher .header span:last-child {
        text-align: left;
    }
    .tripVoucher .left {
        background: transparent;
        border-right: 0;
        border-bottom: 0;
        margin-bottom: 0;
        color: black;
        float: none;
        padding: 0;
        width: 100%;
    }
    .tripVoucher .voucherInfo h1 {
        color: black;
        font-size: 30px;
    }
    .tripVoucher .printMsg {
        background: transparent;
        position: relative;
    }
    .tripVoucher .right {
        border-right: 0;
        display: block;
        float: none;
        max-width: none;
        padding: 0 2% 2%;
        width: 100%;
    }
    .tripVoucher .right .details,
    .tripVoucher .right .operatedBy {
        padding-left: 0;
    }
    .tripVoucher .right h2 {
        font-size: 20px;
        line-height: 23px;
    }
    .tripVoucher .bordered h3 {
        background-color: initial;
        color: black;
    }
    .tripVoucher .tripDetails div ul li {
        padding: 0;
    }
    .tripVoucher .bordered > div {
        font-size: 1em;
        padding: 0.5em 1em 1em 1em;
    }
    .tripVoucher .tripDetails .summary, 
    .tripVoucher .tripDetails .instructions,
    .tripVoucher .tripDetails .restrictions {
        float: none;
        margin-bottom: 20px;
        margin-right: 0;
        min-height: 0;
        width: 100%;
    }
    .tripVoucher .addedRestriction {
        margin-top: 0.4em;
    }
    .tripVoucher .voucherDisc,
    .tripVoucher .cancellation {
        float: none;
        font-size: 0.8em;
        line-height: 1.25em;
        padding: 15px;
        width: 100%;
    }
    .tripVoucher .voucherFooter {
        text-align: center;
    }
    .tripVoucher .voucherFooter > img {
        max-height: 50px;
        width: auto;
    }
}

.js-travvy-vote-popup .content {
    max-width: 600px;
}
.js-travvy-vote-popup .buttons {
    padding-top: 25px;
    text-align: right;
}
.js-travvy-win-popup .content {
    max-width: 600px;
    padding: 5px;
}

/* Choose Account page */
.choose-account-page .account-header {
    font-weight: bold;
}
.choose-account-page .submit-wrapper {
    text-align: center;
    padding-top: 2em;
}
.choose-account-page .message-wrapper {
    text-align: center;
    margin-top: 1em;
}
.choose-account-page .success-msg {
    font-weight: bold;
}
.choose-account-page .error-msg {
    color: red;
}
@media screen and (min-width: 600px) {
    .choose-account-page .account-list {
        display: table;
    }
    .choose-account-page .account-list > div {
        display: table-row;
    }
    .choose-account-page .account-list > div > div {
        display: table-cell;
        padding: 0 6px 12px 6px;
    }
    .choose-account-page .account-type {
        min-width: 155px;
    }
}
@media screen and (max-width: 599px) {
    .choose-account-page .account-header {
        display: none;
    }
    .choose-account-page .account-list > div {
        padding-bottom: 1em;
    }
    .choose-account-page .user-id, .choose-account-page .email-addr {
        padding-left: 2.5em;
    }
}

/* Reset Password page, Welcome page */
.set-pw-shared {
    max-width: 500px;
    margin: 0 auto;
}
.set-pw-shared .form-fields {
    display: table;
}
.set-pw-shared .form-fields > div {
    display: table-row;
}
.set-pw-shared .form-fields > div > div {
    display: table-cell;
    padding-bottom: 1em;
}
.set-pw-shared .form-fields > div > div:first-child {
    padding-right: 1em;
    text-align: right;
}
.reset-pw-page .submit-wrapper {
    text-align: center;
}
.set-pw-shared .message-wrapper {
    text-align: center;
    margin-top: 1em;
}
.set-pw-shared .success-msg {
    display: none;
    font-weight: bold;
}
.set-pw-shared .error-msg {
    color: red;
}

.welcome-page .greenBtn {
    margin-left: 0;
}
.welcome-page .heading {
    display: block;
    margin-top: 0.5em;
    margin-bottom: 1.5em;
}
.welcome-page .welcome-complete {
    display: none;
}
.welcome-page .continue {
    margin-top: 2em;
}
.welcome-page .already-created {
    margin-bottom: 2em;
}
.welcome-page .submit-wrapper {
    margin-top: 1em;
}
.welcome-page .sign-in-wrapper {
    margin-top: 0.5em;
}
.welcome-page .forgot {
    color: #333;
    margin-left: 30px;
}
.welcome-page .disclaimer {
    font-style: italic;
    text-align: left;
    margin: 1.5em 0;
}
.welcome-page .disclaimer a {
    color: #258499;
    text-decoration: none;
}

.here-to-help {
    margin-top: 50px;
    padding: 25px 4% 25px 4%;
    text-align: center;
}
@media screen and (max-width: 1100px) {
    .here-to-help {
        margin-left: 5%;
        margin-right: 5%;
    }
}
.hth-header {
    font-size: 24px;
    line-height: normal;
    margin-bottom: 16px;
}
.hth-phone {
    font-size: 20px;
    line-height: normal;
    margin-bottom: 12px;
}

#password-strength-status {
    padding: 5px 10px;
    color: #FFFFFF;
    border-radius: 4px;
    margin-top: 5px;
}

.medium-password {
    background-color: #b7d60a;
    border: #BBB418 1px solid;
}

.weak-password {
    background-color: #ce1d14;
    border: #AA4502 1px solid;
}

.strong-password {
    background-color: #12CC1A;
    border: #0FA015 1px solid;
}

