/* =============================================================================
   TABLE OF CONTENTS
   =============================================================================
   1.  VARIABLES / REFERENCE
   2.  RESET
   3.  BASE & GLOBALS
   4.  HEADER
         - Alert bar
         - Header top / logo / #headerImg2
         - Nav toggle (mobile)
         - Main nav & scroll-fixed behavior
         - Nav links & dropdowns
   5.  CONTENT - LAYOUT
         - .content wrapper
         - .main column
         - .sidebar column
   6.  CONTENT - TYPOGRAPHY
         - Headings
         - Body text, lists, blockquote, hr
   7.  CONTENT - COMPONENTS
         - Floats & captions
         - Intro block
         - Forms
         - Grid
         - Categories
         - Site map
         - News / pagination / prev-next
         - FAQs + data-show-more + trigger-plus
         - Photo gallery
         - Video embeds
         - Search box (base)
         - Payment plan block
   8.  SIDEBAR COMPONENTS
         - Sidebar nav
         - Ad block
         - Ad-lineup block
         - Box block
         - Signup block
   9.  HOME PAGE
         - Homeshow slideshow
         - Special block
         - Lineup block
         - CTA block
         - Director message
         - Activities slideshow
         - Sponsor bar
         - Blue bar
         - Itinerary
         - Newsletter
         - Gallery
   10. FOOTER
         - Footer top
         - Footer bottom
   11. SOCIAL ICONS
         - Base social list
         - Homepage social variant
   12. UTILITIES / MISC
         - Countdown timer
         - Honeypot field
         - Helper classes
   13. MEDIA QUERIES  ← all breakpoints consolidated here
         - max-width: 480px
         - max-width: 320px
         - max-width: 599px
         - min-width: 280px
         - min-width: 400px
         - min-width: 450px
         - min-width: 550px
         - min-width: 600px
         - min-width: 650px
         - min-width: 765px
         - min-width: 800px
         - min-width: 915px
         - min-width: 980px
   ============================================================================= */


/* =============================================================================
   1. VARIABLES / REFERENCE
   ============================================================================= */
/*
   COLORS
   pink:  #ba1946
   blue:  #0097be

   FONTS
   font-family: 'Anton', sans-serif;
   font-family: 'Open Sans', sans-serif;
*/


/* =============================================================================
   2. RESET
   ============================================================================= */
article, aside, figure, footer, header, main, nav, section { display: block; }
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, font,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, input, textarea, legend, button,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, nav, section {
	margin: 0; padding: 0; border: 0; outline: 0;
	font-size: 100%; vertical-align: baseline; background: transparent;
}
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }
button::-moz-focus-inner { border: 0; padding: 0; }
img, iframe { display: block; }
:focus { outline: 0; }
ins { text-decoration: none; }
del { text-decoration: line-through; }
table {
	border-collapse: collapse;
	border-spacing: 0;
	display: block;
	max-width: -moz-fit-content;
	max-width: fit-content;
	margin: 0 auto;
	overflow-x: auto;
	white-space: nowrap;
}
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

/* CLEARING — IE-mac hack preserved intentionally */
.cleared:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.cleared { display: inline-block; }
/* Hides from IE-mac \*/
* html .cleared { height: 1%; }
.cleared { display: block; }
/* End hide from IE-mac */


/* =============================================================================
   3. BASE & GLOBALS
   ============================================================================= */
body {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #292929;
	background: #292929;
	min-width: 320px;
}
h1, h2, h3, h4, h5, h6, strong {
	font-weight: 600;
}
a {
	text-decoration: none;
	color: #a62122;
}
a:hover {
	color: #185b80;
}
img {
	max-width: 100%;
	height: auto;
}
.wrapper {
	max-width: 960px;
	padding: 0 10px;
	margin: 0 auto;
	position: relative;
}

/* Button */
.button {
	display: block;
	margin: 0 auto;
	width: 180px;
	text-align: center;
	color: #e9e8e9;
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 18px;
	text-transform: uppercase;
	text-shadow: none;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	box-shadow: none;
	cursor: pointer;
	background: #8e0f2d;
}
.button span {
	display: block;
	padding: 15px 30px;
	cursor: pointer;
}
.button:hover {
	color: #fff;
	background: #991131;
}

/* Utility classes */
.mobile-hide { display: none; }
.uppercase { text-transform: uppercase !important; }
.smaller { font-size: 14px !important; }
.hide { display: none; }

/* Parsley validation */
.parsley-errors-list {
	display: block;
	font-size: 11px !important;
	color: #c00 !important;
	margin: 0 !important;
}
.parsley-errors-list li {
	padding-left: 0 !important;
	background: none !important;
}
.parsley-error { border: 1px solid #c00 !important; }
li.parsley-error { border: none !important; }


/* =============================================================================
   4. HEADER
   ============================================================================= */

/* --- Alert bar --- */
.alert-bar { background: #3a0e32; }
.alert-bar p {
	font-weight: 700;
	font-size: 14px;
	color: #fff;
	padding: 15px 60px 15px 30px;
	background: url(/assets/images/alert-large.png) 0 15px no-repeat;
}
.alert-bar a { color: #f47d31; }
.alert-bar a:hover { color: #376185; }

/* --- Header top / logo --- */
header {
	position: relative;
	z-index: 999;
}
header h1 {
	position: absolute;
	top: -9999px;
	left: -9999px;
}
header .header-top {
	background-color: #4a7d77;
	text-align: center;
	background-position: center center;
}
header .logo {
	display: block;
	color: #fff;
	padding: 10px 0;
}
header .logo::before {
	width: 100%;
	height: 100%;
}
header .logo p { font-size: 11px; }
header .logo p.title {
	font-size: 16px;
	font-weight: 400;
	text-transform: uppercase;
	color: #fff;
	text-indent: -9999px;
}
header .logo p.port {
	font-size: 13px;
	font-weight: 400;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: normal;
}
header .logo p.date {
	font-weight: 400;
	font-family: 'Anton';
	font-size: 20px;
}
header .account a { color: #fff; }

/* --- Header image --- */
#headerImg2 {
	max-width: 85%;
	margin: -24px auto -54px auto;
}

/* --- Book block in header --- */
header .book p,
header .book a.call { color: #fff; }
header .book p .button {
	margin: 0 auto 9px auto;
	width: 156px;
	text-align: center;
}
header .book p .button span {
	padding: 15px 15px;
	font-size: 14px;
	letter-spacing: normal;
}
header .book p.last {
	font-size: 22px;
	margin-bottom: 5px;
}

/* --- Nav toggle (mobile hamburger) --- */
header .nav-toggle {
	display: block;
	height: 38px;
	background-image: url(/assets/images/nav-toggle.png), url(/assets/images/nav.png);
	background-repeat: no-repeat, repeat;
	width: calc(100% + 20px);
	background-position: calc(100% - 5px) center, center center;
	background-size: 24px 24px, auto;
	padding: 10px;
	margin: 10px -10px 0 -10px;
	background-color: #292929;
}

/* --- Main nav --- */
header #main-nav {
	display: none;
	background: #bcbd4c;
	box-shadow: 0px 3px 5px -2px #333;
	text-align: left;
}

/* Scroll-fixed nav behavior */
.fn_scrollCheck--bottom .nav-toggle,
.fn_scrollCheck--scrolling .nav-toggle,
.fn_scrollCheck--bottom #main-nav,
.fn_scrollCheck--scrolling #main-nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
	width: auto;
}
.fn_scrollCheck--bottom .nav-toggle,
.fn_scrollCheck--scrolling .nav-toggle {
	top: 0;
	box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.5);
}
.fn_scrollCheck--bottom #main-nav,
.fn_scrollCheck--scrolling #main-nav {
	top: 38px;
	bottom: 0px;
	height: calc(100vh - 38px);
	overflow: scroll;
}

/* --- Nav links & dropdowns --- */
header nav .wrapper { padding: 0; }
header nav a { padding: 16px; }

header nav .wrapper > ul { font-size: 0; }
header nav .wrapper > ul > li > a { font-size: 13px; }

header nav .wrapper > ul > li { border-bottom: 1px solid #292929; }
header nav .wrapper > ul > li > a {
	display: block;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: #203d4e;
	padding-left: 8px;
}
header nav .wrapper > ul > li:hover,
header nav .wrapper > ul > li.over,
header nav .wrapper > ul > li.active {
    background: #203d4e;
}
header nav .wrapper > ul > li > a:hover,
header nav .wrapper > ul > li.over > a,
header nav .wrapper > ul > li.active > a {
    background: transparent;
    color: #fff;
}
header nav .wrapper > ul > li.inverted-nav {
    background: #203d4e;
		
}
header nav .wrapper > ul > li.inverted-nav > a {
    background: transparent;
		color: #fff;
}

header nav .wrapper > ul ul {
	display: none;
	border-top: 1px solid #292929;
	background: url(/assets/images/subnav.png);
}
header nav .wrapper > ul .over ul { display: block; }
header nav .wrapper > ul .first ul { display: none; }
header nav .wrapper > ul ul li a {
	display: block;
	font-size: 13px;
	text-transform: uppercase;
	color: #fff;
}
header nav .wrapper > ul ul ul li a { padding-left: 16px; }
header nav .wrapper > ul ul li a:hover {
	color: #fff;
	background: #203d4e;
}



/* =============================================================================
   5. CONTENT - LAYOUT
   ============================================================================= */
.content {
	padding: 0 0 1px;
	background: #efefef;
	background: url(/assets/images/bg-swirls.png) repeat;
}

/* Main column — mobile: full-width card */
.content .main,
.content .news-article article {
	padding: 10px 10px 1px;
	-webkit-border-bottom-right-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-radius-bottomright: 5px;
	-moz-border-radius-bottomleft: 5px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
	margin: 0 -10px 35px;
	background: #fff;
}
.content .news-article {
	padding: 0;
	margin: 0;
	background: none;
}
.content .main.overflow { overflow: hidden; }

.main .slideshow { margin: 0 0 20px; }
.main .slideshow .flexslider,
.main #photo-slides {
	max-width: 560px;
	box-shadow: 1px 1px 2px #acacac;
}
ul.pull-left li { background: none; }

/* Iframe / video embeds */
.main .fullContainer,
.videoPlayer {
	position: relative;
	margin-top: 0;
	margin-bottom: 1.5em;
}
.main .fullContainer { padding-bottom: 200%; }
.main .videoPlayer iframe {
	position: absolute;
	height: 100%;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100%;
}
iframe { width: 100%; }

.video-container { position: relative; }
.video-container iframe,
.video-container object,
.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Home activities wrapper override */
.home .activities .wrapper { padding: 30px 10px 10px 10px; }


/* =============================================================================
   6. CONTENT - TYPOGRAPHY
   ============================================================================= */

/* Headings */
.content h1, .home h2 {
	font-family: 'Anton', Arial, Helvetica, sans-serif;
	font-size: 33px;
	font-style: normal;
	font-weight: 400;
	line-height: 33px;
	color: #3a0e32;
	padding: 7px 0 8px;
	border-top: 1px dashed #d2d6d8;
	border-bottom: 1px dashed #d2d6d8;
	margin: 0 0 20px;
}
.content h2 {
	font-size: 23px;
	line-height: 28px;
	margin: 0 0 20px;
}
.content h2.inline { font-weight: 300; }
.content h3, .content h4, .content h5, .content h6 {
	font-size: 20px;
	line-height: 20px;
	color: #203d4e;
	margin: 0 0 20px;
}
.content .main h3 { font-weight: 600; }
.content h4 { font-size: 18px; }
.content h5 { font-size: 16px; }
.content h6 { font-size: 14px; }

.content h2 a, .content h3 a,
.content h4 a, .content h5 a, .content h6 a { color: #0d303d; }
.content h2 a:hover, .content h3 a:hover,
.content h4 a:hover, .content h5 a:hover, .content h6 a:hover { color: #0097be; }

/* Body text & lists */
.content p, .content ul, .content ol,
.content table, .content .embed_media {
	line-height: 20px;
	margin: 0 0 20px;
}
.content p strong { font-weight: 700; }
.content li { margin: 0 0 5px; }
.main ul, .main ol { display: table; }

.content ul li {
	padding: 0 0 0 36px;
	background: url(/assets/images/bullet.png) 0 5px no-repeat;
}
.content ul.notes li { background: url(/assets/images/bullet-notes.png) 0 3px no-repeat; }
.content ul.emphasis li { font-weight: 700; font-style: normal; }
.content ol { list-style-type: decimal; padding: 0 0 0 25px; }

/* Tables */
.content table {
	width: 100% !important;
	border: 1px solid #e8eced;
}
.content table th,
.content table td { font-size: 14px; text-align: left; padding: 5px 10px; }
.content table th {
	line-height: 14px;
	text-transform: uppercase;
	color: #fff;
	padding: 10px;
	background: #0d303d;
}
.content table .odd td { background: #efefef; }
.content table .strike th,
.content table .strike td { text-decoration: line-through; color: #bbb; }

/* HR & blockquote */
.content hr {
	clear: both;
	height: 1px;
	color: #e8eced;
	border: none;
	margin: 0 0 20px;
	background-color: #e8eced;
}
.content blockquote {
	font-family: 'Anton', Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-style: italic;
	font-weight: 400;
	line-height: 26px;
	color: #bbb;
	padding: 0 40px;
}


/* =============================================================================
   7. CONTENT - COMPONENTS
   ============================================================================= */

/* --- Floats & captions --- */
.content p.float-right,
.content p.float-left {
	display: inline-block;
	max-width: 200px;
	padding: 4px;
	background: #fff;
	box-shadow: 1px 1px 2px #acacac;
	position: relative;
}
.content p.captioned {
	margin-bottom: 40px;
	padding: 0;
	background: none;
	box-shadow: none;
}
.content p.captioned img {
	padding: 4px;
	background: #fff;
	box-shadow: 1px 1px 2px #acacac;
}
.content p.captioned small {
	display: block;
	font-size: 11px;
	font-style: italic;
	line-height: 14px;
	padding: 3px 0 0;
	position: absolute;
}

/* --- Intro block --- */
.content .intro {
	border-bottom: 1px solid #e8eced;
	margin: 0 0 20px;
}
.content .intro h2 { margin: 0 0 20px; }
.content .intro img { margin: 0 0 20px; }
.content .intro p { font-size: 18px; line-height: 24px; }

/* --- Forms --- */
.content form label {
	display: inline-block;
	font-size: 13px;
	line-height: 25px;
	text-transform: uppercase;
}
.content form input.text,
.content form textarea {
	display: block;
	width: 100%;
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #292929;
	padding: 2px;
	border: 1px solid #d0d0d0;
	background: #ebebeb;
	box-shadow: 2px 2px 2px #d0d0d0 inset;
}
.content form input.text-small { width: 75px; }
.content form input.radio { display: inline; line-height: normal; cursor: pointer; width: 20px; }
.content form input.radio + strong { margin-right: 40px; }
.content form textarea { height: 150px; resize: none; }
.content form small { font-size: 12px; }
.content form .lowercase { text-transform: none; }

.content form ul.checks.nomargin { margin: 0 !important; }
.content form ul.checks li {
	padding: 0 0 0 22px;
	background: none;
	position: relative;
}
.content form ul.checks li input { position: absolute; top: 4px; left: 0; }
.content form ul.checks li label { display: inline; line-height: normal; cursor: pointer; }
.content form ul.checks li em { text-transform: none; }

.content form #dob_month_chosen { min-width: 120px; }
.content form #preferred_contact { width: 178px; }
.content form #host_agency_country_chosen { min-width: 205px; }

/* --- Grid --- */
.content .grid { margin: 0 -25px 0 0; }
.content .grid .item {
	float: left;
	width: 50%;
	text-align: center;
	padding: 0 25px 0 0;
	margin: 0 0 25px;
}
.content .grid .item a { display: block; }
.content .grid .item a img {
	padding: 4px;
	margin: 0 0 10px;
	background: #fff;
	box-shadow: 1px 1px 2px #acacac;
}
.content .grid .item a h3 { font-size: 14px; margin: 0; }
.content .grid .item a:hover h3 { color: #0097be; }
.content .grid .row { clear: both; display: none; }
.content .grid .row2 { display: block; }

/* --- Categories --- */
.content .category-header {
	padding: 0 0 6px;
	border-bottom: 1px solid #e8eced;
	margin: 0 0 20px;
}
.content .category-header h3 { margin: 0; }
.content .category-header p { font-size: 14px; text-transform: uppercase; margin: 0; }

/* --- Site map --- */
.content ul.site-map > li {
	font-weight: 700;
	text-transform: uppercase;
	padding: 0;
	margin: 0 0 20px;
	background: none;
}
.content ul.site-map ul li { font-weight: 400; text-transform: none; }
.content ul.site-map ul { padding: 5px 0 0; margin: 0; }
.content ul.site-map ul ul { list-style-type: disc; padding-left: 25px; }
.content ul.site-map ul ul li { padding: 0; background: none; }

/* --- News --- */
.news h2.alert {
	padding: 0 0 0 20px;
	background: url(/assets/images/alert.png) 0 8px no-repeat;
}
.news h3.alert {
	padding: 0 0 0 20px;
	background: url(/assets/images/alert.png) 0 3px no-repeat;
}
.content p.date { font-size: 10px; text-transform: uppercase; margin: 0; }

/* Pagination */
.content p.pagination { text-align: center; }
.content p.pagination a,
.content p.pagination strong { padding: 0 5px; }
.content p.pagination .prev,
.content p.pagination .next { font-weight: 400; font-style: normal; }

/* Prev/next nav */
.prev-next { text-align: center; }
.prev-next .first { font-size: 31px; line-height: 31px; color: #0d303d; margin: 0 0 10px; }
.prev-next .first a {
	font-family: 'Anton', Arial, Helvetica, sans-serif;
	font-weight: 400;
	color: #0d303d;
}
.prev-next .first a:hover { color: #0097be; }
.prev-next .last { font-weight: 700; text-transform: uppercase; }

/* --- FAQs --- */
.faqs h2 { font-size: 18px; margin-bottom: 12px; }
.faqs .faqs--category-title {
	background: rgb(240, 240, 240);
	padding: 0.25em 0.25em 0.25em 1em;
	cursor: pointer;
}
.faqs .faqs--category-title svg.trigger-plus { display: inline-block; float: right; }
.faqs .faqs--question { font-size: 1rem; cursor: pointer; }
.faqs .faqs--question svg.trigger-plus { display: inline-block; float: left; }

/* data-show-more */
[data-show-more] [data-show-more--show] { transition: all ease .5s; cursor: pointer; }
[data-show-more] svg.trigger-plus { width: 1.5em; height: 1.5em; margin-top: 0.1em; margin-left: -1.5em; }
[data-show-more] [data-show-more--more] { margin-left: calc(13px + 1rem); padding: 1rem; }
[data-show-more] [data-show-more--close] { cursor: pointer; }
/* NOTE: the following query has a syntax error in the original (missing parens around value).
   Preserved as-is: `@media screen and min-width(800px)` — this rule never fires. */
@media screen and min-width(800px) {
	[data-show-more] [data-show-more--close] { display: none !important; }
}

/* Plus sign expand/collapse trigger */
.trigger-plus {
	fill: rgb(24, 24, 24);
	transition: transform ease 0.5s;
	transform: scale(0.5, 0.5);
	transform-origin: 50% 50%;
	will-change: transform;
}
.trigger-plus .vertical {
	transition: transform ease 0.5s;
	will-change: transform;
	transform-origin: 50% 50%;
}
.trigger-plus:hover,
*:hover > .trigger-plus { transform: scale(0.75, 0.75); }
.open > * > .trigger-plus { transform: scale(0.5, 0.5); }
.open > * > .trigger-plus .vertical { transform: scaleY(0); }
.open > * > .trigger-plus:hover { transform: rotate(90deg) scale(0.5, 0.5); }

/* --- Photo gallery --- */
.content .photo-gallery {
	padding: 0 0 5px;
	border-bottom: 1px solid #e8eced;
	margin: 0 0 20px;
}
.content p.download { text-align: right; margin: 0 0 15px; }
.content #photo-slides { margin: 0 0 15px; }
.content #photo-slides .slide { position: relative; }
.content #photo-slides .slide .title {
	display: block;
	width: 100%;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	color: #fff;
	padding: 4px;
	background: url(/assets/images/subnav.png);
	position: absolute;
	bottom: 0;
	left: 0;
}
.content #photo-thumbs {
	max-width: 560px;
	padding: 0 16px;
	margin: 0 0 15px;
}
.content #photo-thumbs ul { margin: 0; }
.content #photo-thumbs ul li {
	padding: 0;
	margin: 0;
	background: none;
	cursor: pointer;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.content #photo-thumbs ul li span { display: block; padding: 0 15px 5px 0; }
.content #photo-thumbs img { margin: 0; }
.content #photo-thumbs .flex-active-slide img { background: #0097be; }
.content #photo-thumbs .flex-direction-nav a { background: url(/assets/images/slideshow2.png) no-repeat; }
.content #photo-thumbs .flex-direction-nav .flex-prev { background-position: 0 50%; }
.content #photo-thumbs .flex-direction-nav .flex-next { background-position: -14px 50%; }
.content #photo-thumbs .flex-direction-nav .flex-prev:hover { background-position: -28px 50%; }
.content #photo-thumbs .flex-direction-nav .flex-next:hover { background-position: -42px 50%; }

/* --- Search box (base styles — see also 765px breakpoint) --- */
.search-results-container:empty { display: none; }
.search-results-container { padding: 2rem; }
nav .search-results-container { margin: -1rem -2rem 0rem -2rem; border-bottom: 1px solid rgba(125,125,125,0.25); }
.search-results-container .stats { font-size: 0.85em; text-align: right; color: #b4b4b4; font-style: italic; }
.content .search-results-container .stats { font-size: 1.25em; font-style: normal; color: #262626; text-align: left; }
.search-results-container hr { border-color: rgba(125,125,125,0.25); border-bottom: none; }
hr.ajax-search-rule { margin: 1em -2rem; }
.search-results-container article {
	transition: all 0.3s ease-in;
	margin-left: -0.5em;
	margin-right: -0.5em;
	margin-bottom: 1em;
	padding: 0.5em;
}
.search-results-container article * { color: #292929; }
.search-results-container article:not(:last-of-type) {
	margin-bottom: 1em;
	border-bottom: 1px solid rgba(125,125,125,0.25);
	padding-bottom: 1em;
}
.search-results-container article:hover { background-color: rgba(0, 0, 0, 0.05); border-radius: 5px; cursor: pointer; }
.search-results-container article:hover * { color: #ba1946; }
.search-results-container article header h3 { font-size: 1.125em; margin-bottom: 0; }
.search-results-container article header h3 a { padding: 0; }
.search-results-container article header cite { color: #ba1946; font-size: 0.9em; display: block; text-align: right; }
.search-results-container .search-result-button { display: block; margin-right: 0; margin-left: auto; text-align: right; font-size: 0.9em; }

/* --- Payment plan block --- */
.payment-plan-block {
	text-align: center;
	padding-bottom: 1.2em;
	background: url(/assets/images/bg-header.png) 0 0 repeat;
}
.payment-plan-block .wrapper { z-index: 400; }
.payment-plan-block a.button { text-transform: none !important; }
.payment-plan-block p { margin-bottom: 10px; }
.payment-plan-top-bar {
	height: 12px;
	background-color: rgb(188, 189, 76);
	box-shadow: 0 2px 2px #666;
	margin-bottom: 2em;
}


/* =============================================================================
   8. SIDEBAR COMPONENTS
   ============================================================================= */

/* --- Sidebar nav --- */
.sidebar nav {
	padding: 2px 14px 30px 14px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	margin: 0 0 35px;
	background: #203d4e;
	box-shadow: 1px 1px 2px #acacac;
}
.sidebar nav .bg-sidebar {
	background: url(/assets/images/sidebar-nav.png) bottom center no-repeat;
	height: 90px;
	width: 257px;
	z-index: 9999;
}
.sidebar nav ul { margin: 0; }
.sidebar nav ul li {
	padding: 0;
	border-bottom: 1px solid #acacac;
	margin: 0;
	background: none;
}
.sidebar nav ul li.active > a { font-weight: 700; color: #fff; }
.sidebar nav ul li.last { border: none; }
.sidebar nav ul li a {
	display: block;
	font-size: 14px;
	text-transform: uppercase;
	color: #e3e0b8;
	padding: 7px 0;
}
.sidebar nav ul li a:hover { color: #0097be; }
.sidebar nav ul ul { display: none; padding: 0 0 7px 35px; margin: -7px 0 0; }
.sidebar nav ul .active > ul,
.sidebar nav ul .parent-active > ul { display: block; }
.sidebar nav ul ul li { border: none; }
.sidebar nav ul ul li a { text-transform: none; padding: 0; }
.sidebar nav ul ul ul { padding: 0 0 0 35px; margin: 0; }

/* --- Ad block --- */
.sidebar .ad { margin: 0 0 35px; }
.sidebar .ad a {
	display: block;
	color: #fff;
	text-align: center;
	padding: 15px 20px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	background: #6c0b3b;
}
.sidebar .ad a h2 {
	font-family: 'Anton', Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	margin: 0 0 15px;
}
.sidebar .ad a h2 strong {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	color: #f2a71e;
	display: block;
	font-size: 76px;
	font-weight: 700;
	line-height: 71px;
	padding: 0 0 4px;
	border-top: 1px dashed #985576;
	border-bottom: 1px dashed #985576;
	margin: 6px 0 0;
}
.sidebar .ad a ul { line-height: 24px; margin: 0; }
.sidebar .ad a ul li { font-family: 'Open Sans', Arial, Helvetica, sans-serif; font-weight: 300; padding: 0; background: none; }

/* --- Ad-lineup block --- */
.sidebar .ad-lineup {
	padding: 2px 14px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	margin: 0 0 35px;
	background: #203d4e;
}
.sidebar .ad-lineup h2 {
	font-size: 35px;
	font-weight: 300;
	line-height: 35px;
	text-transform: uppercase;
	color: #fff;
	padding: 8px 0 11px;
	border-bottom: 1px dashed #185b80;
	margin: 0 0 11px;
}
.sidebar .ad-lineup h2 strong { color: #f2a71e; }
.sidebar .ad-lineup ul { margin: 0 0 11px; }
.sidebar .ad-lineup ul li {
	font-size: 12px;
	line-height: 16px;
	color: #f2a71e;
	padding: 0;
	margin: 0 0 12px;
	background: none;
}
.sidebar .ad-lineup ul li strong {
	font-size: 16px;
	font-weight: 300;
	text-transform: uppercase;
	color: #fff;
}

/* --- Box block --- */
.sidebar .box { padding: 34px 0 0; margin: 0 0 35px; }
.sidebar .box .border { padding: 0 0 20px; }
.sidebar .box h2 {
	background: url(/assets/images/sidebar-promise.png) top left no-repeat;
	padding: 12px 0 0 90px;
	font-family: 'Anton', Arial, Helvetica, sans-serif;
	font-size: 23px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
	color: #3a0e32;
	margin: 0 0 14px;
}

/* --- Signup block --- */
.sidebar .signup a {
	display: block;
	color: #fff;
	text-align: center;
	padding: 15px 20px;
	background: #0d303d;
}
.sidebar .signup a span {
	font-family: 'Anton', Arial, Helvetica, sans-serif;
	font-size: 21px;
	font-weight: 400;
	color: #e3e0b8;
	line-height: 3;
	text-align: center;
	text-shadow: 0px 1px 2px #000;
	padding: 0;
	text-transform: none;
}
.merch-promo{
	width:223px;
	height:235px;
	text-align:center;
	margin: 1em auto;
	background-image: url(/assets/images/STC-Merch-Button-Vertical.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.merch-promo 	a{
		display:block;
		width:223px;
		height:235px;
		text-indent: -9999em;
	}

/* =============================================================================
   9. HOME PAGE
   ============================================================================= */

/* --- Homeshow slideshow --- */
.home .homeshow {
	background-color: #ffe6bd;
	width: 100%;
}
.home .homeshow .flex-control-nav { display: none; }
.home .homeshow .wrapper { padding: 0; }
.home .homeshow .text { font-size: 15px; padding: 10px 24px 21px; }
.home .homeshow .text p { font-size: 12px; line-height: 16px; margin: 0 0 10px; }
.home .homeshow .caption { display: none; }
.home .homeshow li { background: none; }

/* --- Special block --- */
.home .special {
	padding: 25px 0;
	margin: 20px 0 50px;
	background: #c93c36;
}
.home .special a { display: block; color: #fff; text-decoration: none; }
.home .special h2,
.home .special h1 {
	line-height: normal;
	text-align: center;
	color: #fff;
	padding: 0;
	border: none;
	margin: 0;
	cursor: pointer;
}
.home .special h2 {
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 25px;
	font-weight: 600;
}
.home .special h1 { font-size: 40px; line-height: 40px; }

/* --- Lineup block --- */
.home .lineup {
	text-align: center;
	box-shadow: 0 2px 2px #555;
	position: relative;
	z-index: 12;
}
.home .lineup .border {
	padding: 25px 0;
	background-color: #f6a200;
	box-shadow: 0 4px 2px #1b1b1b inset;
}
.home .lineup h2 {
	width: 100%;
	display: block;
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 1.5em;
	font-style: normal;
	font-weight: 700;
	line-height: 100%;
	text-transform: uppercase;
	padding: 5px 0;
	border: none;
	margin: 0;
	background: #3a0e32;
}
.home .lineup h2 span { color: #fff; }
.home .lineup ul {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #fff;
	margin: 0;
}
.home .lineup ul li { display: inline; padding: 0; background: none; color: #290f0e; }
.home .lineup ul li.last { display: block; position: relative; }
.home .lineup ul li.sirius strong::before {
	background: url(/assets/images/sirius.png) center top no-repeat;
	background-size: cover;
	height: 75px;
	width: 520px;
	content: "";
	display: block;
	margin: auto;
}
.home .lineup ul li#main-nav-lineup590 { display: none; }
.home .lineup ul li:after { content: "  •  "; color: #290f0e; font-size: 30px; }
.home .lineup ul li.last:after { content: ""; }
.home .lineup ul strong {
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
	color: #290f0e;
	font-family: 'Anton', Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	white-space: pre-line;
}

/* --- CTA block --- */
.home .cta {
	text-align: center;
	box-shadow: 0 2px 2px #555;
	position: relative;
	z-index: 10;
}
.home .cta .border {
	padding: 23px 0 15px;
	background-color: #FEd467;
	background-image: url(/assets/images/STC27/STC27-readytobook.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	height: 167px;
}
.home .cta h2 {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	color: #203d4e;
	padding: 0;
	border: none;
}
.home .cta .button { font-size: 30px; line-height: 30px; }
.home .cta .button span { font-size: 18px; padding: 15px 30px; }

/* --- Director message --- */
.home .director-message {
	padding: 21px 0 30px;
	background: #5b0719;
	box-shadow: 0 2px 2px #888;
	position: relative;
	z-index: 9;
}
.home .director-message .wrapper { max-width: 820px; }
.home .director-message h2 {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
	color: #fff;
	padding: 0 24px 0 68px;
	border: none;
	margin: 0 0 3px;
}
.home .director-message p.date {
	font-size: 14px;
	text-transform: none;
	padding: 0 24px 0 68px;
	margin: 0 0 5px;
	color: #fff;
}
.home .director-message .bubble {
	padding: 18px 24px 1px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 2px 2px #888;
	position: relative;
}
.home .director-message .bubble p { font-size: 18px; line-height: 24px; }
.home .director-message .bubble span {
	display: block;
	width: 38px;
	height: 25px;
	background: url(/assets/images/bubble.png) no-repeat;
	position: absolute;
	top: -25px;
	left: 24px;
}

/* --- Activities slideshow --- */
.home .activities {
	overflow: hidden;
	background: url(/assets/images/bg-gallery.png) repeat;
	box-shadow: 0 2px 2px #555;
	position: relative;
	z-index: 8;
}
.home #activities-slides,
.home #activities-thumbs img {
	padding: 4px;
	margin: 0 0 15px;
	background: #fff;
	box-shadow: 1px 1px 2px #acacac;
}
.home #activities-slides .slide { position: relative; }
.home #activities-slides .slide .title {
	display: block;
	width: 100%;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	color: #fff;
	padding: 4px;
	background: #203d4e;
	position: absolute;
	bottom: 0;
	left: 0;
}
.home #activities-slides .slide .play {
	display: block;
	width: 100%;
	height: 100%;
	background: url(/assets/images/play.png) 50% 50% no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
.home #activities-thumbs { padding: 0 16px; margin: 0 0 15px; }
.home #activities-thumbs ul { margin: 0; }
.home #activities-thumbs ul li {
	padding: 0; margin: 0; background: none; cursor: pointer;
	-webkit-touch-callout: none; -webkit-user-select: none;
	-khtml-user-select: none; -moz-user-select: none;
	-ms-user-select: none; user-select: none;
}
.home #activities-thumbs ul li span { display: block; padding: 0 15px 5px 0; }
.home #activities-thumbs img { margin: 0; }
.home #activities-thumbs .flex-active-slide img { background: #203d4e; }
.home #activities-thumbs .flex-direction-nav a { background: url(/assets/images/slideshow2.png) no-repeat; }
.home #activities-thumbs .flex-direction-nav .flex-prev { background-position: 0 50%; }
.home #activities-thumbs .flex-direction-nav .flex-next { background-position: -14px 50%; }
.home #activities-thumbs .flex-direction-nav .flex-prev:hover { background-position: -28px 50%; }
.home #activities-thumbs .flex-direction-nav .flex-next:hover { background-position: -42px 50%; }
.home .activities .more a { font-size: 14px; font-weight: 700; text-transform: uppercase; color: #0d303d; }
.home .activities .more a:hover { color: #0097be; }
.home .activities .more-video a {
	padding: 0 0 0 25px;
	background: url(/assets/images/video.png) 0 50% no-repeat;
}

/* --- Sponsor bar --- */
.home .sponsor {
	padding: 20px 0;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 2px #555;
	position: relative;
	z-index: 7;
}
.home .sponsor h2 {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-style: italic;
	font-weight: 700;
	line-height: 26px;
	color: #003633;
	padding: 0;
	border: none;
}
.home .sponsor p { color: #313131; }
.home #sponsors-slides,
.home #sponsors1-slides {
	padding: 4px;
	margin: 0 0 15px;
	background: #fff;
}
.home #sponsors-slides.flexslider .flex-direction-nav a,
.home #sponsors1-slides.flexslider .flex-direction-nav a { display: none !important; }

/* --- Blue bar --- */
.home .blue-bar {
	padding: 20px 0;
	overflow: hidden;
	background: #185b80;
	box-shadow: 0 2px 2px #555;
	position: relative;
	z-index: 7;
}
.home .blue-bar h2 {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 20px;
	color: #f2a71e;
	padding: 0;
	border: none;
}
.home .blue-bar p { color: #fff; }

/* --- Itinerary --- */
.home .itinerary {
	overflow: hidden;
	padding: 30px 0 14px;
	background: url(/assets/images/home-itinerary.jpg);
	box-shadow: 0 2px 2px #555;
	position: relative;
	z-index: 6;
}
.home #itinerary-slides,
.home #itinerary-thumbs img { padding: 4px; margin: 0 0 15px; background: #fff; }
.home #itinerary-slides { padding: 0; margin: -5px -25px 20px; }
.home #itinerary-thumbs { padding: 0 16px; margin: 0 -20px 9px; }
.home #itinerary-thumbs ul { margin: 0; }
.home #itinerary-thumbs ul li {
	padding: 0; margin: 0; background: none; cursor: pointer;
	-webkit-touch-callout: none; -webkit-user-select: none;
	-khtml-user-select: none; -moz-user-select: none;
	-ms-user-select: none; user-select: none;
}
.home #itinerary-thumbs ul li span { display: block; padding: 0 10px 5px 0; }
.home #itinerary-thumbs img { margin: 0; }
.home #itinerary-thumbs .flex-active-slide img { background: #203d4e; }
.home #itinerary-thumbs .flex-direction-nav a { background: url(/assets/images/slideshow2.png) no-repeat; }
.home #itinerary-thumbs .flex-direction-nav .flex-prev { background-position: 0 50%; }
.home #itinerary-thumbs .flex-direction-nav .flex-next { background-position: -14px 50%; }
.home #itinerary-thumbs .flex-direction-nav .flex-prev:hover { background-position: -28px 50%; }
.home #itinerary-thumbs .flex-direction-nav .flex-next:hover { background-position: -42px 50%; }

.home .white { padding: 20px 25px 1px; background: #fff; }
.home .white h2 {
	font-family: 'Anton', Arial, Helvetica, sans-serif;
	font-size: 23px;
	font-weight: 400;
	line-height: 23px;
	color: #3a0e32;
	padding: 0;
	border: none;
}
.home .white table { border: none; margin: 0 0 12px; }
.home .white table th,
.home .white table td {
	vertical-align: middle;
	padding: 8px 5px 8px 12px;
	border-bottom: 1px solid #e8eced;
	background: none;
}
.home .white table th { font-size: 11px; text-align: right; color: #7a7a7a; padding: 8px 12px 8px 5px; }
.home .white p.last { text-align: center; }
.home .white p.last a { color: #0d303d; }
.home .white p.last a:hover { color: #0097be; }
.home .curve-right { padding: 0 0 16px; background: url(/assets/images/curve-right.png) right bottom no-repeat; }
.home .curve-left { background: url(/assets/images/curve-left.png) left bottom no-repeat; }

/* --- Newsletter --- */
.home .newsletter {
	overflow: hidden;
	padding: 10px 0;
	background: #3c1034;
	box-shadow: 0 2px 2px #555;
	position: relative;
	z-index: 6;
}
.home .newsletter h2 {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 33px;
	font-style: normal;
	font-weight: 300;
	line-height: 36px;
	color: #fff;
	padding: 0;
	border: none;
	margin: 0;
}
.home .newsletter p { font-size: 23px; font-weight: 700; line-height: 26px; color: #e69d1f; margin: 0 0 10px; }
.home .newsletter p a { color: #f2a71e; }
.home .newsletter p a:hover { color: #e3e0b8; }
.home .newsletter form {
	max-width: 880px;
	padding: 0 100px 0 75px;
	margin: 0 0 11px;
	position: relative;
	clear: both;
}
.home .newsletter form input.text { padding: 6px 7px 6px; }
.home .newsletter form .button {
	width: 80px;
	font-size: 16px;
	text-align: center;
	position: absolute;
	top: 0;
	right: 0;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	background: #f2a71e;
}
.home .newsletter form .button:hover {
	background: #f79800;
	background: -moz-linear-gradient(top, #f79800 0%, #f2a71e 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f79800), color-stop(100%,#f2a71e));
	background: -webkit-linear-gradient(top, #f79800 0%, #f2a71e 100%);
	background: -o-linear-gradient(top, #f79800 0%, #f2a71e 100%);
	background: -ms-linear-gradient(top, #f79800 0%, #f2a71e 100%);
	background: linear-gradient(to bottom, #f79800 0%, #f2a71e 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f79800', endColorstr='#f2a71e', GradientType=0);
}
.home .newsletter form .button span { padding: 7px 0; background: transparent; }
.home .newsletter .fine-print p { display: block; font-size: 11px; line-height: normal; color: #E69D1F; }
.home .newsletter .fine-print p a { color: #A62122; }
.home .newsletter .fine-print p a:hover { color: #fff; }

/* --- Gallery --- */
.home .gallery {
	background: url(/assets/images/bg-gallery.png) repeat;
	overflow: hidden;
	padding: 30px 0 10px;
}
.home #gallery-slides {
	padding: 4px;
	margin: 0 0 15px;
	background: #fff;
	box-shadow: 1px 1px 2px #acacac;
}
.home .gallery .more a { font-size: 14px; font-weight: 700; text-transform: uppercase; color: #0d303d; }
.home .gallery .more a:hover { color: #0097be; }
.home .gallery .more-photos a { padding: 0 0 0 25px; background: url(/assets/images/photo.png) 0 50% no-repeat; }
.home .gallery .flexslider .flex-prev { left: 4px; }
.home .gallery .flexslider .flex-next { right: 4px; }


/* =============================================================================
   10. FOOTER
   ============================================================================= */

/* --- Footer top --- */
.footer-top {
	padding: 28px 0;
	background: #3b3b3b;
	box-shadow: 0 2px 2px #000 inset;
}
.footer-top nav { display: none; }
.footer-top .book { margin: 0 0 14px; }
.footer-top .book p { font-size: 23px; font-weight: 300; color: #fff; text-align: center; }
.footer-top .book a.call {
	color: #9e9e9e;
	font-family: 'Anton', Arial, Helvetica, sans-serif;
	font-weight: 400;
}
.footer-top .book p .button { margin: 0 0 9px; }
.footer-top .book p strong { color: #ba1946; }

.footer-top .footer-merch-promo{
	width:223px;
	height:85px;
	margin:1em 0 1em 0;
	background-image: url(/assets/images/STC-Merch-Button-Horizontal.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.footer-top .footer-merch-promo a{
	display:block;
	width:223px;
	height:85px;
	text-indent: -9999em;
}

.footer-top .connect p strong {
	font-family: 'Anton', Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 34px;
	color: #fff;
}
.footer-top .connect ul li { display: inline; float: left; margin: 0 7px 0 0; }
.footer-top .connect ul li.twitter a { background-position: -34px 0; }
.footer-top .connect ul li.flickr a { background-position: -68px 0; }
.footer-top .connect ul li.youtube a { background-position: -102px 0; }

/* --- Footer bottom --- */
.footer-bottom {
	padding: 28px 0;
	box-shadow: 0 4px 2px #555 inset;
	background: #747474;
}
.footer-bottom .cruises {
	text-align: center;
	padding: 5px 0 0 5px;
	margin: 0 0 19px;
	background: #747474;
}
.footer-bottom .cruises a {
	display: block;
	float: left;
	width: 33.33%;
	padding: 0 5px 5px 0;
	height: 63px;
}
.footer-bottom .cruises a img { margin: 0 auto; }
.footer-bottom p { clear: both; font-size: 12px; line-height: 26px; color: #333; margin: 0 0 20px; }
.footer-bottom p strong { display: block; text-transform: uppercase; }
.footer-bottom a { color: #333; }
.footer-bottom a:hover { color: #fff; }
.footer-bottom .credits a { display: block; float: left; margin: 0 37px 0 0; }


/* =============================================================================
   11. SOCIAL ICONS
   ============================================================================= */
.social ul { list-style: none !important; padding: 0; margin: 0; }
.social ul li {
	display: inline-block;
	margin: 0 .15em;
	position: relative;
	z-index: 1;
	background: none;
}
.social ul li:hover { margin-top: 1px; }

.social ul li.facebook:before,
.social ul li.instagram:before,
.social ul li.twitter:before,
.social ul li.linked-in:before,
.social ul li.youtube:before,
.social ul li.spotify:before {
	position: absolute;
	z-index: -1;
	font-family: 'FontAwesome';
	top: 0;
	left: 0;
	font-size: 35px;
	line-height: 35px;
	color: rgb(255, 255, 255);
}
.social ul li.facebook:before  { content: "\f09a"; }
.social ul li.instagram:before { content: "\f16d"; }
.social ul li.twitter:before   { content: "\f081"; }
.social ul li.linked-in:before { content: "\f08c"; }
.social ul li.youtube:before   { content: "\f431"; }
.social ul li.spotify:before   { content: "\f1bc"; }

.social ul li a {
	font: 0/0 serif;
	text-shadow: none;
	color: transparent;
	display: block;
	width: 35px;
	height: 35px;
}
.social ul li a:hover { margin-top: 2px; }

/* --- Homepage social variant --- */
.social.homepage-social {
	background-color: #f2a71e;
	padding: 1.75em;
	border-radius: 8px;
}
.social.homepage-social h3 { font-size: 28px; color: white; margin: 0 0 .5em 0; text-align: center; }
.social.homepage-social ul { margin: 0 auto; text-align: center; }
.social.social.homepage-social ul li { padding: 0; margin: 0 .5em; background: none; }
.social.homepage-social ul li a { width: 50px; height: 50px; }
.social.homepage-social ul li.facebook:before,
.social.homepage-social ul li.instagram:before,
.social.homepage-social ul li.twitter:before,
.social.homepage-social ul li.youtube:before,
.social.homepage-social ul li.spotify:before { font-size: 50px; line-height: 50px; }


/* =============================================================================
   12. UTILITIES / MISC
   ============================================================================= */

/* Countdown timer */
.timer-widget {
	font-weight: bold;
	font-size: 13px !important;
	margin: -8px 0 5px 0;
}

/* Honeypot spam field */
label[for="cell"], #cell {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	height: 0;
	width: 0;
	z-index: -1;
}

/* Misc helpers */
p.nospacebelow { margin: 0; }


/* =============================================================================
   13. MEDIA QUERIES
   ============================================================================= */

/* --- max-width: 480px — social icon sizing --- */
@media only screen and (max-width: 480px) {
	.social {
		width: 136px !important;
		top: 8px !important;
	}
	.social.homepage-social { width: 100% !important; }
	.social ul li { margin: 0 !important; }
	.social ul li a { width: 30px; height: 30px; }
	.social ul li.facebook:before,
	.social ul li.instagram:before,
	.social ul li.twitter:before,
	.social ul li.linked-in:before,
	.social ul li.youtube:before,
	.social ul li.spotify:before { font-size: 30px; line-height: 30px; }
}

/* --- max-width: 320px --- */
@media only screen and (max-width: 320px) {
	.social { top: 26px !important; }
}

/* --- max-width: 599px — lineup sirius graphic (mobile version) --- */
@media screen and (max-width: 599px) {
	.home .lineup ul li.sirius strong::before {
		background: url(/assets/images/sirius-mobile.png) center top no-repeat;
		height: 85px;
		width: 265px;
	}
}

/* --- min-width: 280px --- */
@media screen and (min-width: 280px) {
	/* Sidebar */
	.sidebar nav .bg-sidebar {
		position: absolute;
		display: block;
		left: 50%;
		margin-left: -125px;
		z-index: 1;
	}
	.sidebar nav { padding: 2px 14px 66px 14px; }
	.sidebar .signup { margin: 0 0 35px; }
	.sidebar .signup a {
		background: url(/assets/images/btn-sign-up.png) top center no-repeat;
		height: 100px;
		width: 101%;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
		margin: 0 0 20px;
	}
	.sidebar .signup h2 { margin: 0; }

	/* Home */
	.home .flexslider .flex-viewport,
	.home .homeshow .text { background: transparent; text-align: center; }
	.home .newsletter form { max-width: 100%; padding: 0; }
	.home .newsletter p,
	.home .newsletter form input.text { margin-bottom: 10px; width: 100%; }
	.home .newsletter form .button { width: 100%; font-size: 16px; position: relative; margin: 0 auto; }
	.home .newsletter form .parsley-error-list { display: block !important; margin: -10px 0 10px 0 !important; }
}

/* --- min-width: 400px — table full-width reset --- */
@media (min-width: 400px) {
	table {
		width: 100% !important;
		max-width: unset;
		display: unset;
		overflow-x: unset;
		white-space: unset;
	}
}

/* --- min-width: 450px — footer cruises layout --- */
@media screen and (min-width: 450px) {
	.footer-bottom .cruises { float: left; }
	.footer-bottom .cruises a { display: block; float: left; width: auto; }
	.footer-bottom p strong { display: inline; }
}

/* --- min-width: 550px — content grid, newsletter form columns --- */
@media screen and (min-width: 550px) {
	/* Content grid */
	.content .grid .item { width: 33.33%; }
	.content .grid .row2 { display: none; }
	.content .grid .row3 { display: block; }
	.content .category-header { position: relative; }

	/* Newsletter form */
	.home .newsletter form { padding: 0 100px 0 0; margin: 0 0 11px; position: relative; clear: both; }
	.home .newsletter form input.text { margin-bottom: 0; }
	.home .newsletter form .wafc-text { width: 23%; float: left; margin-right: 2%; }
	.home .newsletter form .wafc-text:last-of-type,
	.home .newsletter form input.text:last-of-type { margin-right: 0 !important; }
	.home .newsletter form .parsley-error-list { display: inline !important; margin: 0 !important; }
	.home .newsletter form .button { width: 80px; font-size: 16px; text-align: center; position: absolute; top: 0; right: 0; }
	.home .newsletter .fine-print { text-align: right; }
}

/* --- min-width: 600px — lineup burst graphic --- */
@media screen and (min-width: 600px) {
	.home .lineup .burst-graphic {
		position: absolute;
		top: -55px;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 600px;
		height: 121px;
		background: url(/assets/images/LineupBurstFall.png) center center no-repeat;
	}
}

/* --- min-width: 650px — button, header, forms, home, footer-top, countdown timer --- */
@media screen and (min-width: 650px) {
	/* Button */
	.button { display: inline-block; width: auto; text-align: left; }
	.button span { padding: 15px 30px; }

	/* Header logo */
	#headerImg2 { max-width: 285px; margin: -48px 0 -54px -48px; }
	header .logo { width: 100%; position: relative; height: 63px; }
	header .nav-toggle { margin-top: 100px; }
	header .logo p.port { font-size: 13px; text-align: right; top: 85px; right: 0; }
	header .logo p.date { text-align: right; top: 100px; right: 0; }
	header .book { position: absolute; top: 2px; right: 52px; }
	header .book p { text-align: center; }
	header .book p.last { line-height: 23px; margin: 0; padding: 2px; }

	/* Content forms — float label layout */
	.content form .float-labels label,
	.content form .float-heading p.last label { float: left; width: 170px; text-align: right; padding: 0 20px 0 0; }
	.content form .float-labels br,
	.content form .float-heading p.last br { display: none; }
	.content form .float-labels span.field { display: block; margin: 0 0 0 170px; }
	.content form .float-heading h3 { float: left; width: 170px; margin: -2px 0 0; }
	.content form .float-heading .indent { margin: 0 0 0 170px; }
	.content form .float-heading p.last label { line-height: 16px; margin: 1px 0 0 -170px; }
	.content form .float-labels p.last label { line-height: 16px; }
	.content form .float-heading p.last span.field { display: block; }
	.content form ul.checks-float { margin: 0 0 15px; }
	.content form ul.checks-float li { display: inline; float: left; padding-right: 10px; }
	.content form ul.checks-float li em { display: block; }
	.content form p.submit { padding: 0 0 0 170px; }

	/* Home homeshow caption */
	.home .homeshow .slide { position: relative; }
	.home .homeshow .caption {
		display: block;
		float: none;
		max-width: 275px;
		width: auto;
		font-size: 12px;
		font-style: italic;
		line-height: normal;
		color: #fff;
		padding: 3px 24px 3px 6px;
		background: url(/assets/images/caption.png);
		position: absolute;
		top: 0;
		right: 0;
	}

	/* Home newsletter fine print */
	.home .newsletter .fine-print { display: block; width: 94%; }

	/* Footer top */
	.footer-top .book,
	.footer-top .connect p,
	.footer-top .connect ul { float: left; margin: 0; }
	.footer-top .connect { float: right; position: relative; top: 34px; }
	.footer-top .connect p { padding: 0 7px 4px 0; position: relative; top: 4px; }

	.footer-merch-promo{
		position:absolute;
		right:230px !important;
		bottom:-36px;
	}
	/* Countdown timer */
	.timer-widget { position: absolute; }

}

/* --- min-width: 765px — desktop layout: header, nav, content columns, home, footer nav --- */
@media screen and (min-width: 765px) {
	/* Scroll offset for fixed nav */
	body.fn_scrollCheck--scrolling,
	body.fn_scrollCheck--bottom { margin-top: 30px; }
	.fn_scrollCheck--scrolling #main-nav,
	.fn_scrollCheck--bottom #main-nav {
		position: fixed;
		display: block;
		left: 0;
		top: 0;
		right: 0;
		min-height: 30px;
		bottom: unset;
		height: unset;
		overflow: unset;
	}

	/* Header */
	#headerImg2 { max-width: 300px; margin: -50px 0 -56px -48px; }
	header .header-top { height: 160px; }
	header .book { right: 10px; transform: scale(1); }
	header .logo { float: left; }
	header .nav-toggle { display: none; }
	header #main-nav { display: block !important; }

	/* Nav — desktop horizontal layout */
	header nav .wrapper > ul { text-align: center; }
	header nav a { padding: 6px; }
	header nav li.first ul li a.even { background-color: rgba(255,255,255,.1); }
	header nav .wrapper > ul > li {
    display: inline-block;
    float: none;
    border: none;
    border-right: 1px solid #dedea6;
    position: relative;
	}
	header nav .wrapper > ul > li.last { border-right: none; }
	header nav .wrapper > ul > li > a { padding: 6px 8px; }
	header nav .wrapper > ul > li.smaller { border: none; }
	header nav .wrapper > ul > li.smaller > a { font-size: 11px; font-weight: 400; padding: 8px 10px 7px; }
	.nav-search-label{ display:none;}

	/* Dropdowns */
	header nav .wrapper > ul .over ul { display: block; }
	header nav .wrapper > ul .over ul ul { display: none; }
	header nav .wrapper > ul .over ul .over { position: relative; }
	header nav .wrapper > ul .over ul .over ul {
		display: block;
		position: absolute;
		right: -100%;
		top: 0;
		left: 100%;
	}
	header nav .wrapper > ul ul ul li a { padding-left: 10px; }
	header nav .wrapper > ul ul { width: 240px; border: none; position: absolute; top: 100%; left: 0; }
	header nav .wrapper > ul ul > li { position: relative; }
	header nav .wrapper > ul li.right-drop ul { right: 0; left: auto; }

	/* Content headings — larger at desktop */
	.content h1, .home h2 { font-size: 40px; line-height: 40px; padding: 4px 0; }

	/* Content floats */
	.content p.float-right { float: right; margin-left: 20px; }
	.content p.float-left { float: left; margin-right: 20px; }
	.content .intro img { float: left; margin: 0 15px 0 0; }

	/* Two-column layout */
	.content .main { float: right; width: 68%; padding: 30px 25px 5px; margin: 0 0 35px; }
	.content .main.full-column { float: right; width: 100%; }
	.content .news-article { padding: 0; margin: 0; }
	.content .news-article article { padding: 30px 25px 5px; margin: 0 0 35px; }
	.content .sidebar { float: left; width: 32%; padding: 0 10px 0 0; }

	/* Sidebar nav */
	.sidebar nav {
		-webkit-border-radius: 0 0 5px 5px;
		-moz-border-radius: 0 0 5px 5px;
		border-radius: 0 0 5px 5px;
	}
	.sidebar nav .bg-sidebar { position: absolute; display: block; left: 0; margin: 0; z-index: 1; }

	/* Search box */
	#search-box {
		font-size: 0.875rem;
		position: absolute;
		right: 0;
		top: calc(100% + 1px);
		width: 500px;
		max-height: 75vh;
		overflow-y: auto;
		padding: 2rem 2rem 0rem 2rem;
		background-color: rgb(255,255,255);
		border: 1px solid rgba(0,0,0,0.25);
		border-top: 0px;
		border-radius: 0px 0px 5px 5px;
		box-shadow: 0px 5px 5px rgba(0,0,0,0.5), 0px 120vh 100vw 100vw rgba(0,0,0,0.5);
	}
	.content #search-box {
		position: relative;
		box-shadow: none;
		width: 100%;
		border-top: 1px solid rgba(0,0,0,0.25);
		border-radius: 5px;
	}
	#search-box .search-box {
		display: block;
		margin: -2rem -2rem 0rem -2rem;
		padding: 1rem;
		border-bottom: 1px solid rgba(125,125,125,0.25);
		position: relative;
	}
	#search-box input#search {
		-webkit-appearance: none;
		display: block;
		position: absolute;
		top: 0; left: 0; right: 0; bottom: 0;
		width: 100%; height: 100%;
		padding-left: 3em;
		padding-right: 3em;
	}
	#search-box label[for="keywords"] {
		display: inline-block;
		width: 1em;
		position: absolute;
		top: 1em; left: 1em; bottom: 0;
		font-size: 1em;
		color: rgba(0, 0, 0, 1);
	}
	#search-box .search-close {
		cursor: pointer;
		position: absolute;
		top: 0.5rem; right: 1rem;
		font-size: 2em;
		width: 1em; height: 1em;
	}
	#search-box .search-close-x {
		width: 0.5em; height: 0.5em;
		transform: rotate(45deg);
		position: absolute;
		top: 0.33em; right: 0em; bottom: 0;
	}
	#search-box .search-close span { background-image: none; padding-right: 30px; padding-left: 16px; }
	#search-box .search-close .fa { color: rgb(206,8,83); }

	/* Home */
	.home .homeshow .flex-control-nav { display: block !important; }
	.home .homeshow .text {
		background: transparent;
		bottom: 10px;
		color: #fff;
		padding-right: 10%;
		position: absolute;
		right: 0;
	}
	.home .homeshow .text p { font-size: 15px; line-height: 20px; margin: 0 0 20px; }
	.home .homeshow .text p:first-child { text-shadow: 2px 4px 5px #000; }
	.home .homeshow .text strong {
		font-family: 'Anton', Arial, Helvetica, sans-serif;
		font-size: 28px;
		font-style: normal;
		font-weight: 400;
		line-height: 36px;
		color: #fff3b5;
		text-shadow: 2px 4px 5px #000;
	}
	.home .director-message h2,
	.home .director-message .bubble { padding-left: 96px; }
	.home .director-message p.date { position: absolute; top: 11px; right: 10px; }
	.home .director-message .bubble span { left: 52px; }
	.home .lineup ul strong { font-size: 27px; line-height: 37px; }
	.home .cols50 { margin: 0 -25px 0 0; }
	.home .cols50 .col { float: left; width: 50%; padding: 0 25px 0 0; }
	.home .activities .col2 ul,
	.home .activities .col2 p.last,
	.home .gallery .col1 ul { margin-left: 75px; }
	.home .sponsor p.last,
	.home .blue-bar p.last { margin: 0; }
	.home .white { min-height: 420px; }
	.home .newsletter h2 { font-size: 52px; line-height: 52px; }
	.home .newsletter form { max-width: 97%; padding: 0 100px 0 0; margin: 0 0 11px; position: relative; clear: both; }

	/* Footer top nav */
	.footer-top nav { display: block; margin: 0 -10px 0 0; }
	.footer-top nav .col { float: left; width: 14%; padding: 0 10px 16px 0; }
	.footer-top nav .col1 { width: 11.5%; }
	.footer-top nav .col2 { width: 17.5%; }
	.footer-top nav .col3 { width: 14%; }
	.footer-top nav .col4 { width: 9.5%; }
	.footer-top nav .col5 { width: 12%; }
	.footer-top nav .col6 { width: 17.5%; }
	.footer-top nav .col7 { width: 18%; }
	.footer-top nav .col7 p strong { color: #a1a1a1; }
	.footer-top nav p { font-size: 13px; text-transform: uppercase; }
	.footer-top nav p,
	.footer-top nav ul li { padding: 0 0 8px; }
	.footer-top nav ul { font-size: 11px; }
	.footer-top nav a { color: #a1a1a1; }
	.footer-top nav ul li a { color: #dbdbdb; }
	.footer-top nav a:hover,
	.footer-top nav ul li a:hover { color: #fff; }
	.footer-bottom .cruises { float: right; }
	.footer-bottom p { clear: none; }
}

/* --- min-width: 800px — sidebar padding tweak --- */
@media screen and (min-width: 800px) {
	.content .sidebar { padding: 0 20px 0 0; }
}

/* --- min-width: 915px — mobile-hide, alert bar, header, sidebar --- */
@media screen and (min-width: 915px) {
	.mobile-hide { display: block; }

	/* Alert bar */
	.alert-bar p { padding: 15px 60px 15px 90px; background-position: 60px 15px; }

	/* Header */
	#headerImg2 { max-width: 425px; margin: -75px 0 -50px -64px; }
	header .header-top { height: 130px; padding: 2px 0; }
	header .book { top: 10px; }
	header .logo { height: 90px; width: 82%; }
	header .logo p.port { position: absolute; top: 22px; font-size: 13px; text-align: right !important; margin: 0; line-height: 1.1; }
	header .logo p.date { position: absolute; top: 40px; font-size: 20px; margin: 0; }
	header .logo p.title { font-size: 34px; }
	header .logo p.title strong { font-weight: 400; }

	/* Sidebar */
	.content .sidebar.no-nav { padding-top: 53px; }
	.sidebar nav { padding-top: 40px; }
	.sidebar nav .bg-sidebar { position: absolute; display: block; left: 15%; margin-left: -125px; z-index: 1; }

	/* Countdown timer */
	.timer-widget { text-align: right; top: 80px; right: 0; }
}

/* --- min-width: 980px — header nav, content columns, home, search box width --- */
@media screen and (min-width: 980px) {
	/* Header nav */
	header nav .wrapper { padding: 0 10px 0 0; }
	header nav .wrapper > ul > li > a { text-align: center; padding: 6px 13px; }
	header nav .wrapper > ul > li.smaller { width: 8%; }
	header nav .wrapper > ul > li.smaller > a { text-align: center; padding: 8px 0 7px; }
	.nav-search-label {display:inline-block;}
	header .logo { height: 128px; width: 82%; overflow: hidden; }
	header .logo p.port { text-align: right !important; right: 0 !important; }
	header .logo p.date { right: 0 !important; }

	/* Content */
	.content .main .slideshow { max-height: 235px; overflow: hidden; }
	.content .main .photo-gallery #photo-slides { max-height: 300px; overflow: hidden; }
	.content p.float-right, .content p.float-left { max-width: 300px; }
	.content .sidebar { padding: 0 80px 0 0; }

	/* Sidebar nav */
	.sidebar nav { padding: 20px 14px 62px 14px; box-shadow: 1px 1px 2px #555; }
	.sidebar nav .bg-sidebar { background-position: bottom center; max-width: 100%; left: -8px; margin-left: 0; position: absolute; display: block; z-index: 1; }
	.sidebar .ad a,
	.sidebar .ad-lineup { box-shadow: 1px 1px 2px #555; }

	/* Home */
	.home .homeshow { max-height: 700px; overflow: hidden; }
	.home .homeshow .wrapper { padding: 0 10px; }
	.home .homeshow .text p { float: left; width: 550px; padding: 0 14px 0 0; margin: 0; }
	.home .homeshow p.last { float: right; width: 230px; text-align: right; padding: 16px 0 0; text-shadow: none; }
	.home .director-message {
		background-image: url(/assets/images/STC27/STC27-discoball.png), url(/assets/images/STC27/STC27-train.png);
		background-repeat: no-repeat, no-repeat;
		background-position: -75px 50px, right bottom;
	}
	.home .activities .wrapper { padding: 30px 160px 10px 160px; max-width: 1100px; }
	.home .sponsor .wrapper,
	.home .blue-bar .wrapper { padding: 0 70px; }
	.home .itinerary {
		background-image: url(/assets/images/STC27/STC27-record_left.png), url(/assets/images/STC27/STC27-record_right.png), url(/assets/images/home-itinerary.jpg);
		background-repeat: no-repeat, no-repeat, repeat;
		background-position: left -85px, right -10px, center center;
	}
	.home .itinerary .wrapper { padding: 0 90px; }
	.home .newsletter form { max-width: 880px; padding: 0 100px 0 75px; margin: 0 0 11px; position: relative; clear: both; }
	.home .newsletter form input.text { margin-bottom: 0; font-size: 16px; }
	.home .newsletter form #first_name { width: 28%; }
	.home .newsletter form #email { width: 20%; }
	.home .newsletter form #zip { width: 22%; }
	.home .newsletter form #phone { width: 20%; }
	.home .newsletter form .wafc-text { margin-right: 3%; }
	.home .newsletter form .wafc-text:last-of-type { margin-right: 0 !important; }
	.home .newsletter .fine-print { text-align: right; display: block; width: 88%; }
	.home .gallery .wrapper { padding: 0 90px; }

	/* Search box */
	#search-box { width: 600px; }
	.content #search-box { width: 100%; }
}
