/*------------------------------------------------------------------*/
/* General
/*------------------------------------------------------------------*/


/*------------------------------------------------------------------*/
/* Itinerary Page
/*------------------------------------------------------------------*/

.itinerary-container {

}

.itinerary-section-container {
	border: 2px solid #adadad;
	margin-top: 25px;
	font-size: 18px;
}

.cartWarnings { border-width: 1px; }

.emptyCart {
	margin-top: 20px;
	font-size: 20pt;
}

.cartActions .navbar-default {
    background: none;
    border: none;
}

.cartActions nav {
	height: auto !important;
}

.itinerary-section-container #custom-bootstrap-menu {
	border:none;
	font-size: 18px;
}



#btnPaymentTop, #btnSaveChangesTop {
	font-size: 14pt;
    width: 117px;
    height: 39px;
    float: right;
    padding-top: 4px;
    margin-right: 5px;
	border: none;
}

.itineraryCouponCodeBtn {
	margin-top: 20px;
}

.itinWarnings {
	list-style: none;
	margin-bottom: 0;
	border: 2px solid #adadad;
	margin: 0;
	text-align: center;
	padding: 0;
}

.itinWarnings li, .itinWarnings table {
	padding: 13px 20px;
	display: block;
}

.itinWarnings .box3 {
	margin: 0;
	background: transparent;
	border: none;
}

.itinerary-message {
	width: 80%;
	margin: 20px auto;
	padding: 10px 20px;
	display: none;
	border: none;
}

.itineraryDetails {
	font-size: 14pt;
}

.itinDetailServiceRow,
.itinDetailAirServiceRow {
	padding: 15px 0;
}

/*** BEGIN AGENT SPACING ADJUSTMENTS *****/

.agent-itinerary .itinDetailServiceRow,
.agent-itinerary .itinDetailAirServiceRow {
	padding: 5px 0 9px 0;
	font-size: 16px;
}

.agent-itinerary .svc-details {
	padding-left: 0;
}

.agent-itinerary .itinSvcConfStatus {
	padding-right: 0;
	width: 50px;
}

.agent-itinerary .svcIcon img {
	width: 31px;
	height: 31px;
}

.agent-itinerary .svcIcon {
	width: 60px;
}

.agent-itinerary .svcDescription {
	width: calc(100% - 60px);
}

.agent-itinerary .itinDetailDateRow {
	padding-bottom: 5px;
}

.agent-itinerary .totalPrice {
	width: calc(33% - 68px);
}

/*** END AGENT SPACING ADJUSTMENTS *****/

.itinSvcEditRemove > img:hover {
	cursor: pointer;
	opacity: 0.9;
	transform: scale(1.15);
}

.itinSvcEditRemove img {
	float: left;
	padding-left: 5px;
}

.itineraryDetails .itinSvcDayBlock {
	border: 2px solid #adadad;
	background-color: #adadad;
	color: #ffffff;
	text-align: center;
	height: 65px;
	width: 10%;
	max-width: 130px;
	white-space: nowrap;
	padding-top: 5px;
}

.agent-itinerary .itinSvcDayBlock {
	height: 30px;
	padding-top: 0;
}

.agent-itinerary .itinSvcDayBlock span {
	font-size: 18px;
	padding-right: 5px;
}

.itinSvcDate {
	font-weight: 700;
	margin-top: 20px;
	padding-left: 20px;
}

.agent-itinerary .itinSvcDate {
	padding-top: 4px;
	margin-top: 0;
	padding-left: 10px;
}

 .no-show-shrink {
	height:0px;
	padding:0px;
	margin:0px;
	display:none;
}

.shrink {
	padding-top:0px;
	margin:0px;

}

.itinSvcDayBlockDay {
	font-size:12pt;
}

.itinSvcDayBlockNum {
	font-size: 27px;
	line-height: 1em;
}

.itinSvcTotalPrice, .itinSvcAirTotalPrice {
	font-weight:700;
}

.itinSvcConfStatus {
	padding-right: 45px;
}

.cartLandOnly {
	display:none;
}

.cartAirDetail {
	border:none;
}


.right-aligned {
	text-align:right;
	float:right;
}

.shipInput {
	display:none;
}

.itineraryInvoiceWarning {
	margin-top: 50px;
    text-align: center;
    padding: 10px;
    background-color: #FFCC34;
    border: none;
    color: #223a4e;
}

.itineraryInvoiceWarning h3 {
	margin: 0;
	padding: 20px;
}

.itineraryFinalizeHeader {
	background: #223a4e;
    color: #fff;
    padding: 5px;
    margin-top: 60px;
    border: none;
    height: 80px;
    margin-bottom: -25px;
}

.cartFinalizeBtns {
	border-top: none;
	height:100%;
	padding-top: 30px;
}

.getres .itineraryFinalizeHeader,
.getres .cartFinalizeBtns {
	display: none;
}

#btnContinueShopping {
	font-size: 20pt;
}

.itineraryPaymentOption {
	margin-bottom: 25px;
}

.itinerarySaveCancelChangeOption {
	margin-top: 10px;
	margin-bottom: 10px;
	text-align: right;
}

/*These are not used on our site, so not displaying*/
#disclaimerPendingPay, #disclaimer11mthAir {
	display:none;
}
#gtInsurance {
	display:none;
}


/******************************************************
 * Util classes
 *****************************************************/

.coupon-add {
	border: 1px solid #ccc;
	text-align: left;
	border-radius: 2px;
	background: #fff;
	position: relative;
	transition: background 0.7s 0.3s,color 0.5s 0.3s;
}

.coupon-add-btn {
	border: none;
	background: #223a4e;
	color: #ffffff;
	font-size: 16px;
	font-weight: 500;
	position: relative;
	height: 44px;
	text-shadow: 0px 0px 2px rgba(0,0,0,0.3);
	z-index: 9;
	transition: background 0.3s;
}

.coupon-add-finalize {
	font-size: 18px;
	height: 70px;
	text-align: center;
	border-radius: 0;
	border-width: 2px;
	border-right: none;
	border-color: #adadad;
}

.coupon-add-btn-finalize {
	font-size: 26px;
	height: 70px;
	font-weight: 500;
	border: none;
}

.coupon-add-finalize.small {
	height: 44px;
	position: relative;
	top: 1px;
	width: 180px;
}

.coupon-add-btn-finalize:hover {
	color:#ffffff;
	transform: translateY(-1px);
	box-shadow: 0px 2px 13px -3px rgba(0,0,0,0.3);
}

.coupon-header {
	width: 60px;
}

.util-3d-box {
	box-shadow: 0px 0px 20px -3px rgba(0,0,0,0.3);
	background: #e9e9e9;
	border: 1px solid #cccccc;
}

.util-3d-box.small {
	box-shadow: 0px 0px 10px -2px rgba(0,0,0,0.2);
}

.airDescriptionMarkup > div {
	background: #f2f2f2;
	z-index: 9;
	position: absolute;
}

.airDescriptionMarkup table {
	margin: 0;
	padding: 0;
	position: absolute;
	left: 0px;
}

.cartShipping {
	padding: 30px 10px 20px 10px;
	min-height: 90px;
}

.cartWarnings .panel-group { margin: 0; }

.cartWarnings ul br { display: none; }

.cartWarnings .panel-title { font-size: 18px; }

.disclaimer-area a {
	text-decoration: none;
}

.disclaimer-area > a {  font-weight: 500; }

.disclaimer-area a:hover { color: inherit; }

.payment .cartAirDetail {
	display: none;
}

.doc-type-choices > div {
	padding: 0px 15px 10px 65px;
	position: relative;
}

.doc-type-choices > div:before {
	content: "";
	display: block;
	position: absolute;
	left: 13px;
	top: -5px;
	background-image: url(../svg/section-icon-shipping.svg);
	height: 40px;
	width: 40px;
}

.panel-heading { position: relative; }

.panel-heading:after {
	content: "\f105";
	font-family: FontAwesome;
	font-size: 30px;
	transform: rotate(90deg);
	display: block;
	color: #333;
	position: absolute;
	right: 30px;
	top: 3px;
	transition: transform 0.3s;
}

.toggle-disclaimers[aria-expanded="true"] .panel-heading:after {
	transform: rotate(-90deg);
}

.toggle-disclaimers[aria-expanded="true"] { font-weight: 700; }

.cartWarnings li,
.cartWarnings li a {
	font-weight: 400 !important;
}

.toggle-disclaimers[aria-expanded="false"] { font-weight: 400; }

.toggle-disclaimers .panel-body { font-weight: 400; }

.panel-body, .panel-heading { background: none !important; }

#header-info-light { padding: 15px 20px; }

#header-info-light > .row { margin: 5px 0; }

.final-pkg-price span {
	font-size: 24px;
	font-weight: 100;
}

.panel-default {
	border-color: #adadad;
	border-radius: 0 !important;
}

.header-coupon { width: 60px; }

.agent-itinerary { font-size: 16px; }

.agent-itinerary .svcQuantity {
	font-size: 14px;
	width: 195px;
}

.hotelOptionsInfo {
	margin-top: 0;
	padding-top: 0;
}

#itinCartDetails .show-pop { display: block; }

[data-category="Hotel"] .star-holder,
[data-category="Sightseeing"] .star-holder {
	display: none;
}

.itinSvcEditRemove {
	max-width: 80px;
	float: right;
	display: flex;
	justify-content: space-between;
	max-width: 60px;
	position: relative;
	right: 10px;
}

.itinSvcEditRemove > img {
	display: flex;
	width: 21px;
	height: 16px;
}

.config-details {
	display: inline-flex;
	justify-content: flex-end;
}

.agent-itinerary .service-icon {
	height: auto;
	width: 35px;
}

.odd { background: #fff; }
.even { background: #f2f2f2; }

.pop-cart .htl-opt-read-more {
	display: none;
}

.pop-cart .cart-popup-inline-content {
	position: absolute;
	z-index: 19;
	padding: 30px 20px;
}

.pop-cart .hotelOptionsImage,
.pop-cart .hotelOptionsInfo {
	width: 100%;
}

.detailRow .inline-hider {
	display: none;
}

.navbar-nav {
	margin: 0 auto;
}

.svcIcon > img {
	margin: 0 auto;
	float: none;
	display: block;
}

.totalPrice {
	padding-right: 30px;
}

#itinCartDetails,
.cartHeader,
.cartAirDetail {
	margin-top: 35px;
}

.shopping-cart-header-slim {
	border: 2px solid #adadad;
}

.cartHeader {
	/* padding-bottom: 20px; */
	margin-bottom: 20px;
	border: none;
}

.itinerary-container > h2 {
	margin-top: 60px;
}

.lined-box {
	border: 2px solid #adadad;
	margin-bottom: 60px;
}

.lined-box-inner {
	padding: 70px 70px 30px 70px;
}

.input-header {
	position: relative;
}

.icon-holder {
	position: absolute;
	top: 18px;
	left: -85px;
	border: 2px solid #adadad;
	border-radius: 50%;
	padding: 9px;
}

.extra-info {
	text-align: right;
	padding-top: 60px;
}

.red-warn { color: red; }

.blue-warn, .yellow-warn {
	padding: 20px 50px;
	margin: 20px 0;
	background: #223a4e;
	color: #fff;
	font-weight: 600;
	line-height: 1.8em;
}

.yellow-warn {
	background: #FFC74D;
	font-size: 18px;
	color: rgba(51, 51, 51, 0.9);
	font-weight: 400;
}

.input-label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #223a4e;
	opacity: 0.8;
	margin: 0 0 3px 0;
}

.input-controls:active, .input-controls:focus {
	outline-color: #4D90FE;
	outline-offset: -2px;
	outline-style: auto;
	outline-width: 5px;
}

.input-controls,
.anim-label #txtemail {
	width: 100%;
	max-width: 100%;
	padding: 8px 45px 8px 22px;
	border: 1px solid #ccc;
	font-size: 16px;
}

.prop-phone.input-controls {
	padding: 9px 10px;
}

#usphonetd span {
	margin-left: 5px;
	margin-right: 5px;
	margin-top: 9px;
}

.required .input-hugger:before {
	content: "*";
	position: absolute;
	top: 8px;
	left: 15px;
	color: red;
	transition: opacity 0.3s;
	opacity: 1;
}

.label-anim-in.input-hugger:before {
	opacity: 0;
}

select.input-controls {
	padding-left: 18px;
}

.input-hugger {
	position: relative;
	z-index: 1;
	display: block;
	max-width: 400px;
}

.anim-label {
	margin-bottom: 35px;
	display: block;
}

.anim-label.is-invalid {
	margin-bottom: 50px;
}

.chkbx-size {
	height: 18px;
	width: 18px;
}

.placeholder-floater:before {
	content: attr(data-placeholder);
	position: relative;
	top: 0;
	bottom: 0;
	height: 20px;
	z-index: 0;
	font-weight: 600;
	color: #223a4e;
}

.placeholder-floater {
	transition: transform 0.3s, opacity 0.4s;
	transform: translateY(10px);
	opacity: 0;
	position: absolute;
	color: red;
	z-index: -1;
}

.label-anim-in .placeholder-floater {
	transform: translateY(-20px);
	opacity: 0.8;
}

.calendar-inner:after {
	content: "";
	display: block;
	position: absolute;
	right: 11px;
	top: 8px;
	background: url(../svg/calendar-date-black-2.svg);
	height: 25px;
	width: 25px;
	transition: opacity 0.15s;
	opacity: 1;
}

.is-valid .calendar-inner:after,
.is-invalid .calendar-inner:after {
	opacity: 0;
}

.anim-label > label {
	position: absolute;
	top: -20px;
}

#custom-bootstrap-menu {
	height: auto;
}

.itinPricePerPerson {
	width: 200px;
	font-weight: 100;
	font-size: 14px;
	padding: 5px;
	text-align: center;
}

.hoverableName:before {
	content: "";
	width: 100%;
	position: absolute;
	top: -20px;
	font-weight: 700;
	transition: transform 0.3s 0.4s, opacity 0.4s 0.4s;
	opacity: 0;
	transform: translateY(20px);
	z-index: 0;
}

.hoverableName:hover:before {
	opacity: 1;
	transform: translateY(0px);
	z-index: 1;
	transition: transform 0.3s, opacity 0.4s;
}

.agent-itinerary .svcQuantity:before { content: "Quantity - Duration"; }
.totalPrice:before { content: "Total Price"; }
.agent-itinerary .profitPrice:before { content: "Profit"; }
.agent-itinerary .cellEdit:before {
	content: "Edit - Remove";
	white-space: nowrap;
	left: -15px;
}

.hoverable-box font {
	position: relative;
	padding: 5px 6px;
	left: -5px;
}

.passport-line { display: block !important; }

.pax-section-repeater:nth-of-type(odd) { background: #fff; }
.pax-section-repeater:nth-of-type(even) { background: #f2f2f2; }

/* display only first instance of input headers */
.pax-repeater .input-header { display: none; }
.pax-repeater .input-header-index1 { display: block; }

.lined-box .header-top {
	margin-top: -20px;
	margin-bottom: 50px;
}

.propagate-only {
	display: none;
}

.collapse-header-toggle h3 {
	margin-top: 0;
}

#common-requests-base .pax-section-repeater {
	padding-top: 40px;
}

.collapse-header-toggle i {
	float: right;
	transition: transform 0.3s;
	transform: rotate(0deg);
}

.collapse-header-toggle.collapsed i {
	transform: rotate(180deg);
}

.hoverable-box-content {
	position: absolute;
	z-index: 99;
	opacity: 0;
	transform: translateY(20px);
	transition: transform 0.3s, opacity 0.3s;
	bottom: 105%;
}

.hoverable-box-content.hover-in {
	opacity: 1;
	transform: translateY(0);
}

.input-hugger:after {
	font-family: "Fontawesome";
	content: "\f00c";
	position: absolute;
	padding: 0px 10px;
	right: 7px;
	top: calc(50% - 10px);
	color: #9bbc3a;
	transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
	transform: scale(0);
}

.is-invalid .input-hugger:after {
	font-family: "Fontawesome";
	content: "\f00d";
	color: red;
	transform: scale(1.2);
	right: 9px;
}

.pre-hovernone:before {
	content: none !important;
}

.agent-itinerary .profitPrice:before {
	content: none;
}

/* hides totalPrice values that arent "included"
eg: $143.49 */
.agent-itinerary [data-disp-total*="."]:before {
	content: none;
}

.is-valid .input-hugger:after {
	transform: scale(1.2);
}

#passenger-information-base,
.contact-info,
.create-account {
	background: #fff;
}

.radio-size {
	width: 18px;
	min-width: 18px;
	height: 18px;
	min-height: 18px;
}

.chkInDestDoPrimary {
	height: 18px;
	width: 18px;
	margin-right: 10px !important;
}

.radio-size {
	height: 18px;
	width: 18px;
	position: relative !important;
	top: 5px;
	margin-right: 10px !important;
	padding-right: 10px !important;
}

#in-destination-base .pax-section-repeater {
	padding-top: 40px;
	padding-bottom: 30px;
}

#section-destination-contact .col-md-7 {
	padding-top: 30px;
}

.popup-car .cart-popup-inline-content {
	width: auto;
}

.section-destination-contact input {
	max-width: 100% !important;
	width: 100% !important;
	background: #fff;
}

.svc-head.passenger-info {
	margin-top: 20px;
}

.passenger-entry .radio {
	display: inline-block;
	min-width: 100px;
	margin-left: 22px;
	margin-top: 0;
}

.user_type_D .contact-id-container {
	display: none;
}

.combined-phone-ext {
	padding-left: 20px;
	padding-right: 0;
}

.gender-selector .anim-label {
	margin-bottom: 20px;
}

.action-approval-head {
	background: #223a4e;
	color: #fff;
	padding: 20px 40px;
}

.action-approval-head h2 {
	font-size: 24px;
	margin: 0;
}

.action-approval-box-inner {
	border: 2px solid #adadad;
	border-top: none;
	padding: 30px 40px;
}

.action-approval-box #btnconfirm {
	min-width: 200px;
	margin-top: 15px;
}

.action-approval-box-inner > div {
	margin-bottom: 10px;
}

.action-approval-box-inner > div {
	margin-bottom: 20px;
}

.action-approval-box .disclaimer {
	margin-bottom: 40px;
}

.action-approval-box input[type="checkbox"] {
	height: 18px;
	width: 18px;
	position: relative;
	top: 4px;
	margin-right: 15px;
}

/* BEGIN format Special Request Boxes - didn't want to PR */
.special-request-boxes .textnode:first-child {
	display: block;
	margin-top: 20px;
	margin-bottom: 10px;
	font-size: 18px;
}

.special-request-boxes > div:after {
	content: " ";
	display: block;
	clear: both;
}

.special-request-boxes br {
	display: none;
}

.matched-pair.textnode {
	width: calc(100% - 40px);
}

.matched-pair {
	display: block;
	width: 40px;
	height: 18px;
	float: left;
	margin: 13px 0 5px 0 !important;
	padding: 0 !important;
}

.special-request-boxes .specialRequest {
	display: block;
	margin-top: 5px;
	margin-bottom: 15px;
	width: 100%;
	max-width: 300px;
	padding: 8px 45px 8px 22px;
	background: #fff;
}

/* END format Special Request Boxes */

#insert-errs {
	margin-top: 20px;
	display: block;
}

.airtinerary-cart, .cartAirDetail {
	margin-top: 0;
}

.cartAirDetail > h2 {
	margin-top: 60px;
}

#section-destination-contact {
	margin-bottom: 0;
}

#pass-tips { margin-top: 15px; }

.child-row .itinAirSvcIcon { visibility: hidden; }

.user_type_D .primary-contact-id { display: none; }

.type-C .title-extras.no-show { display: inline-block; }


.updateassignpax.user_type_D .pax-header-messages,
.itemsave.user_type_D .pax-header-messages,
.itemsave .tag-anyerror,
.itemsave .inner-warns,
.updateassignpax .tag-anyerror {
	display: none;
	/* opacity: 0.6;
	background: #ffd6003b;*/
}

.header-res-u, .updateassignpax .inner-warns {
	max-width: 1110px;
	margin: 20px auto;
}

.user_type_U.id_ .contact-id-container, .user_type_U.id_ .primary-contact-id {
	display: none;
}

.cart-popup-inline-link.popup-all {
	display: inline-block;
	padding-left: 15px;
	padding-right: 10px;
}

#divflightinfohelpContactShow p {
	font-size: 16px;
}

#usphonetd1.input-hugger {
	min-width: 300px;
}

.prop-phone-sep {
	padding: 9px 9px 0 9px;
	float: left;
}

#usphonetd1.input-hugger:before {
	content: "";
}

.phone-outer .anim-label,
.row-dob .anim-label {
	margin-bottom: 10px;
}

.gender-selector label {
	height: 25px;
}

#ui-datepicker-div { /* helps smooth jumping due to moving tooltips */
	transition: top 0.3s;
}

/* no media */

@media screen and (max-width: 768px) {

	.itineraryDetails .itinSvcDayBlock {
		width: 100%;
		text-align: center;
		background: #223a4e;
		border: none;
		margin-bottom: 15px;
		padding: 7px 0;
		height: auto;
	}

	.itinSvcDay > div,
	.itinSvcDayBlock > div {
		display: inline;
		padding: 0 5px;
	}

	.itinDetailDateRow {
		border-top: none;
	}

	/*.detailRow:nth-of-type(odd) {
		background: #fff;
	}

	.detailRow:nth-of-type(even) {
		background: #f2f2f2;
	}*/

	.totalPrice {
		padding-right: 15px;
		text-align: right;
	}

	.itinSvcIcon,
	.itinAirSvcIcon,
	.svcDescription {
		min-height: 60px;
	}

	.placeholder-floater:before {
		top: 25px;
		position: absolute;
		min-width: 200px;
	}

	.lined-box-inner {
		padding: 70px 10% 30px 10%;
	}

	.itinerary-message {
		width: calc(100% + 30px);
		margin-left: -15px;
	}

	.btn-col {
		margin-bottom: 30px;
	}

	.btn-col button, .btn-col input, #btnSave {
		float: none;
		width: 80%;
		margin-left: 10%;
		margin-right: 10%;
		padding-left: 3%;
		padding-right: 3%;
	}

	.passport-info-section .hotelSectionHeaderDates,
	.common-requests-section .hotelSectionHeaderDates,
	.in-destination-section .hotelSectionHeaderDates {
		display: none;
	}

	.cartShipping > .row > div {
		margin-bottom: 20px;
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}

	.hoverableName:before {
		right: 15px;
	}

	.doc-type-choices > div:before {
		top: 0;
		left: 0;
	}

	.cat-Airfare .child-row .svcDescription,
	.cat-Airfare .child-row .itinAirSvcIcon,
	.cat-Package.child-row .svcDescription,
	.cat-Package.child-row .icon-blank {
		display: none;
	}

	.detailRow {
		border-bottom: 1px solid #e8e8e8;
	}


} /* media 768 */

@media screen and (max-width: 550px) {

	.cartItinHeader .price-header,
	.cartItinHeader .info-header,
	.cartItinHeader .itineraryHeaderPrices {
		width: 100%;
		text-align: center;
	}

	.popup-car .cart-popup-inline-content {
		width: 90vw;
		max-width: 100vw;
		left: calc(-50vw + 50% - 20px);
		right: auto;
		position: absolute !important;
	}

	.popup-car .cart-popup-inline-content td {
		padding: 6px 10px 3px 10px;
	}

	.btn-col button, .btn-col input, #btnSave {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.prop-phone-sep {
		display: none;
	}

	.prop-phone {
		margin-right: 5px;
	}


} /*media 550 */
