#sort_box_wrap {
	width: auto;
	margin-top: 20px;
}

#sort {
	text-align: center;
	margin: 5px 0 40px;
}

#main_wrap #sort ul {
	margin: 0 auto;
	text-align: center;
	padding: 10px 10px 0;
	border: 1px solid #245f85;
	display: inline-block;
	box-sizing: border-box;
	width: 90%;
	border-radius: 3px;
	overflow: hidden;
}

#main_wrap #sort li {
	display: inline-block;
	margin: 0 15px 14px 0;
	padding-left: 0;
}

#main_wrap #sort li.chosen span {
	font-family: "TT Norms";
	font-weight: 700;
}

#main_wrap #sort ul li:before {
	width: auto;
	float: none;
	content: '';
	margin-left: 0;
}

#main_wrap #sort li:first-child,
#main_wrap #sort li:last-child {
	color: #fff;
	background-color: #245f85;
	display: block;
	float: none;
	clear: left;
	margin: -10px -10px 14px;
	text-align: center;
	width: auto;
}

#main_wrap #sort li:first-child h2 {
	padding: 4px;
}

#main_wrap #sort li:last-child {
	margin: 0 -10px;
	color: #666;
	background: none;
}

#main_wrap #sort li:last-child label {
	line-height: 1.1em;
}

#main_wrap #sort li:first-child {
	padding: 0 10px 2px;
}

#main_wrap #sort li:first-child b {
	color: #ffcb11;
}

#main_wrap #sort li > a,
#main_wrap #sort li:not(:first-child) > span {
	display: block;
	white-space: nowrap;
	padding-left: 36px;
	position: relative;
}

#main_wrap #sort li > a.selected {
	font-family: "TT Norms";
	font-weight: 700;
	color: #cd4b00;
}

#main_wrap #sort li > a:before,
#main_wrap #sort li:not(:first-child) > span:before {
	content: '';
	width: 28px;
	height: 28px;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/icons/sort-sprite.png) no-repeat;
}

#main_wrap #sort li:nth-of-type(2) > a:before,
#main_wrap #sort li:nth-of-type(2) > span:before {
	background-position: 0 0;
}

#main_wrap #sort li:nth-of-type(3) > a:before,
#main_wrap #sort li:nth-of-type(3) > span:before {
	background-position: 0 -84px;
}

#main_wrap #sort li:nth-of-type(4) > a:before,
#main_wrap #sort li:nth-of-type(4) > span:before {
	background-position: 0 -56px;
}

#main_wrap #sort li:nth-of-type(5) > a:before,
#main_wrap #sort li:nth-of-type(5) > span:before {
	background-position: 0 -112px;
}

/*#main_wrap #sort li:nth-of-type(6) > a:before,
#main_wrap #sort li:nth-of-type(6) > span:before {
	background-position: 0 -112px;
}*/

/*#main_wrap #sort li a:nth-of-type(8) {
	margin-right: 0;
}*/

#sort img {
	vertical-align: middle;
	position: relative;
	top: -2px;
	border: 2px solid #15afc7;
	margin-right: 6px;
}

#filter {
	border-top: 1px solid #245f85;
	background-color: #f1f1f1;
	padding: 5px;
}

#filter > div:first-child {
	background-color: #197DAF;
    color: #fff;
    margin: -5px -5px 5px;
}

#filter a {
	font-weight: normal;
}

#filter form {
	display: flex;
	justify-content: center;
	gap: 10px;
}

#filter button {
	
}

#top_wrap {
	overflow: hidden;
}

#main_content h3 {
	display: inline;
	font-size: 1.3em;
}

#main_content h3.h3_rc {
	display: block;
	margin: 0 0 20px;
	text-align: center;
	font-size: 1.2em;
}
/*
table.pricing td.not_cline {
	padding-top: 8px;
}

td.itinerary a:link,
td.itinerary a:visited {
	color: #990404;
	text-decoration: underline;
}

td.itinerary a:hover,
td.itinerary a:active {
	color: #3a5c78;
	text-decoration: underline;
}

td.itinerary img {
	margin: 0 4px 3px 0;
	float: left;
}

.all_dates {
	border: 1px solid #fdcb26;
	background: #FFF4CF;
	padding: 2px 4px;
}

.all_dates span {
	font-weight: bold;
	color: #990404;
}

table.last_month {
	margin-bottom: 0;
}

table.pricing th img {
	float: left;
	margin: 2px 8px 2px 0;
}

table.pricing td.sold_out {
	font-weight: bold;
	color: #990404;
	text-align: center;
}

table.pricing td {
	line-height: .7em;
	padding-bottom: 8px;
}

table.pricing td.not_cline {
	line-height: 1.7em;
	padding-bottom: 4px;
}

a.back_to_river_cruises:link,
a.back_to_river_cruises:visited {
	display: block;
	width: 194px;
	height: 32px;
	background: url(../images/buttons/back_to_all_river_cruises.gif) no-repeat 0 0;
	text-indent: -9999px;
	border: none;
}

a.back_to_river_cruises:hover {
	background-position: 0 -32px;
}

a.back_to_river_cruises:active {
	background-position: 0 -64px;
}

#price_guarantee .box_header {
	border: 1px solid #403e3e;
	border-bottom: none;
}

#price_guarantee .box_header div {
	float: right;
}

#price_guarantee .box_header div a:link,
#price_guarantee .box_header div a:visited,
#price_guarantee .box_header div a:hover,
#price_guarantee .box_header div a:active {
	color: #ffcb00;
}

#ct_more,
#price_guarantee {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 600px;
	text-align: left;
	z-index: 1002;
}

#ct_more .privacy_header h2,
#price_guarantee .privacy_header h2 {
	color: #fff;
}

.pricing .div_th, .pricing .div_td {
	width: auto;
}

.itin_title > span {
	color: #348ac1;
	font-style: italic;
}
*/
#search_results {
	position: relative;
	z-index: 1;
	overflow-x: clip;
}

#search_results #search_loading_message_first {
	font-size: 28px;
	line-height: 1.3em;
	margin-bottom: 50px;
}

#search_loading {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: 0;
	z-index: 0;
	transition: opacity .25s;
	display: none;
}

#search_loading.loading {
	opacity: .8;
	display: block;
}

#search_loading_message {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	line-height: 1.4em;
	font-size: 2em;
	z-index: 0;
	opacity: 0;	
	transition: opacity .25s;
	display: none;
}

.search-loading-message::before,
.search-loading-message::after {
	content: '';
	display: none;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 5px solid #0c5ba4;
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
}

.search-loading-message.loading::before,
.search-loading-message.loading::after {
	display: block;
}

.search-loading-message::before {
	transform: translateX(-50%);
	opacity: .25;
}

.search-loading-message::after {
	transform: translateX(-50%) rotate(0deg);
	transform-origin: center;
	border-top-color: transparent;
	animation: spin_sl 1s linear infinite;
}

@keyframes spin_sl {
	100% {
		transform: translateX(-50%) rotate(360deg);
	}
}


#search_loading_message_first {
	text-align: center;
}

#search_loading_message.loading {
	opacity: 1;
	display: block;
}

#results_wrap {
	display: flex;
	align-items: start;
	transition: transform .2s ease-out;
	transform: translateX(0);
}

#itin_info_wrap {
	position: relative;
}

#main_content a#footer_show_filters {
	display: none;
}

#main_content.header_show_filters_hidden a#footer_show_filters {
	display: block;
}

a#footer_show_filters,
a#back_to_top {
	position: absolute;
	right: 0;
	bottom: 0;
	border-radius: 3px;
	font-family: "TT Norms";
	font-weight: 700;
	transition: background-color .5s, color .5s;
	padding: 6px 13px 6px 16px;
	display: block;
	z-index: 2;
}

a#footer_show_filters {
	left: 0;
	right: auto;
}

#back_to_top:link,
#back_to_top:visited,
body.is_mobile a#back_to_top:link,
body.is_mobile a#back_to_top:visited,
body.is_mobile a#back_to_top:hover,
body.is_mobile a#back_to_top:active,
#footer_show_filters:link,
#footer_show_filters:visited,
body.is_mobile a#footer_show_filters:link,
body.is_mobile a#footer_show_filters:visited,
body.is_mobile a#footer_show_filters:hover,
body.is_mobile a#footer_show_filters:active {
	color: #fff;	
	background-color: rgba(36, 52, 133, .75);
}

a#back_to_top:hover,
a#back_to_top:active,
a#footer_show_filters:hover,
a#footer_show_filters:active {
	color: #ffcb11;
	text-decoration: none;
	background-color: rgba(36, 52, 133, 1);
}

a#back_to_top i {
	margin-left: 3px;
}

a#back_to_top:link i,
a#back_to_top:visited i,
body.is_mobile a#back_to_top:link i,
body.is_mobile a#back_to_top:visited i,
body.is_mobile a#back_to_top:hover i,
body.is_mobile a#back_to_top:active i {
	color: #ffcb11;
	transition: color .5s;
}

a#back_to_top:hover i,
a#back_to_top:active i {
	color: #fff;
}

#results {
	flex: 1;
}

#filters {
	width: 290px; /*25%;*/
	padding-right: 10px;
	padding-bottom: 40px;
	box-sizing: border-box;
	position: sticky;
	top: 20px; /*2.8em;*/
	max-height: 100vh;
	overflow-y: auto;
}

#filters h3 {
	display: block;
	margin-bottom: 10px;
}

#filters select {
	font-size: 90%;
}

#filters > div {
	margin-top: 20px;
}

#filters fieldset {
	padding: 0;
	border: none;
}

#filters > div:nth-of-type(1) {
	margin-top: 0;
}

#filters > div > fieldset > legend > span,
#filters > div > label {
	color: #2f7cad;
	font-family: "TT Norms";
	font-weight: 700;
	display: block;
	line-height: 1.2em;
	margin-bottom: 5px;
}

#filters > div > div {
	/*margin-bottom: 8px;*/
}

#filters > div > div > label {
	position: relative;
	padding-left: 23px;
	line-height: 115%;
}

#filters > div > div > label > input {
	position: absolute;
	left: 0;
	top: 0;
}

#dd-select-wrap {
	display: flex;
	gap: 10px;
}

#search_results button.button_lg.show_filters_button {
	display: none;
}

#search_results #filters button.button_lg.show_filters_button {
	margin-bottom: 10px;
}

#main_content.show_filters #search_results #filters button.button_lg.show_filters_button {
	display: inline-block;
}

.small_screen_message {
	display: none;
}

.small_screen_message.show {
	display: inline;
}

.header {
	background-color: #90273f;
	color: #fff;
	font-family: "TT Norms";
	font-weight: 700;
	padding: 10px 14px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	margin-bottom: 8px;
	position: relative;
}

/*.header a {
	float: right;
}

.header i {
	margin-left: 3px;
}

.header a:link,
.header a:visited,
body.is_mobile .header a:link,
body.is_mobile .header a:visited,
body.is_mobile .header a:hover,
body.is_mobile .header a:active {
	color: #fff;
}

.header a:link i,
.header a:visited i,
body.is_mobile .header a:link i,
body.is_mobile .header a:visited i,
body.is_mobile .header a:hover i,
body.is_mobile .header a:active i {
	color: #ffcb11;
}

.header a:hover,
.header a:active {
	color: #ffcb11;
	text-decoration: none;
}

.header a:hover i,
.header a:active i {
	color: #fff;
}*/

.itin_info {
	border-bottom: 1px solid #000;
	margin-bottom: 42px; /*58px;*/
	padding-bottom: 14px;
	position: relative;
}

.itin_info:last-child {
	border-bottom: none;
	margin-bottom: 0; /*40px;*/
	padding-bottom: 0;
}

.map_wrap {
	position: relative;
}

.map_wrap.zi {
	z-index: 5;
}

.map_wrap:before {
	content: "\f00e";
	font-size: 1.3em;
	text-align: center;
	line-height: 2em;
	color: #fff;
	position: absolute;
	left: 0;
	top: 0;
	width: 2em;
	height: 2em;
	background-color: rgba(0, 0, 0, .5);
	opacity: 1; /* Set this to '0' if you want it to appear on a rollover */
	z-index: 3;
	font-family: cef;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, .5);
	transition: opacity 50ms ease-in-out;
	cursor: zoom-in;
}

/* Uncomment if opacity is set to 0 above */
/*body.is_mobile .map_wrap:before {
	opacity: 1;
}*/

.map_wrap:hover:before {
	/*opacity: 1;*/ /* uncomment if opacity is set to 0 "above" */
	cursor: zoom-in;
}

.map_wrap.show:hover:before {
	cursor: zoom-out;
}

.map_wrap.no_map:before {
	content: '';
	background-color: transparent;
}

.map_wrap.no_map:hover:before {
	cursor: default;
}

.map_wrap.no_map .map::after {
	content: 'no map available';
	color: gray;
	text-align: center;
	display: block;
	font-family: "TT Norms";
	font-weight: 700;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.map_wrap.no_map .map img {
	display: none;
}

.map {
	overflow: hidden;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	transition: all 500ms ease-in-out;
	width: 214px;
	height: 214px;
	box-sizing: border-box;
}

.map_wrap.no_map .map {
	border: 1px solid gray;
	background-color: #f7f7f7;
}

.map:hover {
	cursor: zoom-in;
}

.map_wrap.no_map .map:hover {
	cursor: default;
}

.map_wrap.show:before {
	content: "\f010";
}

.map_wrap.show .map:hover {
	cursor: zoom-out;
}

.map img {
	max-width: none;
/*	transition: all 500ms ease-in-out;*/
	max-height: 100%;
}

.map_wrap.show .map {
	z-index: 2;
	cursor: zoom-out;
	box-shadow: 0px 3px 12px -7px rgba(0, 0, 0, .75);
}

.map_wrap.post_ani .map {
	width: auto !important;
	height: auto !important;
}

.map_wrap.post_ani .map img {
	max-height: none;
	max-width: 100%;
}

.b-lazy {
	-webkit-transition: opacity 150ms ease-in-out;
	   -moz-transition: opacity 150ms ease-in-out;
		 -o-transition: opacity 150ms ease-in-out;
			transition: opacity 150ms ease-in-out;
			 max-width: 100%;
			   opacity: 0;
}

.b-lazy.b-loaded {
			   opacity: 1;
}

.itin_info h2 {
	border-bottom: 1px solid #bacdde;
	margin-bottom: 7px;
}

.itin_info_inner {
	overflow: hidden;
	margin-left: 239px; /*274px; - this is for 250 width map image*/
}

.itin_info_inner > img {
	float: left;
	margin-right: 10px;
	position: relative;
	top: 5px;
}

.itin_info_inner > svg {
	height: auto;
	width: 100%;
}

.itin_info.avalon .itin_info_inner svg {
	max-width: 100px;
}

.itin_info.viking .itin_info_inner svg {
	max-width: 64px;
}

.itin_info.american-queen-voyages .itin_info_inner svg {
	max-width: 191px;
}

.itin_info.tauck .itin_info_inner svg {
	max-width: 100px;
}

.itin_info.amawaterways .itin_info_inner svg {
	max-width: 213px;
}

.itin_info.uniworld .itin_info_inner svg {
	max-width: 116px;
}

.itin_info.u-by-uniworld .itin_info_inner svg {
	max-width: 207px;
}

.itin_info.american-cruise-lines .itin_info_inner svg {
	max-width: 77px;
}

.itin_info.victory-cruise-lines .itin_info_inner svg {
	max-width: 95px;
}

#main_content .itin_info_inner h2 {
	margin-bottom: 0;
	padding-bottom: 7px;
}

.itin_info_inner > div {
	color: #403e3e;
	padding-bottom: 8px;
	margin: 4px 0 16px;
}

.itin_info:last-child .itin_info_inner > div {
	padding-bottom: 0;
	margin-bottom: 0;
}

.itinerary {
	padding-bottom: 15px;
}

.itinerary a.button_sm {
	display: none;
	margin-left: 5px;
}

.itinerary span {
	margin-left: 3px;
}

body.is_mobile .itinerary a.button_sm + span {
	display: none;
}

/*.itin_info_inner > div:last-child {
	border-bottom: none;
}*/

/*.itin_info_inner > div .price_length {
	font-family: "TT Norms";
	font-weight: 700;
	font-size: 1.1em;
}*/

.itin_info_inner > div .length_sub_base_title {
	line-height: 1.1em;
	padding: 6px 0 11px;
}

.itin_info_inner > div .length_sub_base_title > span:first-child,
.itin_info_inner > div .price_wrap {
	font-family: "TT Norms";
	font-weight: 700;
	font-size: 1.1em;
}

.itin_info_inner > div .direction {
	color: #6a6a6a;
	padding-bottom: 14px;
}

.itin_info_inner > div .direction > span:last-child {
	font-size: .7em;
	color: #403e3e;
	font-family: "TT Norms";
	font-weight: 700;
}

.itin_info_inner .price {
	color: #DA3B2F;
	font-size: 1.2em;
}

.button_wrap {
	padding-top: 10px;
}

.button_wrap a {
	display: inline-block;
/*	margin: 0 8px 10px;*/

}

.button_wrap a i {
	font-size: 1.3em;
	margin-right: 5px;
}

.view_promos {
	display: none;
}

#tip_popup {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	padding: 10px 18px 12px;
	text-align: left;
	width: 500px;
	display: none;
	box-sizing: border-box;
	opacity: 0;
	border-radius: 3px;
	z-index: 210;

	-moz-transition: opacity 500ms;
	-webkit-transition: opacity 500ms;
	-ms-transition: opacity 500ms;
	-o-transition: opacity 500ms;
	transition: opacity 500ms;
	
	box-shadow: 0 10px 18px -8px rgba(0, 0, 0, .75);
}

body.is_mobile #tip_popup {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#tip_popup.show {
	opacity: 1;
}

#tip_popup h4 {
	color: #000;
}

.promo_link {
	display: inline-block;
	cursor: default;
	border-radius: 3px;
	color: #333;
	font-size: 1.2em;
	padding: 2px 7px 1px;
	text-decoration: none;
	margin-bottom: 4px;
}

.pricing .promo_link {
	font-size: 1.1em;
	padding-bottom: 2px;
}

.promo_link.red {
	border: 1px solid #990404;
	background: rgb(255,206,206); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(255,206,206,1) 0%, rgba(255,239,239,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,206,206,1)), color-stop(100%,rgba(255,239,239,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(255,206,206,1) 0%,rgba(255,239,239,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(255,206,206,1) 0%,rgba(255,239,239,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(255,206,206,1) 0%,rgba(255,239,239,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(255,206,206,1) 0%,rgba(255,239,239,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffcece', endColorstr='#ffefef',GradientType=0 ); /* IE6-9 */
}

.promo_red {
	border: 1px solid #990404;
	background: #ffefef;
}

.promo_link.green {
	border: 1px solid #007622;
	background: rgb(131,224,131); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(131,224,131,1) 0%, rgba(219,252,219,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(131,224,131,1)), color-stop(100%,rgba(219,252,219,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(131,224,131,1) 0%,rgba(219,252,219,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(131,224,131,1) 0%,rgba(219,252,219,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(131,224,131,1) 0%,rgba(219,252,219,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(131,224,131,1) 0%,rgba(219,252,219,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#83e083', endColorstr='#dbfcdb',GradientType=0 ); /* IE6-9 */
}

.promo_green {
	border: 1px solid #007622;
	background: #efffef;
}

.promo_link.yellow {
	border: 1px solid #eeb700;
	background: rgb(255,235,181); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(255,235,181,1) 0%, rgba(255,251,239,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,235,181,1)), color-stop(100%,rgba(255,251,239,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(255,235,181,1) 0%,rgba(255,251,239,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(255,235,181,1) 0%,rgba(255,251,239,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(255,235,181,1) 0%,rgba(255,251,239,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(255,235,181,1) 0%,rgba(255,251,239,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffebb5', endColorstr='#fffbef',GradientType=0 ); /* IE6-9 */
}

.promo_yellow {
	border: 1px solid #eeb700;
	background: #fffbef;
}

.promo_link.blue {
	border: 1px solid #0053FF;
	background: rgb(212,226,255); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(212,226,255,1) 0%, rgba(239,244,255,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(212,226,255,1)), color-stop(100%,rgba(239,244,255,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(212,226,255,1) 0%,rgba(239,244,255,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(212,226,255,1) 0%,rgba(239,244,255,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(212,226,255,1) 0%,rgba(239,244,255,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(212,226,255,1) 0%,rgba(239,244,255,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d4e2ff', endColorstr='#eff4ff',GradientType=0 ); /* IE6-9 */
}

.promo_blue {
	border: 1px solid #0053FF;
	background: #D4E2FF;
}

.promo_link.orange {
	border: 1px solid #ff8a00;
	background: rgb(254,194,123); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(254,194,123,1) 0%, rgba(253,248,242,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(254,194,123,1)), color-stop(100%,rgba(253,248,242,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(254,194,123,1) 0%,rgba(253,248,242,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(254,194,123,1) 0%,rgba(253,248,242,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(254,194,123,1) 0%,rgba(253,248,242,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(254,194,123,1) 0%,rgba(253,248,242,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fec27b', endColorstr='#fdf8f2',GradientType=0 ); /* IE6-9 */
}

.promo_orange {
	border: 1px solid #FF8A00;
	background: #FFECD5;
}

.promo_link.purple {
	border: 1px solid #8400FF;
	background: rgb(226,204,249); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(226,204,249,1) 0%, rgba(243,232,254,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(226,204,249,1)), color-stop(100%,rgba(243,232,254,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(226,204,249,1) 0%,rgba(243,232,254,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(226,204,249,1) 0%,rgba(243,232,254,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(226,204,249,1) 0%,rgba(243,232,254,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(226,204,249,1) 0%,rgba(243,232,254,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2ccf9', endColorstr='#f3e8fe',GradientType=0 ); /* IE6-9 */
}

.promo_purple {
	border: 1px solid #8400FF;
	background: #F3E8FE;
}

.promo_link.violet {
	border: 1px solid #F600FF;
	background: rgb(253,198,255); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(253,198,255,1) 0%, rgba(254,221,255,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(253,198,255,1)), color-stop(100%,rgba(254,221,255,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(253,198,255,1) 0%,rgba(254,221,255,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(253,198,255,1) 0%,rgba(254,221,255,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(253,198,255,1) 0%,rgba(254,221,255,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(253,198,255,1) 0%,rgba(254,221,255,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdc6ff', endColorstr='#feddff',GradientType=0 ); /* IE6-9 */
}

.promo_violet {
	border: 1px solid #F600FF;
	background: #FEDDFF;
}

.promo_link.brown {
	border: 1px solid #623C00;
	background: rgb(249,220,169); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(249,220,169,1) 0%, rgba(250,239,220,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(249,220,169,1)), color-stop(100%,rgba(250,239,220,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(249,220,169,1) 0%,rgba(250,239,220,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(249,220,169,1) 0%,rgba(250,239,220,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(249,220,169,1) 0%,rgba(250,239,220,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(249,220,169,1) 0%,rgba(250,239,220,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9dca9', endColorstr='#faefdc',GradientType=0 ); /* IE6-9 */
}

.promo_brown {
	border: 1px solid #623C00;
	background: #FAEFDC;
}

.promo_link.blue2 {
	border: 1px solid #527596;
	background: rgb(170,212,255); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(170,212,255,1) 0%, rgba(227,241,255,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(170,212,255,1)), color-stop(100%,rgba(227,241,255,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(170,212,255,1) 0%,rgba(227,241,255,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(170,212,255,1) 0%,rgba(227,241,255,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(170,212,255,1) 0%,rgba(227,241,255,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(170,212,255,1) 0%,rgba(227,241,255,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aad4ff', endColorstr='#e3f1ff',GradientType=0 ); /* IE6-9 */
}

.promo_blue2 {
	border: 1px solid #527596;
	background: #E3F1FF;
}

.promo_link.yellow2 {
	border: 1px solid #979700;
	background: rgb(252,252,113); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(252,252,113,1) 0%, rgba(254,254,184,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(252,252,113,1)), color-stop(100%,rgba(254,254,184,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(252,252,113,1) 0%,rgba(254,254,184,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(252,252,113,1) 0%,rgba(254,254,184,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(252,252,113,1) 0%,rgba(254,254,184,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(252,252,113,1) 0%,rgba(254,254,184,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfc71', endColorstr='#fefeb8',GradientType=0 ); /* IE6-9 */
}

.promo_yellow2 {
	border: 1px solid #979700;
	background: #FEFEB8;
}

.promo_link.green2 {
	border: 1px solid #01a089;
	background: rgb(70,255,228); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(70,255,228,1) 0%, rgba(225,255,251,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(70,255,228,1)), color-stop(100%,rgba(225,255,251,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(70,255,228,1) 0%,rgba(225,255,251,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(70,255,228,1) 0%,rgba(225,255,251,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(70,255,228,1) 0%,rgba(225,255,251,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(70,255,228,1) 0%,rgba(225,255,251,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#46ffe4', endColorstr='#e1fffb',GradientType=0 ); /* IE6-9 */
}

.promo_green2 {
	border: 1px solid #01a089;
	background: #e1fffb;
}

.promo_link.green4 {
	border: 1px solid #aec455;
	background: rgb(217,241,119); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(217,241,119,1) 0%, rgba(242,250,213,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(217,241,119,1)), color-stop(100%,rgba(242,250,213,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(217,241,119,1) 0%,rgba(242,250,213,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(217,241,119,1) 0%,rgba(242,250,213,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(217,241,119,1) 0%,rgba(242,250,213,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(217,241,119,1) 0%,rgba(242,250,213,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d9f177', endColorstr='#f2fad5',GradientType=0 ); /* IE6-9 */
}

.promo_green4 {
	border: 1px solid #aec455;
	background: #e6f5a8;
}

.promo_link.yellow3 {
	border: 1px solid #e9e201;
	background: rgb(247,243,131); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(247,243,131,1) 0%, rgba(252,251,204,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(247,243,131,1)), color-stop(100%,rgba(252,251,204,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(247,243,131,1) 0%,rgba(252,251,204,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(247,243,131,1) 0%,rgba(252,251,204,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(247,243,131,1) 0%,rgba(252,251,204,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(247,243,131,1) 0%,rgba(252,251,204,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f383', endColorstr='#fcfbcc',GradientType=0 ); /* IE6-9 */
}

.promo_yellow3 {
	border: 1px solid #e9e201;
	background: #fcfbcc;
}

.promo_link.green3 {
	border: 1px solid #00ff8a;
	background: rgb(139,255,202); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(139,255,202,1) 0%, rgba(226,255,242,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(139,255,202,1)), color-stop(100%,rgba(226,255,242,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(139,255,202,1) 0%,rgba(226,255,242,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(139,255,202,1) 0%,rgba(226,255,242,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(139,255,202,1) 0%,rgba(226,255,242,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(139,255,202,1) 0%,rgba(226,255,242,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8bffca', endColorstr='#e2fff2',GradientType=0 ); /* IE6-9 */
}

.promo_green3 {
	border: 1px solid #00ff8a;
	background: #e2fff2;
}

.promos {
	font-family: "TT Norms";
	font-weight: 700;
	font-size: 1.1em;
}

#icon_wrap {
	margin-bottom: 18px;
}

#icon_wrap > div {
	/*margin-bottom: 7px;*/
	
	-webkit-transition: margin 500ms ease-out;
    -moz-transition: margin 500ms ease-out;
    -o-transition: margin 500ms ease-out;
    transition: margin 500ms ease-out;

	color: #424242;
}

#icon_wrap > div.open {
	margin-bottom: 25px;
}

#icon_wrap > div > div:first-child {
	position: relative;
	padding-left: 1.8em;
	font-family: "TT Norms";
	font-weight: 700;
	display: inline-block;
	cursor: pointer;
}

#icon_wrap > div > div:last-child {
	margin-left: 1.8em;
}

#icon_wrap > div .promo_badge {
	position: absolute;
	left: 0;
	top: 3px;
}

#icon_wrap > div > div:first-child > a {
	margin-left: 8px;

	border-radius: 3px;
	font-family: Oswald;
	font-size: .6em;
/*	margin-right: 8px;*/
	text-transform: uppercase;
	position: relative;
	top: -2px;
}

#icon_wrap > div > a i {
	font-size: 1.4em;
	position: relative;
	top: 3px;
	left: 3px;
	display: inline-block;
}

#icon_wrap > div > a.hide i {
	transform: rotate(180deg);
}

#icon_wrap > div > a:hover,
#icon_wrap > div > a:active {
	text-decoration: none;
}

#icon_wrap > div > a:hover span,
#icon_wrap > div > a:active span {
	text-decoration: underline;
}

#icon_wrap > div > div:last-child {
/*	box-shadow: 0px 6px 6px -7px rgba(0, 0, 0, .95);*/
	font-family: "TT Norms";
	font-weight: 400;
}

#icon_wrap > div > div:last-child > div {
	padding: 10px 16px;
	background-color: #f2f5f8;
	border: 1px solid #8a969d;
/*	border-bottom: none;*/
	border-radius: 3px;
}

#icon_wrap > div > div:last-child > div {
	display: none;
}

.promo_badge {
	width: 2em;
	height: 2em;
	line-height: 2em;
	border-radius: 2em;
	text-align: center;
	padding: 0;
	display: inline-block;
	font-size: .68em;
	position: relative;
	top: -2px;
	font-family: "TT Norms";
	font-weight: 700;
	cursor: default;
	color: #000;
}

/* Needed for iOS browsers, so taps will be detected on elements where the cursor is not a pointer */
body.is_mobile .promo_badge {
	cursor: pointer;
}

#promo_description.red,
.promo_badge.red {
	background-color: #ffcece;
}

#promo_description.green,
.promo_badge.green {
	background-color: #84e084;
}

#promo_description.yellow,
.promo_badge.yellow {
	background-color: #ffebb6;
}

#promo_description.blue,
.promo_badge.blue {
	background-color: #d4e2ff;
}

#promo_description.orange,
.promo_badge.orange {
	background-color: #fec37c;
}

#promo_description.purple,
.promo_badge.purple {
	background-color: #e2ccf9;
}

#promo_description.violet,
.promo_badge.violet {
	background-color: #fdc6ff;
}

#promo_description.brown,
.promo_badge.brown {
	background-color: #f9dcaa;
}

#promo_description.blue2,
.promo_badge.blue2 {
	background-color: #abd4ff;
}

#promo_description.yellow2,
.promo_badge.yellow2 {
	background-color: #fcfc72;
}

#promo_description.yellow3,
.promo_badge.yellow3 {
	background-color: #f7f384;
}

#promo_description.green2,
.promo_badge.green2 {
	background-color: #48ffe4;
}

#promo_description.green3,
.promo_badge.green3 {
	background-color: #8cffca;
}

#promo_description.green4,
.promo_badge.green4 {
	background-color: #d9f178;
}

#promo_description {
	position: absolute;
	padding: 10px 16px;
	border-radius: 3px;
	text-align: left;
	width: 500px;
	box-shadow: 0px 6px 6px -7px rgba(0, 0, 0, .95);
	border: 1px solid #e3e3e3;
	box-sizing: border-box;
	visibility: hidden;
	z-index: 5;
}

#promo_description > div {
	font-family: "TT Norms";
	font-weight: 700;
}

.promo {
	border-radius: 3px;
	padding: 2px 6px;
	margin-bottom: 7px;
}

#ct_promos {
	margin-bottom: 32px;
	padding-bottom: 12px;
}

#ct_promos h2 {
	background-color: #a2efff;
	padding: 3px 12px 1px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	margin-bottom: 0;
	color: #143449;
	border: 1px solid #b1ced4;
	border-bottom: none;
}

#promos_wrap {
	border: 1px solid #b1ced4;
	padding: 6px 13px;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
}

a.close {
    color: #000;
    font-size: 1.6em;
    position: absolute;
    right: -9px;
    text-decoration: none;
    top: -9px;
	z-index: 1;
	border-radius: 50%;
	box-shadow: 0px 3px 4px -1px rgba(0, 0, 0, .85);
}

a.close i {
    position: relative;
    height: .86em;
    display: block;
}

a.close i:after{
    position: absolute;
    content: '';
    background: #fff;
    z-index: -1;
    top: 1px;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

/*.sub_base_title {
	font-style: italic;
	color: #348ac1;
}*/

.itin_info_inner .specialty_sailings {
	background-color: #245f85;
	color: #fff;
	display: inline-flex;
	margin: 0 auto 10px;
	padding: 4px 10px 5px;
	line-height: 1.3em;
}

.itin_info_inner .specialty_sailings span {
	color: #ffcb11;
}

.sub_base_title {
	/* font-style: italic; */
	color: #2f7cad;
	font-size: .7em;
	font-family: "TT Norms";
	font-weight: 700;
	text-transform: uppercase;
	/*white-space: nowrap;*/
	/*word-break: break-all;*/
}

/* ===== Media Queries ===== */

@media only screen and (min-width: 901px) {
	#main_content a#footer_show_filters {
		display: none !important;
	}
}

@media only screen and (max-width: 900px) {
	#results_wrap {
		
	}
	
	#results_wrap > div {
		display: block;
	}
	
	#results_wrap > #filters {
		display: none;
	}
	
	#main_content.show_filters #top_wrap + .show_filters_button {
		display: none;
	}
	
	#main_content.show_filters #results_wrap {
		transform: translateX(290px);
	}
	
	#main_content.show_filters #results_wrap > #filters {
		display: block;
		float: left;
		width: 290px;
		margin-left: -290px;
	}
	
	#search_results button.button_lg.show_filters_button {
		display: inline;
	}
}

@media only screen and (max-width: 720px) {
	#main_wrap #sort ul {
		text-align: left;
	}
	
	#main_wrap #sort li {
		width: 45%;
	}
}

@media only screen and (max-width: 700px) {
	.itin_info > img:nth-of-type(1n) {
		float: none;
		max-width: 40%;
		margin: 0 10px 10px;
	}
	
/*	.itin_info_inner > div .price_length .pipe {
		display: inline;
	}
	
	.itin_info_inner > div .price_length > span {
		display: inline;
	}*/
	
	.map_wrap,
	.map_wrap:before,
	.map {
		cursor: default !important;
	}
	
	.map_wrap:before {
		display: none;
	}
	
	.map_wrap {
		width: auto;
		max-width: 300px;
	}
	
	.map {
		position: static;
		left: auto;
		top: auto;
		width: auto;
		height: auto;
		padding-bottom: 0 !important;
	}
	
	.map img {
		max-width: 100%;
		max-height: none;
	}
	
	.map_wrap.no_map .map:after {
		position: static;
		top: auto;
		left: auto;
		transform: none;
		padding-bottom: 2px;
	}
	
	.itin_info_inner {
		margin: 15px 0 0 0;
	}
	
	.itinerary span {
		display: none;
	}
	
	.itinerary a.button_sm {
		display: inline-block;
	}
}

@media only screen and (max-width: 625px) {
	#main_content.show_filters #results_wrap {
		transform: translateX(50%);
	}
	
	#main_content.show_filters #results_wrap > #filters {
		display: block;
		float: left;
		width: 50%;
		margin-left: -50%;
	}
}

@media only screen and (max-width: 560px) {
	.itin_info_inner > img {
		float: none;
		margin-right: 0;
		margin-bottom: 5px;
	}
}

@media only screen and (max-width: 500px) {
	#dd-select-wrap {
		flex-direction: column;
	}
}

@media only screen and (max-width: 450px) {
	.header {
		border-top-right-radius: 0;
	}
	
/*	.header a {
		float: none;
		position: absolute;
		right: 0;
		bottom: 100%;
		background: #243485;
		padding: 3px 10px;
		border-top-right-radius: 3px;
		border-top-left-radius: 3px;
	}
	
	.header a span {
		display: none;
	}*/
	
	#main_wrap #sort li {
		width: 100%;
		margin-right: 0;
	}
}