@-webkit-viewport {
	width: device-width;
	zoom: 1.0;
}
@-moz-viewport {
	width: device-width;
	zoom: 1.0;
}
@-ms-viewport {
	width: device-width;
	zoom: 1.0;
}
@-o-viewport {
	width: device-width;
	zoom: 1.0;
}
@viewport {
	width: device-width;
	zoom: 1.0;
}

/* ------------------------------------------------------
   Variables for easy find and replace


	$link:					#e11021;
	$link-hover:			#bf0b25;

	$second-bg-color: #F6F6F6;
	$second-font-color: #707070;
	$table-border-color: #D6D6D6;

	$body-font:				font-family: 'Lato', sans-serif;


	Table of Contents for search based navigation


**** Box Model Reset

**** Typography
---- Headings
---- Lists
---- Breadcrumbs
---- Blockquotes
---- HR
---- Text level elements
---- Links


**** Design Patterns
---- Buttons
---- Expando
---- Highlight
---- Site Messages


**** Images


**** Forms
---- Form Errors
---- Submit Bar
---- Search Form
---- Search pagination
---- Captcha


**** Tables
---- Content tables
---- Responsive table
---- No Styles Table


**** Helper classes
---- Clearfix
---- Hiding classes
---- Pseudo elements
---- Floats and positioning
---- Overlays
---- Grid system


**** Template Layout
---- Sections
---- Header
---- cruise itinerary promos
---- Book Call to Action
---- Cruise Itineraries
---- Tabs
---- getting there map
---- Lunch promo
---- testimonial
---- Footer

---- Magnific Popup


**** Widgets
---- Catch all
---- Related Links
---- Simple Image Gallery
---- Children Page Gallery
---- Sponsors module
---- Order Form
---- Videos


**** Print styles



------------------------------------------------------ */

/* ------------------------------------------------------
**** Box Model Reset
------------------------------------------------------ */

html {
	box-sizing: border-box;
}
*, *:before, *:after {
	box-sizing: inherit;
}

/* ------------------------------------------------------
**** Typography
------------------------------------------------------ */

html {
	font-size: 62.5%;
}

body {
	line-height: 24px;
	line-height: 2.4rem;
	font-size: 1.6em;
	color: #31312f;
	font-family: 'Lato', sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/* ---- Headings ---- */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
	margin: 0 0 1.5rem 0;
	font-family: 'Lato', sans-serif;
}
	h1 small,
	h2 small,
	h3 small,
	h4 small,
	h5 small,
	h6 small {
		font-weight: normal;
		line-height: 1;
		color: #8a7b7b;
	}

	p + h2,
	ol + h2,
	ul + h2,
	p + h3,
	ol + h3,
	ul + h3,
	p + h4,
	ol + h4,
	ul + h4,
	p + h5,
	p + h6 {
		margin-top: 3rem;
	}


h1, .h1 {
	line-height: 3.6rem;
	font-size: 2.8rem;
	font-family: 'Nixie One', Lucida Console, Lucida Sans Typewriter, monaco, monospace;
	font-weight: normal;
	text-transform: uppercase;
}

h2, .h2 {
	line-height: 1.3;
	font-size: 2.4rem;
	font-weight: 300;
}

h3, .h3 {
	line-height: 1.3;
	font-size: 1.9rem;
	font-weight: 300;
}

h4, .h4 {
	font-size: 1.8rem;
	font-weight: bold;
}

h5, .h5 {
	font-size: 1.7rem;
	font-weight: bold;
}

@media screen and (min-width: 48em) {/* 768 */

	h1, .h1 {
		line-height: 4.6rem;
		font-size: 3.8rem;
		letter-spacing: -1px;
		font-family: 'Nixie One', Lucida Console, Lucida Sans Typewriter, monaco, monospace;
		font-weight: normal;
		text-transform: uppercase;
	}

	h2, .h2 {
		line-height: 3.2rem;
		font-size: 2.8rem;
		font-weight: 300;
	}

	h3, .h3 {
		font-size: 2.1rem;
		font-weight: 300;
	}
}

.heading-small-underline {
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px solid #4a4a47;
	font-weight: bold;
}

.heading-inline {
	display: inline;
	float: left;
	padding: 0;
}

.heading-deco-on-grey {
	text-align: center;
	color: #555448;
	max-width: 925px;
	margin: auto;
	line-height: 1.3;
	font-size: 2.4rem;
	padding-bottom: 20px;
	padding: 3rem 0 4rem;
	margin-bottom: 4rem;
	position: relative;
}

.heading-deco-on-grey:before {
    content: '\00a0';
    background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22437%22%20height%3D%222.5%22%20viewBox%3D%220%200%20874%205%22%3E%0D%0A%20%20%3Cpath%20fill%3D%22%23ffffff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M1063%2C2144v-5h874v5H1063Z%22%20transform%3D%22translate%28-1063%20-2139%29%22%2F%3E%0D%0A%3C%2Fsvg%3E) no-repeat center center;
    position: absolute;
    height: 2px;
    right: 45px;
    left: 45px;
    bottom: 0;
}

.heading-deco-on-grey:after {
	content: '';
	position: absolute;
	background: url(../images/pm-icon_on-grey.png) no-repeat center center;
	background-size: 40px auto;
	height: 50px;
	right: 0;
	left: 0;
	bottom: -25px;
}

@media only screen and (min-width: 31.25em) { /* 500px */
	.heading-deco-on-grey {
		font-size: 2.8rem;
		padding-bottom: 5rem;
		margin-bottom: 6rem;
	}

	.heading-deco-on-grey:after {
	    background-size: 48px auto;
	}
}

@media only screen and (min-width: 62em) { /* 992px */
	.heading-deco-on-grey {
		font-size: 3rem;
	}
}


/* Dashed tagline */

.dashed-tagline {
	font-weight: bold;
	text-transform: uppercase;
	color: #9f9e90;
}

.dashed-tagline:before {
	content: "\2013";
	margin-right: 2px;
}

.dashed-tagline:after {
	content: "\2013";
	margin-left: 2px;
}


p,
ol,
ul,
dl,
address {
	margin: 0 0 1.5rem;
}

small {
	font-size: 1.28rem;
}


/* ---- Lists ---- */
ul,
ol {
	padding: 0 0 0 2rem;
}

li ul,
li ol {
	margin: 1rem 0;
}

ul.inline,
ol.inline {
	list-style-type: none;
	margin-left: 0;
}
	ul.inline > li,
	ol.inline > li {
		display: inline-block;
		padding-left: 12px;
		padding-right: 12px;
	}


/* fix for using flexboxgrid on lists */

ul.row {
	list-style-type: none;
	padding-left: 0;
}

ul.row > li {
	list-style-type: none;
}


/* ---- Breadcrumbs ---- */
.breadcrumb {
	list-style-type: none;
	margin: 1.5rem 0 2rem;
	padding: 10px 0;
	border-top: 1px solid #f3f1f1;
	border-bottom: 1px solid #f3f1f1;
	font-size: 1.4rem;
	color: #444;
}
	.breadcrumb > li {
		display: inline;
	}
	.breadcrumb > li:before {
		content: "\00a0//\00a0";
	}
	.breadcrumb > li:first-child:before {
		content: none;
	}


/* ---- Blockquotes ---- */
blockquote {
	margin: 1.5rem 0;
	padding: 5px 20px 15px;
	font-family: "mrs-eaves", serif;
	font-size: 3.2rem;
	line-height: 1.2;
	font-style: italic;
	text-align: center;
	position: relative;
	clear: both;
}

blockquote *:last-child {
	margin-bottom: 0;
}

blockquote p:first-of-type:before {
	content: '\201C';
}

blockquote p:last-of-type:after {
	content: '\201D';
}

@media screen and (min-width: 1000px) {
	.blockquote--left {
		float: left;
		width: 45%;
		margin-left: 0px;
		margin-right: 20px;
		clear: right;
		text-align: left;
	}

	.blockquote--right {
		float: right;
		width: 45%;
		margin-left: 20px;
		margin-right: 0px;
		clear: left;
		text-align: right;
	}
}


/* ---- HR ---- */
hr {
	box-sizing: content-box;
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 2em 0;
	padding: 0;
}


/* ---- Text level elements ---- */
abbr[title] {
	border-bottom: 1px dotted #c6bfbf;
	cursor: help;
}

b, strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

ins {
	background-color: #f6f6f6;
	color: #473f3f;
	text-decoration: none;
}

mark {
	background-color: #f6f6f6;
	color: #473f3f;
	font-style: italic;
	font-weight: bold;
}

pre,
code,
kbd,
samp {
	font-family: Monaco, Courier New, monospace;
	color: #484040;
	background: #efefef;
	background: rgba(0, 0, 0, .07);
	padding: 0 2px;
	margin: 0 -2px;
}

pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -.5em;
}

sub {
	bottom: -.25em;
}


/* ---- Links ---- */
a {
	color: #e11021;
	word-break: break-word;
	-webkit-transition: color 200ms ease-in-out;
	transition: color 200ms ease-in-out
}

a:hover,
a:active,
a:focus {
	color: #bf0b25;
}

/* Address `outline` inconsistency between Chrome and other browsers. */
a:focus {
	outline: thin dotted;
}

/* Improve readability when focused and also mouse hovered in all browsers. */
a:active,
a:hover {
	outline: 0;
}

/* subtle link */

.sutble-link {
	text-decoration: none;
	-webkit-transition: all 180ms ease-in-out;
	transition: all 180ms ease-in-out;
	border-bottom: 1px solid rgba(191,11,37,0);
}

.sutble-link:hover,
.sutble-link:active,
.sutble-link:focus {
	border-bottom: 1px solid rgba(191,11,37,1);
}


/* ------------------------------------------------------
**** Design Patterns
------------------------------------------------------ */

/* ---- Buttons ---- */
.button {
	display: inline-block;
	margin-bottom: 0;
	white-space: nowrap;
	vertical-align: middle;
	text-align: center;
	cursor: pointer;
	font-weight: normal;
	line-height: 1;
	color: #fff;
	background-color: #ce322c;
	text-decoration: none;
	border: 2px solid transparent;
	text-transform: lowercase;
	-webkit-transition: all 120ms ease-in;
	transition: all 120ms ease-in;
	outline: none;
	position: relative;
	text-transform: uppercase;
	font-weight: bold;
}


.button:hover,
.button.button-red:hover,
.button:focus,
.button.button-red:focus
.button:active,
.button.button-red:active {
	background-color: #902020;
	color: #fff;
}


/* Buttons with icons */
.button.icon-before:before,
.button.icon-after:after {
	font-size: 12px;
}
.button.icon-before:before {
	margin-right: 7px;
}
.button.icon-after:after {
	margin-left: 7px;
}

/* Save */
.button.icon-save.icon-before:before,
.button.icon-save.icon-after:after {
	font-size: 13px;
}

/* Buttons with only icons */
.button.button-icon.icon-before:before,
.button.button-icon.icon-after:after {
	margin: 0;
}

/* Small */
.button.button-icon.button-small {
	padding: 10px 9px 8px;
}
.button.button-icon.button-small.icon-before:before,
.button.button-icon.button-small.icon-after:after {
	font-size: 14px;
}


/* Regular (default) */
.button.button-icon,
.button.button-icon.button-regular {
	padding: 11px 11px 9px;
}
.button.button-icon.icon-before:before,
.button.button-icon.icon-after:after,
.button.button-icon.button-regular.icon-before:before,
.button.button-icon.button-regular.icon-after:after {
	font-size: 21px;
}

/* Large */
.button.button-icon.button-large {
	padding: 13px 13px 9px;
}
.button.button-icon.button-large.icon-before:before,
.button.button-icon.button-large.icon-after:after {
	font-size: 25px;
}



/* Small */
.button.button-small,
.field-element--button.field-element--small .button {
	font-size: 1.3rem;
	padding: 8px 10px 9px;
}

/* Regular (default) */
.button,
.button-regular {
	padding: 12px 18px 11px;
	font-size: 1.5rem;
	line-height: 1.2;
}

/* Large */
.button.button-large,
.field-element--button.field-element--large .button {
	font-size: 1.9rem;
	padding: 14px 26px;
}

.button-full-width {
	display: block;
	width: 100%;
}



/* light  */
.button.button-light {
	border: 2px solid #6a6964;
	background-color: transparent;
	color: #b3b1a6;
}
.button.button-light:hover,
.button.button-light:focus {
	background-color: #6a6964;
	border-color: #6a6964;
	color: #FFFFFF;
}
/* alternative light colours */
.button.button-alt-light {
	border: 2px solid #9f9e90;
	background-color: transparent;
	color: #6a6964;
}
.button.button-alt-light:hover,
.button.button-alt-light:focus {
	background-color: #6a6964;
	border-color: #6a6964;
	color: #FFFFFF;
}

/* light button on dark background */
.button.button-light-reversed {
	border: 2px solid #ffffff;
	background-color: transparent;
	color: #ffffff;
}
.button.button-light-reversed:hover,
.button.button-light-reversed:focus {
	background-color: #902020;
	border-color: #902020;
	color: #FFFFFF;
	text-decoration: none;
}


/* Grey */
.button.button-grey {
	background-color: #D0D3DA;
	color: #24292f;
}
.button.button-grey.icon-before:before,
.button.button-grey.icon-after:after {
	color: #81848A;
}
.button.button-grey:hover,
.button.button-grey:focus {
	background-color: #BCBFC5;
	color: #24292f;
}


/* Hover/unhover states */
.button-hover-state {
	display: none;
}
.button:hover .button-hover-state {
	display: inline;
}
.button:hover .button-unhover-state {
	display: none;
}

/* Disabled/unavailable button style */
.button[disabled],
.button-disabled,
.button-disabled:hover,
.button-disabled:focus,
.button-disabled:active {
	border: none;
	background-image: none;
	opacity: 0.4;
	cursor: default;
	box-shadow: none;
}

/* Gets the buttons to line up with form inputs when you want them to */
.button.inline {
	margin-bottom: 0.75em;
}

/* Firefox: Get rid of the inner focus border */
.button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

/* Inline buttons */
.inline-buttons .button {
	margin-right: 8px;
	float: left;
}
.inline-buttons .button:last-child {
	margin-right: 0;
}

/* right */
.inline-buttons.inline-buttons-right {
	text-align: right;
}
.inline-buttons.inline-buttons-right .button {
	margin-right: 0;
	margin-left: 8px
}
.inline-buttons.inline-buttons-right .button:first-child {
	margin-left: 0;
}

/* ---- Expando ---- */
.expando-opener-heading,
.expando-open.expando-open--heading {
	color: #6a6964;
	font-weight: bold;
	position: relative;
	-webkit-transition: color 150ms ease;
	transition: color 150ms ease;
}

.expando-opener-heading {
	margin-left: 35px; /* aligns the arrows with the edge of the paragraph */
}

.expando-opener-heading:hover,
.expando-open.expando-open--heading:hover {
	color: #373737;
	text-decoration: underline;
}

a.expando-opener-link:before,
.expando-opener-heading:before {
	content:"\00a0";
	background: url(../images/deco_expando-arrow.svg) no-repeat center center;
	width: 25px;
	height: 25px;
	margin: 0 10px;
	display: inline-block;
	-webkit-transition: all 150ms ease;
	transition: all 150ms ease;
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
	/* Keeps the text from wrapping under arrows */
	position: absolute;
	right: 100%;
}

.expando-opener-heading.expanded:before {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transform-origin: center center;
	        transform-origin: center center;
}

.expando {
	margin-left: 35px;  /* aligns close link with header paragraph */
}


/* ---- Highlight ---- */
.highlight,
.highlight--right,
.highlight--left {
	margin: 0 0 1.5rem;
	padding: 30px;
	background: rgba(179, 177, 166, 0.15);
	clear: both;
}

@media screen and (min-width: 48em) {/* 768px */
	.highlight--left {
		float: left;
		width: 45%;
		margin-right: 20px;
		clear: right;
	}

	.highlight--right {
		float: right;
		width: 45%;
		margin-left: 20px;
		clear: left;
		max-width: 293px;
	}
}

.highlight *:last-child,
.highlight--right *:last-child,
.highlight--left *:last-child {
	margin-bottom: 0;
}


/* ---- Site Messages ---- */
ul.messages {
	list-style: none;
	margin: 16px 0 25px;
	padding: 0;
}
ul.messages li {
	margin: 0 0 15px;
	padding: 10px 20px;
	vertical-align: bottom;
	text-align: left;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.2em;
}
ul.messages .error {
	background: #E04D4D;
	border-left: 4px solid #B72323;
	color: #FFF !important;
}
ul.messages .confirm {
	color: #FFF !important;
	background: #6DBB5A;
	border-left: 4px solid #439230;
}
ul.messages a {
	color: #FFF;
}


/* ------------------------------------------------------
**** Images
------------------------------------------------------ */

svg,
img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}

/* ------------------------------------------------------
**** Forms
------------------------------------------------------ */

/* ---- Base styles ---- */
.field-element {
	margin-bottom: 21px;
}

.field-element:before,
.field-element:after {
	content: " ";
	display: table;
}

.field-element:after {
	clear: both;
}

.field-input .textbox,
.field-input select {
	display: block;
	width: 100%;
	outline: none;
	line-height: normal;
	padding: 9px 10px 8px;
	-webkit-appearance: none;
}
.field-input select {
	padding: 6px 10px 6px;
}
.field-input .textbox,
.field-input select,
.field-element--fileselector .fs-preview-wrapper {
	font-size: 1.5rem;
	line-height: 1.2;
	border: 1px solid #e3e3df;
	border-radius: 0;
	background-color: rgba(227,227,223,0.5);
}
.sidebar .field-input .textbox,
.sidebar .field-input select,
.sidebar .field-element--fileselector .fs-preview-wrapper {

	background-color: rgba(255,255,255,1);
}

/* ---- Inline ---- */
.field-elements-inline:before,
.field-elements-inline:after {
	content: " ";
	display: table;
}

.field-elements-inline:after {
	clear: both;
}
.field-elements-inline .field-element {
	float: left;
	margin-right: 1%;
}
.field-elements-inline .field-element:last-child {
	margin-right: 0;
}

/* Button */
.field-elements-inline .field-element--button {
	margin-top: 29px;
}
.field-elements-inline .field-element--button.field-element--inline-no-label {
	margin-top: 0;
}

/* Add top margin to make empty space for margins */
.field-element--inline-with-label {
	margin-top: 29px;
}

/* ---- White ---- */
.field-element.field-element--white .field-input .textbox,
.field-element.field-element--white .field-input select,
.field-element--white.field-element--fileselector .fs-preview-wrapper {
	background-color: #fff;
}


/* ---- Small ---- */
.field-element--small .field-input .textbox,
.field-element--small .field-input select {
	font-size: 1.6rem;
	padding: 7px 15px 7px;
}

/* ---- Large ---- */
.field-element--large .field-input .textbox,
.field-element--large .field-input select {
	font-size: 1.8rem;
	padding: 14px 25px 13px;
}

@media screen and (max-width: 768px) {
	.field-element {
		margin-bottom: 13px;
	}
}

/* ---- Disabled ---- */
.field-element--disabled {
	opacity: 0.6;
	cursor: not-allowed;
}
.field-element--disabled .textbox[disabled],
.field-element--disabled select[disabled],
.field-element--disabled button[disabled] {
	cursor: not-allowed;
}

/* ---- Caps ---- */
.field-element--caps .textbox,
.field-element--caps select {
	text-transform: uppercase;
}

/* ---- Fieldset ---- */
.field-element fieldset {
	border: none;
	padding: 0;
	margin: 0;
}


/* ---- Labels and legends ---- */
.field-label,
.fieldset__legend {
	font-weight: 600;
	font-size: 1.6rem;
	margin-bottom: 10px;
	line-height: 1.2;
	font-family: 'Lato', sans-serif;
}

/* Instead of h3s */
.label.heading {
	margin: 30px 0px 20px;
	padding: 8px 8px 8px 0px;
	border-bottom: 1px solid #E2E2E2;
}

/* Hidden labels */
.field-element--hidden-label .field-label,
.field-element--hidden-label .fieldset__legend {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}


/* ---- Required ---- */
.field-label__required {
	text-indent: -9999px;
	line-height: 0;
	display: inline-block;
}

.field-label__required:after {
	content: "*";
	text-indent: 0;
	display: block;
	line-height: inherit;
}


/* ---- Field helpers ---- */
.field-helper {
	font-weight: 400;
	font-size: 1.3rem;
	margin-bottom: 1em;
}

.field-label .field-helper {
	margin-top: 0.3em;
	margin-bottom: 0;
}


/* ---- Field errors ---- */
.field-element.field-element--error  .field-input .textbox,
.field-element.field-element--error  .field-input select {
    background-color: #f7eaec;
}
.field-error__list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.field-error__list__item {
	color: #fff;
	background: #E04D4D;
	padding: 10px 20px;
	margin: 11px 0;
	border-left: 6px solid #b72323;
}

/* ---- Text area ---- */
textarea {
	resize: vertical;
}

/* ---- Range ---- */
.field-element--range .field-input .textbox {
	-webkit-appearance: slider-horizontal;
	background: none;
	padding: 0;
	border-radius: 0;
	border: none;
	background: none !important;
}
input[type=range]::-moz-focus-outer {
    border: 0;
}


/* ---- Selects ---- */
.field-element .field-input select {
	-moz-appearance: none;
	background-image: url(../images/form-icons.svg);
	background-repeat: no-repeat;
	background-position: top -259px right -105px;
	padding-right: 38px;
	min-height: 38px;
}
.field-element .field-input select[multiple] {
	background-image: none;
	padding-right: 20px;
}

.field-element select::-ms-expand,
.daterangepicker select.monthselect::-ms-expand,
.daterangepicker select.yearselect::-ms-expand {
    display: none;
}

/* Multiple selects */
.field-element.field-element--select.field-element--select--multiple select {
	padding: 8px 8px;
	background-image: none;
}

.field-element.field-element--select.field-element--select--multiple option {
	padding: 6px 10px;
}

/* White */
.field-element--white .field-input select {
	background-position: top -257px right -104px, top -607px right -92px;
}

/* White + Small */
.field-element--small.field-element--white .field-input select {
	background-position: top -262px right -104px, top -607px right -92px;
}
/* White + Large */
.field-element--large.field-element--white .field-input select {
	background-position: top -253px right -104px, top -607px right -92px;
}

/* Small */
.field-element--small .field-input select {
	background-position: top -262px right -104px, top -447px right -92px;
}
/* Large */
.field-element--large .field-input select {
	background-position: top -253px right -104px, top -447px right -92px;
}

/* Large and regular field elements turn small */
@media screen and (max-width: 900px) {
	.field-element .field-input select,
	.field-element.field-element--large .field-input select,
	.field-element.field-element--regular .field-input select {
		background-position: top -262px right -104px, top -447px right -92px;
		font-size: 1.6rem;
		padding: 7px 15px 7px;
		padding-right: 55px;
	}
}


/* ---- Checkboxes and radio buttons ---- */
.field-element.field-element--checkbox,
.field-element.field-element--radio {
	font-size: 1.6rem;
}

.field-element input[type="checkbox"],
.field-element input[type="radio"] {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.field-element input[type="checkbox"] + label,
.field-element input[type="radio"] + label {
	padding-left: 34px;
	position: relative;
	cursor: pointer;
	display: inline-block;
}

.field-element input[type="checkbox"] + label:before,
.field-element input[type="radio"] + label:before {
	content: " ";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 13px;
	position: relative;
	top: 4px;
	background-color: #F1F1EF;
	border: 1px solid #E3E3DF;
	margin-left: -34px;
	border-radius: 1px;
}

/* Check and dot */
.field-element input[type="checkbox"]:checked + label:after,
.field-element input[type="radio"]:checked + label:after {
	content: " ";
	position: absolute;
	left: 1px;
	top: 6px;
	font-size: 15px;
}


/* Without labels */
.field-element.field-element--checkbox--no-label input[type="checkbox"] + label,
.field-element.field-element--radio--no-label input[type="radio"] + label {
	padding-left: 0;
}

.field-element.field-element--checkbox--no-label input[type="checkbox"] + label:before,
.field-element.field-element--radio--no-label input[type="radio"] + label:before {
	margin-left: 0;
	margin-right: 0;
}

.field-element.field-element--checkbox--no-label input[type="checkbox"]:checked + label:after,
.field-element.field-element--radio--no-label input[type="radio"]:checked + label:after {
	left: 1px;
}

.field-element.field-element.field-element--radio--no-label input[type="radio"]:checked + label:after {
	margin-left: 4px;
}


/* -- Checkboxes -- */

/* Check (pseudo element) */
.field-element input[type="checkbox"]:checked + label:after {
	content: " ";
	background-image: url(../images/form-icons.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: top -711px left 1px;
	width: 20px;
	height: 20px;
	margin: -2px 0 0 -1px;
}

.field-element--checkboxlist--columns .field-element__input-set {
    -webkit-columns: 3;
    -moz-columns: 3;
    columns: 3;
}

/* -- Radio Buttons -- */

/* Radio button (pseudo element) */
.field-element input[type="radio"] + label:before {
	border-radius: 10px;
}

/* Radio dot (pseudo element) */
.field-element input[type="radio"]:checked + label:after {
	left: 6px;
	top: 10px;
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background: #58595B;
}

/* -- Varations -- */

/* White */
.field-element.field-element--white input[type="checkbox"] + label:before,
.field-element.field-element--white input[type="radio"] + label:before {
	background-color: #FFF;
}

/* Large */
.field-element.field-element--large input[type="checkbox"] + label:before,
.field-element.field-element--large input[type="radio"] + label:before {
	width: 24px;
	height: 24px;
	margin-right: 16px;
	top: 5px;
}

.field-element.field-element--large input[type="radio"]:checked + label:after {
	left: 7px;
	top: 12px;
	width: 10px;
	height: 10px;
	border-radius: 5px;
}
.field-element.field-element--large input[type="checkbox"]:checked + label:after {
	background-position: top -760px left 1px;
	width: 23px;
	height: 23px;
	margin: -2px 0 0 -1px;
}

/* ---- Color picker ---- */
.field-element--colorpicker .textbox.colorpicker {
	padding: 3px 8px;
	height: 43px;
	width: 50px;
}

/* Small */
.field-element--colorpicker.field-element--small .textbox.colorpicker {
	padding: 2px 7px;
	height: 33px;
	width: 39px;
}

/* Large and regular field elements turn small */
@media screen and (max-width: 900px) {
	.field-element.field-element--colorpicker .textbox.colorpicker,
	.field-element.field-element--colorpicker.field-element--large .textbox.colorpicker,
	.field-element.field-element--colorpicker.field-element-regular .textbox.colorpicker {
		padding: 2px 7px;
		height: 33px;
		width: 39px;
	}
}

/* ---- Money ---- */
.field-element--money .field-input .textbox {
	padding-left: 55px;
	background-image: url(../images/form-icons.svg);
	background-repeat: no-repeat;
	background-position: top -447px left 0;
}

.field-element--money .field-input {
	position: relative;
}
.field-element--money .field-input .money-symbol:before {
	content: "\00a4";		/* Generic currency sign */
	position: absolute;
	display: block;
	top: 9px;
	left: 0;
	color: #58595B;
	font-weight: bold;
	font-size: 19px;
	width: 41px;
	text-align: center;
}
.field-element--money .field-input .money-symbol--dollar:before {
	content: "$";    /* Dollars */
}
.field-element--money .field-input .money-symbol--pound:before {
	content: "\00a3";    /* Pounds */
}
.field-element--money .field-input .money-symbol--yen:before {
    content: "\00a5";    /* Yen */
}
.field-element--money .field-input .money-symbol--indian_rupee:before {
    content: "\20B9";   /* Indian rupee */
}

/* White */
.field-element--money.field-element--white .field-input .textbox,
.field-element--money.field-element--white.field-element--small .field-input .textbox,
.field-element--money.field-element--white.field-element--large .field-input .textbox {
	background-position: top -607px left 0;
}

/* Small */
.field-element--money.field-element--small .field-input .textbox {
	background-position: top -447px left 0;
}
.field-element--money.field-element--small .field-input .money-symbol:before {
	top: 4px;
}

/* Large */
.field-element--money.field-element--large .field-input .textbox {
	background-position: top -447px left 0;
}
.field-element--money.field-element--large .field-input .money-symbol:before {
	top: 14px;
}

/* Large and regular field elements turn small */
@media screen and (max-width: 900px) {
	.field-element.field-element--money .field-input .textbox,
	.field-element.field-element--money.field-element--large .field-input .textbox,
	.field-element.field-element--money.field-element--regular .field-input .textbox {
		background-position: top -447px left 0;
		padding-left: 55px;
	}
	.field-element.field-element--white.field-element--money .field-input .textbox,
	.field-element.field-element--white.field-element--money.field-element--large .field-input .textbox,
	.field-element.field-element--white.field-element--money.field-element--regular .field-input .textbox {
		background-position: top -607px left 0;
	}
	.field-element--money .field-input .money-symbol:before,
	.field-element--money.field-element--large .field-input .money-symbol:before,
	.field-element--money.field-element--regular .field-input .money-symbol:before {
		top: 5px;
	}
}


/* ---- Time pickers ---- */

.field-element--timepicker .field-input .textbox {
	padding-left: 55px;
	background-image: url(../images/form-icons.svg),
	url(../images/form-icons.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: top -170px left 12px, top -447px left 0;
}

.ui-timepicker {
	display: block;
	position: absolute;
	height: 200px;
	overflow: auto;
	z-index: 9999 !important;
}

.ui-timepicker-standard {
	background-color: #FFF;
	border: 1px solid #CED2DC;
	display: block;
	margin: 3px 0 0;
	padding: 5px;
	list-style: none outside none;
	border-radius: 4px;
}

.ui-timepicker-standard a {
	color: #24292f;
}

.ui-timepicker-standard .ui-state-hover {
	background-color: #EAECF1;
}

.ui-timepicker-standard .ui-menu-item {
	clear: left;
	float: left;
	margin: 0;
	padding: 0;
	width: 100%;
}

.ui-timepicker-standard .ui-menu-item a {
	display: block;
	padding: 5px 10px;
	line-height: 1.5;
	text-decoration: none;
	border-radius: 3px;
}

.ui-timepicker-hidden {
	display: none;
}

/* White */
.field-element--timepicker.field-element--white .field-input .textbox {
	background-position: top -170px left 12px, top -607px left 0;
}

/* White + Small */
.field-element--timepicker.field-element--white.field-element--small .field-input .textbox {
	background-position: top -175px left 12px, top -607px left 0;
}

/* White + Large */
.field-element--timepicker.field-element--white.field-element--large .field-input .textbox {
	background-position: top -166px left 12px, top -607px left 0;
}

/* Small */
.field-element--timepicker.field-element--small .field-input .textbox {
	background-position: top -175px left 12px, top -447px left 0;
}

/* Large */
.field-element--timepicker.field-element--large .field-input .textbox {
	background-position: top -166px left 12px, top -447px left 0;
}


/* Large and regular field elements turn small */
@media screen and (max-width: 900px) {
	.field-element.field-element--timepicker .field-input .textbox,
	.field-element.field-element--timepicker.field-element--large .field-input .textbox,
	.field-element.field-element--timepicker.field-element--regular .field-input .textbox {
		background-position: top -175px left 12px, top -447px left 0;
		padding-left: 55px;
	}
	.field-element.field-element--white.field-element--timepicker .field-input .textbox,
	.field-element.field-element--white.field-element--timepicker.field-element--large .field-input .textbox,
	.field-element.field-element--white.field-element--timepicker.field-element--regular .field-input .textbox {
		background-position: top -175px left 12px, top -607px left 0;
	}
}

/* ---- Date pickers ---- */

/* Date picker and Date-range picker*/
.field-element--datepicker .field-input .textbox,
.field-element--daterangepicker .field-input .textbox {
	padding-left: 55px;
	background-image: url(../images/form-icons.svg),
	url(../images/form-icons.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: top 11px left 12px, top -447px left 0;
}

/* White */
.field-element--datepicker.field-element--white .field-input .textbox,
.field-element--daterangepicker.field-element--white .field-input .textbox {
	background-position: top 11px left 12px, top -607px left 0;
}
/* White + Small */
.field-element--datepicker.field-element--white.field-element--small .field-input .textbox,
.field-element--daterangepicker.field-element--white.field-element--small .field-input .textbox {
	background-position: top 7px left 12px, top -607px left 0;
}
/* White + Large */
.field-element--datepicker.field-element--white.field-element--large .field-input .textbox,
.field-element--daterangepicker.field-element--white.field-element--large .field-input .textbox {
	background-position: top 15px left 12px, top -607px left 0;
}


/* Small */
.field-element--datepicker.field-element--small .field-input .textbox,
.field-element--daterangepicker.field-element--small .field-input .textbox {
	background-position: top 6px left 12px, top -447px left 0;
}

/* Large */
.field-element--datepicker.field-element--large .field-input .textbox,
.field-element--daterangepicker.field-element--large .field-input .textbox {
	background-position: top 15px left 12px, top -447px left 0;
}


/* Large and regular field elements turn small */
@media screen and (max-width: 900px) {
	.field-element.field-element--datepicker .field-input .textbox,
	.field-element.field-element--datepicker.field-element--regular .field-input .textbox,
	.field-element.field-element--datepicker.field-element--large .field-input .textbox,
	.field-element.field-element--daterangepicker .field-input .textbox,
	.field-element.field-element--daterangepicker.field-element--regular .field-input .textbox,
	.field-element.field-element--daterangepicker.field-element--large .field-input .textbox {
		background-position: top 6px left 12px, top -447px left 0;
		padding-left: 55px;
	}
	.field-element.field-element--white.field-element--datepicker .field-input .textbox,
	.field-element.field-element--white.field-element--datepicker.field-element--regular .field-input .textbox,
	.field-element.field-element--white.field-element--datepicker.field-element--large .field-input .textbox,
	.field-element.field-element--white.field-element--daterangepicker .field-input .textbox,
	.field-element.field-element--white.field-element--daterangepicker.field-element--regular .field-input .textbox,
	.field-element.field-element--white.field-element--daterangepicker.field-element--large .field-input .textbox {
		background-position: top 7px left 12px, top -607px left 0;
	}
}


/* Date/time picker */
.field-element--datetimepicker .field-input .textbox {
	padding-left: 55px;
	background-image: url(../images/form-icons.svg),
	url(../images/form-icons.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: top -88px left 12px, top -447px left 0;
}

/* White */
.field-element--datetimepicker.field-element--white .field-input .textbox {
	background-position: top -88px left 12px, top -607px left 0;
}

/* White + Small */
.field-element--datetimepicker.field-element--small.field-element--white .field-input .textbox {
	background-position: top -93px left 12px, top -607px left 0;
}
/* White + Large */
.field-element--datetimepicker.field-element--large.field-element--white .field-input .textbox {
	background-position: top -85px left 12px, top -607px left 0;
}

/* Small */
.field-element--datetimepicker.field-element--small .field-input .textbox {
	background-position: top -93px left 12px, top -447px left 0;
}

/* Large */
.field-element--datetimepicker.field-element--large .field-input .textbox {
	background-position: top -85px left 12px, top -447px left 0;
}

/* Large and regular field elements turn small */
@media screen and (max-width: 900px) {
	.field-element.field-element--datetimepicker .field-input .textbox,
	.field-element.field-element--datetimepicker.field-element--large .field-input .textbox,
	.field-element.field-element--datetimepicker.field-element--regular .field-input .textbox {
		background-position: top -93px left 12px, top -447px left 0;
		padding-left: 55px;
	}
	.field-element.field-element--white.field-element--datetimepicker .field-input .textbox,
	.field-element.field-element--white.field-element--datetimepicker.field-element--large .field-input .textbox,
	.field-element.field-element--white.field-element--datetimepicker.field-element--regular .field-input .textbox {
		background-position: top -93px left 12px, top -607px left 0;
	}
}


/* Container Appearance */
.daterangepicker {
	position: absolute;
	background: #fff;
	top: 100px;
	left: 20px;
	padding: 4px;
	margin-top: 2px;
	border-radius: 4px;
	width: 278px;
}

.daterangepicker.opensleft:before {
	position: absolute;
	top: -7px;
	right: 9px;
	display: inline-block;
	border-right: 7px solid transparent;
	border-bottom: 7px solid #ccc;
	border-left: 7px solid transparent;
	border-bottom-color: rgba(0, 0, 0, 0.2);
	content: '';
}

.daterangepicker.opensleft:after {
	position: absolute;
	top: -6px;
	right: 10px;
	display: inline-block;
	border-right: 6px solid transparent;
	border-bottom: 6px solid #fff;
	border-left: 6px solid transparent;
	content: '';
}

.daterangepicker.openscenter:before {
	position: absolute;
	top: -7px;
	left: 0;
	right: 0;
	width: 0;
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
	border-right: 7px solid transparent;
	border-bottom: 7px solid #ccc;
	border-left: 7px solid transparent;
	border-bottom-color: rgba(0, 0, 0, 0.2);
	content: '';
}

.daterangepicker.openscenter:after {
	position: absolute;
	top: -6px;
	left: 0;
	right: 0;
	width: 0;
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
	border-right: 6px solid transparent;
	border-bottom: 6px solid #fff;
	border-left: 6px solid transparent;
	content: '';
}

.daterangepicker.opensright:before {
	position: absolute;
	top: -7px;
	left: 9px;
	display: inline-block;
	border-right: 7px solid transparent;
	border-bottom: 7px solid #ccc;
	border-left: 7px solid transparent;
	border-bottom-color: rgba(0, 0, 0, 0.2);
	content: '';
}

.daterangepicker.opensright:after {
	position: absolute;
	top: -6px;
	left: 10px;
	display: inline-block;
	border-right: 6px solid transparent;
	border-bottom: 6px solid #fff;
	border-left: 6px solid transparent;
	content: '';
}

.daterangepicker.dropup{
	margin-top: -5px;
}

.daterangepicker.dropup:before{
	top: initial;
	bottom:-7px;
	border-bottom: initial;
	border-top: 7px solid #CED2DC;
}

.daterangepicker.dropup:after{
	top: initial;
	bottom:-6px;
	border-bottom: initial;
	border-top: 6px solid #fff;
}

.daterangepicker.dropdown-menu {
	max-width: none;
	z-index: 3000;
	display: none;
	border: 1px solid #CED2DC;
}

.daterangepicker.single .ranges, .daterangepicker.single .calendar {
	float: none;
}

.daterangepicker .calendar {
	display: none;
	max-width: 270px;
	margin: 4px;
}

.daterangepicker.show-calendar .calendar {
	display: block;
}

.daterangepicker .calendar.single .calendar-table {
	border: none;
}

/* Calendars */
.daterangepicker .calendar th, .daterangepicker .calendar td {
	white-space: nowrap;
	text-align: center;
	min-width: 32px;
	border: 1px solid #E8E8E8;
}

.daterangepicker .calendar-table {
	border: 1px solid #ddd;
	padding: 4px;
	border-radius: 4px;
	background: #fff;
}

.daterangepicker table {
	width: 100%;
	margin: 0;
	border: none;
}

.daterangepicker td,
.daterangepicker th {
	text-align: center;
	width: 20px;
	height: 20px;
	white-space: nowrap;
	padding: 2px;
}
.daterangepicker td,
.daterangepicker th.available {
	cursor: pointer;
}
.daterangepicker td.off,
.daterangepicker td.off.in-range,
.daterangepicker td.off.start-date,
.daterangepicker td.off.end-date {
	color: #999;
	background: #fff;
	border-color: #E8E8E8;
}
.daterangepicker td.off.in-range {
    background-color: #F4FAFC;
}
.daterangepicker td.off.active {
	background-color: #AAD8EA;
	color: #FFF;
}

.daterangepicker td.disabled,
.daterangepicker option.disabled {
	color: #999;
	cursor: not-allowed;
	text-decoration: line-through;
}

.daterangepicker td.available:hover,
.daterangepicker th.available:hover {
	background: #EAECF1;
}

.daterangepicker td.in-range {
	background: #ebf4f8;
}

.daterangepicker td.active, .daterangepicker td.active:hover {
	background-color: #358AAB;
	border-color: #358AAB;
	color: #fff;
}

.daterangepicker td.week, .daterangepicker th.week {
	font-size: 80%;
	color: #ccc;
}

.daterangepicker select.monthselect, .daterangepicker select.yearselect {
	font-size: 12px;
	padding: 1px;
	height: auto;
	margin: 0;
	cursor: default;
}

.daterangepicker select.yearselect,
.daterangepicker select.monthselect,
.daterangepicker select.hourselect,
.daterangepicker select.minuteselect,
.daterangepicker select.secondselect,
.daterangepicker select.ampmselect {
	margin-bottom: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 62px;
	background-color: #FFF;
	outline: none;
	border-radius: 5px;
	font-size: 1.6rem;
	line-height: 1.2;
	padding: 5px 23px 5px 8px;
	border: 1px solid #CED2DC;
	background-image: url(../images/form-icons.svg),
	url(../images/form-icons.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: top -355px right -119px, top -607px right -115px;
}

.daterangepicker select.monthselect {
	margin-right: 2%;
	width: 40%;
}

.daterangepicker select.yearselect {
	width: 44%;
}

.daterangepicker th.month {
	width: auto;
}

/* Previous/Next buttons */
.daterangepicker th.prev .daterangepicker-prev-icon,
.daterangepicker th.next .daterangepicker-next-icon {
	width: 11px;
	height: 17px;
	background-image: url(../images/form-icons.svg);
	background-repeat: no-repeat;
	display: block;
	margin: 0 auto;
}
.daterangepicker th.prev:hover,
.daterangepicker th.next:hover {
	background: none;
	opacity: 0.8;
}
.daterangepicker th.prev .daterangepicker-prev-icon {
	background-position: top -820px left 0px;
}
.daterangepicker th.next .daterangepicker-next-icon {
	background-position: top -880px left 1px;
}

.daterangepicker th.prev,
.daterangepicker th.next,
.daterangepicker th.month,
.daterangepicker .calendar-table thead tr:first-child th {
	border: none;
	background: none;
}

.daterangepicker .calendar-table thead tr:nth-child(2) th {
	background-color: #F2F2F5;
}

/* Text Input Above Each Calendar */
.daterangepicker .input-mini {
	border: 1px solid #ccc;
	border-radius: 4px;
	color: #555;
	display: block;
	height: 30px;
	line-height: 30px;
	vertical-align: middle;
	margin: 0 0 5px 0;
	padding: 0 6px 0 28px;
	width: 100%;
}

.daterangepicker .input-mini.active {
	border: 1px solid #358AAB;
	background-color: rgb(255, 255, 238);
}

.daterangepicker .daterangepicker_input i {
	position: absolute;
	left: 8px;
	top: 7px;
	color: #596474;
}

.daterangepicker .daterangepicker_input {
	position: relative;
}

/* Time Picker */
.daterangepicker .calendar-time {
	text-align: center;
	margin: 5px auto;
	line-height: 30px;
	position: relative;
}

.daterangepicker .calendar-time select.disabled {
	color: #ccc;
	cursor: not-allowed;
}

/* Predefined Ranges */
.daterangepicker .ranges {
	font-size: 11px;
	float: none;
	margin: 4px;
	text-align: left;
}

.daterangepicker .applyBtn {
	background-color: #35ab75;
	color: #FFF;
}
.daterangepicker .applyBtn:hover,
.daterangepicker .applyBtn:focus {
	background-color: #2C9867;
	color: #FFF;
}

.daterangepicker .cancelBtn {
	background-color: #D0D3DA;
	color: #24292F;
}
.daterangepicker .cancelBtn:hover,
.daterangepicker .cancelBtn:focus {
	background-color: #BCBFC5;
	color: #24292f;
}

.daterangepicker .ranges ul {
	list-style: none;
	margin: 0 auto 12px;
	padding: 0;
	width: 100%;
}

.daterangepicker .ranges li {
	font-size: 1.3rem;
	background: #EAECF1;
	border: 1px solid #f5f5f5;
	color: #24292F;
	padding: 4px 12px 3px;
	margin-bottom: 7px;
	border-radius: 5px;
	cursor: pointer;
	line-height: 1.2;
}

.daterangepicker .ranges li.active, .daterangepicker .ranges li:hover {
	background: #358AAB;
	border: 1px solid #358AAB;
	color: #fff;
}

/*  Larger Screen Styling */
@media (min-width: 564px) {
	.daterangepicker{
		width: auto;
	}

	.daterangepicker .ranges ul {
		width: 160px;
	}

	.daterangepicker.single .ranges ul {
		width: 100%;
	}

	.daterangepicker .calendar.left .calendar-table {
		border-right: none;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.daterangepicker .calendar.right .calendar-table {
		border-left: none;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}

	.daterangepicker .calendar.left {
		clear: left;
		margin-right: 0;
	}

	.daterangepicker.single .calendar.left {
		clear: none;
	}

	.daterangepicker.single .ranges,
	.daterangepicker.single .calendar{
		float:left;
	}

	.daterangepicker .calendar.right {
		margin-left: 0;
	}

	.daterangepicker .left .daterangepicker_input {
		padding-right: 12px;
	}

	.daterangepicker .calendar.left .calendar-table {
		padding-right: 12px;
	}

	.daterangepicker .ranges,
	.daterangepicker .calendar {
		float: left;
	}

}

@media (min-width: 730px) {
	.daterangepicker .ranges {
		width: auto;
		float: left;
	}

	.daterangepicker .calendar.left {
		clear: none;
	}
}


/* ---- File upload area ---- */
.file-upload__input {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.file-upload__helptext {
	padding-top: 14px;
}
.file-upload__helptext--hidden {
	display: none;
}
.file-upload__helptext__line2 {
	display: block;
	font-size: 1.3rem;
}
.file-upload__helptext p {
	margin: 0;
}
.file-upload__helptext:before {
	content: " ";
	display: block;
	width: 27px;
	height: 32px;
	background-image: url(../images/form-icons.svg);
	background-repeat: no-repeat;
	background-position: 0 -1317px;
	margin: 0 auto 10px;
}

.file-upload__area {
	cursor: pointer;
	text-align: center;
}
.field-input .textbox.file-upload__area--dragenter {
	border-color: #35ab75;
}

.file-upload__uploads:before,
.file-upload__uploads:after {
	content: " ";
	display: table;
}

.file-upload__uploads:after {
	clear: both;
}
.file-upload__item,
.file-upload__helptext {
	height: 110px;
	margin-top: 8px;
	margin-bottom: 8px;
}
.file-upload__item {
	background-color: #FFF;
	border: 1px solid #ced2dc;
	width: 110px;
	display: inline-block;
	margin-left: 6px;
	margin-right: 6px;
	position: relative;
	cursor: default;
	vertical-align: top;
}

.file-upload__item__remove {
	-webkit-appearance: none;
	padding: 0;
	outline: none;
	border: none;
	background: none;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	background: rgba(0, 0, 0, 0.3);
}
.file-upload__item__remove:hover,
.file-upload__item__remove:focus {
	background: rgba(0, 0, 0, 0.7);
}

.file-upload__item__remove:after {
	content: " ";
	display: block;
	width: 17px;
	height: 17px;
	background-image: url(../images/form-icons.svg);
	background-repeat: no-repeat;
	background-position: 3px -938px;
}
.file-upload__item__remove__text {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* Feedback */
.file-upload__item__feedback__response {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.file-upload__item__feedback__response p {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	margin: 0;
}

/* Not image response */
.file-upload__item__feedback__response .file-upload__item__feedback__name {
	font-size: 1.2rem;
	margin: 0 0 5px;
}
.file-upload__item__feedback__size {
	font-size: 1.1rem;
	margin: 0;
}
.file-upload__item__feedback__response--success--not-image {
	padding: 26px 15px 20px;
}
.file-upload__item__feedback__response--success--not-image:before {
	content: " ";
	display: block;
	width: 28px;
	height: 24px;
	background-image: url(../images/form-icons.svg);
	background-repeat: no-repeat;
	background-position: 0px -1396px;
	margin: 0 auto 10px;
}

/* Image response */
.file-upload__item__feedback__image {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
}

/* Error */
.file-upload__item__feedback__response--error {
	padding: 25px 15px 20px;
}
.file-upload__item__feedback__response .file-upload__item__feedback__error__text {
	font-size: 1.2rem;
	white-space: normal;
	overflow: visible;
}
.file-upload__item__feedback__response--error:before {
	content: " ";
	display: block;
	width: 23px;
	height: 24px;
	background-image: url(../images/form-icons.svg);
	background-repeat: no-repeat;
	background-position: 0px -1473px;
	margin: 0 auto 10px;
}

/* Hover */
.file-upload__item__feedback__hover {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.5);
	color: #FFF;
	padding: 33px 15px 20px;
	overflow: hidden;
}
.file-upload__item:hover .file-upload__item__feedback__hover {
	opacity: 1;
}
.file-upload__item__feedback__hover__size {
	font-size: 1.1rem;
}
.file-upload__item__feedback__hover__dimensions {
	font-size: 1.1rem;
}
.file-upload__item__feedback__hover .file-upload__item__feedback__hover__name {
	font-size: 1.1rem;
	margin-bottom: 6px;
}

/* Progress circles */
.file-upload__progress-circle {
	position: relative;
	font-size: 1.3rem;
	line-height: 1.1;
	display: block;
	width: 56px;
	height: 56px;
	padding: 21px 0 0 0;
	margin: 26px auto 0;
	text-align: center;
}
.file-upload__progress-circle__amount {
	z-index: 1;
	position: relative;
}
.file-upload__progress-circle__pie {
	-webkit-transform: rotate(-90deg);
	        transform: rotate(-90deg);
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
}
.file-upload__progress-circle__pie__piece {
	-webkit-transition: all 100ms ease-in-out;
	transition: all 100ms ease-in-out;
}



/* ---- File selector ---- */
.field-element--fileselector .fs-select-button {
	float: left;
	margin-right: 9px;
}

.field-element--fileselector .fs-preview-wrapper {
	background-color: #EEF0F3;
	position: relative;
	overflow: hidden;
	display: block;
}

.field-element--fileselector .fs-filename {
	padding: 10px 15px;
	word-break: break-all;
	overflow: hidden;
	display: block;
}
.field-element--fileselector .fs-file-selected .fs-filename {
	padding-left: 10px;
	padding-right: 38px;
}

.field-element--fileselector .fs-preview {
	width: 39px;
	display: none;
	float: left;
}
.field-element--fileselector .fs-file-selected .fs-preview {
	display: block;
}

.field-element--fileselector .fs-remove {
	display: none;
	-webkit-appearance: none;
	outline: none;
	border: none;
	background: none;
	padding: 0;
	color: #D4D7DE;
	position: absolute;
	right: 6px;
	top: 9px;
	background-image: url(../images/form-icons.svg);
	background-repeat: no-repeat;
	background-position: top -1075px left 3px;
	width: 22px;
	height: 22px;
}
.field-element--fileselector .fs-remove:hover,
.field-element--fileselector .fs-remove:focus {background-position: top -1135px left 3px;}
.field-element--fileselector .fs-file-selected .fs-remove {
	display: block;
}


/* Small */
.field-element--fileselector.field-element--small .fs-preview {
	width: 30px;
}
.field-element--fileselector.field-element--small .fs-filename {
	padding-top: 8px;
	padding-bottom: 6px;
	font-size: 1.6rem;
}
.field-element--fileselector.field-element--small .fs-remove {
	top: 6px;
	background-position: top -964px left 3px;
	width: 20px;
	height: 20px;
}
.field-element--fileselector.field-element--small .fs-remove:hover,
.field-element--fileselector.field-element--small .fs-remove:focus {
	background-position: top -1023px left 3px;
}
.field-element--fileselector.field-element--small .fs-file-selected .fs-filename {
	padding-right: 31px;
}

/* Large */
.field-element--fileselector.field-element--large .fs-preview {
	width: 48px;
}
.field-element--fileselector.field-element--large .fs-filename {
	padding-top: 13px;
	padding-bottom: 13px;
	padding-left: 25px;
	padding-right: 25px;
	font-size: 1.8rem;
}
.field-element--fileselector.field-element--large .fs-remove {
	top: 14px;
	right: 9px;
}
.field-element--fileselector.field-element--large .fs-file-selected .fs-filename {
	padding-right: 41px;
	padding-left: 20px;
}

/* Popup */
.file-selector-search-wrapper  {
	display: none;
}
.file-selector-search-wrapper.searched  {
	display: block;
}
#file-selector-preview {
	display: block;
	background: #f9f9fb;
	border: 1px solid #E0E3EA;
	margin: 0 0 20px;
	position: relative;
	padding: 20px 25px;
}
.no-results #file-selector-preview {
	display: none;
}
#file-selector-preview .preview-title {
	margin: 0 0 12px;
}
#file-selector-preview .preview-box {
	position: relative;
	height: 150px;
}
#file-selector-preview img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-right: -50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	margin: 0 auto;
	display: block;
}

#file-selector-upload .field-element--new-category,
#file-selector-upload.new-category .field-element--select-category {
	display: none;
}
#file-selector-upload.new-category .field-element--new-category,
#file-selector-upload .field-element--select-category {
	display: block;
}

#file-selector-result-wrap {
	max-height: 450px;
	overflow: auto;
	border-top: 1px solid #D7D7D7;
	border-bottom: 1px solid #D7D7D7;
}
#file-selector-upload .field-elements-inline,
#file-selector-search .field-elements-inline {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
#file-selector-upload .field-elements-inline .field-element--dropdown,
#file-selector-search .field-elements-inline .field-element--dropdown {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
}
#file-selector-upload .field-elements-inline .field-element--text,
#file-selector-search .field-elements-inline .field-element--text {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
}

#file-selector-stats {
	font-size: 1.6rem;
	margin-bottom: 14px;
}
#file-selector-results .file-select-table {
	margin: 0;
	width: 100%;
	border-left: 1px solid #E0E3EA;
	border-right: 1px solid #E0E3EA;
}
#file-selector-results .file-select-table tr {
	border-bottom: 1px solid #D7D7D7;
	cursor: pointer;
}
#file-selector-results .file-select-table tr:last-child {
	border-bottom: 0;
}
#file-selector-results .file-select-table tr:nth-child(odd) {
	background-color: #f9f9fb;
}

/* Hover */
#file-selector-results .file-select-table tr:hover {
    background-color: #ECE9E9;
}

#file-selector-paginate {
	margin-top: 16px;
}
#file-selector-prev {
	float: left;
}
#file-selector-next {
	float: right;
}
#file-selector-results a {
	text-decoration: none;
	color: inherit;
	display: block;
}
#file-selector-results .file-select-table-thumbnail {
	width: 100px;
	padding: 5px 20px;
}
#file-selector-results .file-select-table-text a {
	padding: 27px 25px 27px 0;
}
#file-selector-results .table--content-standard tr:hover td {
	background-color: red;
}

/* ---- Autocomplete ---- */
.ui-autocomplete {
    list-style: none;
    background: #FFFFFF;
    max-height: 400px;
    overflow-y: auto;
    border: 1px solid #CED2DC;
    border-radius: 4px;
    padding: 3px 0;
    margin: 0;
}
.ui-autocomplete .ui-menu-item {
    padding: 5px 11px;
    cursor: pointer;
}
.ui-autocomplete .ui-menu-item.ui-state-focus {
    padding: 5px 11px;
    background: #358AAB;
    color: #FFF;
}


/* ---- Lightweight elements ---- */
.field-element--lightweight {
	margin: 0;
}


/* ---- TinyMCE tweaks ---- */
.mce-panel {
	border-color: #CED2DC !important;
}
.mce-toolbar-grp,
.mce-flow-layout {
	background-color: #EAECF1 !important;
}
.mce-tinymce{
	border-radius: 5px !important;
	overflow: hidden !important;
}
.mce-btn {
	border: 1px solid #EAECF1 !important;
	background-color: #EAECF1 !important;
}
.mce-btn:hover,
.mce-btn:focus{
	color: #333;
	background-color: #DDE0E6 !important;
	border-color: #C6CAD2 !important;
}
.mce-btn.mce-active,
.mce-btn.mce-active:hover{
	background-color: #CED2DC !important;
	border-color: #B5B8C1 !important;
}
.mce-btn:active{
	background-color:#e0e0e0 !important;
	border-color: #ccc !important;
}
.mce-menu-item:hover, .mce-menu-item.mce-selected, .mce-menu-item:focus {
	background-color: #358AAB !important;
	color: #FFF !important;
}


/* ---- Responsiveness ---- */

/* Large and regular field elements turn small */
@media screen and (max-width: 900px) {
	.field-element .field-input .textbox,
	.field-element.field-element--large .field-input .textbox,
	.field-element.field-element--regular .field-input .textbox {
		font-size: 1.6rem;
		padding: 10px 15px 12px;
	}

	.field-element.field-element--large .button {
		padding: 11px 18px 9px;
		font-size: 1.6rem;
	}

}


/* ---- Explain required fields ---- */
.required-explain {
	font-size: 0.9em;
	margin: 2em 0;
	vertical-align: middle;
}
	.required-explain__asterisk {
		font-size: 2.0em;
		vertical-align: middle;
	}


/* ---- Submit Bar ---- */
.submit-bar {
	text-align: right;
	background: rgba(227,227,223,0.4);
	padding: 14px;
}
	.sidebar .submit-bar {
		padding: 0px 0;
		background: none;
	}
	.submit-bar a {
		margin-right: 20px;
	}
	.submit-bar .right {
		margin-bottom: 0;
	}


/* ---- Search Form ---- */
input.search-query {
	margin-bottom: 0;
	padding-right: 14px;
	padding-left: 14px;
	border-radius: 0;

}

.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
	border-radius: 0;
}

.form-search .input-append .search-query {
	border-radius: 14px 0 0 14px;
}

.form-search .input-append .btn {
	border-radius: 0 14px 14px 0;
}

.form-search .input-prepend .search-query {
	border-radius: 0 14px 14px 0;
}

.form-search .input-prepend .btn {
	border-radius: 14px 0 0 14px;
}

.form-search {
	/*radio*/
}
	.form-search input,
	.form-search textarea,
	.form-search select {
		display: inline-block;
		margin-bottom: 0;
		vertical-align: middle;
	}
	.form-search .hide {
		display: none;
	}
	.form-search label,
	.form-search .btn-group {
		display: inline-block;
	}
	.form-search .radio,
	.form-search .checkbox {
		margin-bottom: 0;
		padding-left: 0;
		vertical-align: middle;
	}
	.form-search .radio input[type="radio"],
	.form-search .checkbox input[type="checkbox"] {
		float: left;
	}
	.form-search .radio input[type="radio"] margin,
	.form-search .checkbox input[type="checkbox"] margin {
		right: 3px;
		left: 0;
	}
	.form-search .control-group {
		margin-bottom: 0.75em;
	}
	.form-search legend + .control-group {
		margin-top: 1.5em;
		-webkit-margin-top-collapse: separate;
	}


/* ---- Search pagination ---- */
.search-paginate {
	padding: 10px 0;
	text-align: center;
}
	.search-paginate .page-prev {
		margin: 0 8px 0 0;
	}
	.search-paginate .page {
		padding: 2px 9px;
		margin: 0 3px;
		background: #eee;
		border: 1px #e11021 solid;
		text-decoration: none;
	}
	.search-paginate .page.on {
		color: #000;
		border-color: #000;
	}
	.search-paginate .page-next {
		margin: 0 0 0 8px;
	}


/* ---- Captcha ---- */
.captcha {
	background-color: rgba(179, 177, 166, 0.15);
	padding: 10px;
	width: 100%;
	border: 1px solid #D7D7D7;
}

	.captcha .captcha-info, .captcha .info {
		float: right;
		padding-bottom: 8px;
	}
	.captcha .captcha-info, .captcha .info a {
		text-decoration: none;
	}
		.captcha .captcha-info .captcha-icon {
			width: 16px;
			height: 16px;
			margin-bottom: 16px;
		}

	.captcha .captcha-img {
		width: 200px;
		margin-bottom: 10px;
	}

	.captcha .captcha-input {
		width: 200px;
	}


/* ------------------------------------------------------
**** Tables
------------------------------------------------------ */

table {
	border-collapse: collapse;
	border: 1px solid #d7d7d7;
}

th,
td {
	padding: 5px 10px;
	border: 1px solid #d7d7d7;
}

th,
thead td {
	background: rgba(244, 243, 242, 1.0);
}

/* ---- Content tables ---- */
.table--content-standard {
	width: 100%;
	margin: 2rem 0;
}
.table--content-standard caption {
	text-align: left;
	padding-bottom: 13px;
}
.table--content-standard th,
.table--content-standard thead td {
	font-weight: bold;
	background-color: #F0F0F0;
	font-size: 1.7rem;
}
.table--content-standard td {
	background-color: #FFF;
}
.table--content-standard th,
.table--content-standard td {
	border: 1px solid #d7d7d7;
	padding: 12px 15px;
	text-align: left;
}


/* Small */
.table--content-standard.table--content-small {
	font-size: 1.3rem;
}
.table--content-standard.table--content-small th,
.table--content-standard.table--content-small td {
	padding: 5px 10px;
}
.table--content-standard.table--content-small th,
.table--content-standard.table--content-small thead td {
	font-size: 1.4rem;
}


/* Nuke top margin so lines up with box on right */
.table--payment-items {
	margin-top: 0;
}


/* ---- Responsive table ---- */
table.responsive {
	overflow: auto;
	overflow-y: hidden;
	overflow-x: auto;
	display: block;
}

/* ---- No Styles Table ---- */
.table__no-styles {
	border-collapse: separate !important;
	border: none !important;
	background: none !important;
	min-width: 0 !important;
}

.table__no-styles th,
.table__no-styles thead td,
.table__no-styles td {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}




/* ------------------------------------------------------
**** Helper classes
------------------------------------------------------ */

/* ---- Clearfix ---- */
.clear {
	height: 0;
	clear: both;
	display: block;
}

.-clearfix:before,
.-clearfix:after {
	content: " ";
	display: table;
}

.-clearfix:after {
	clear: both;
}


/* ---- Hiding classes ---- */
.-ir {
	background-color: transparent;
	border: 0;
	overflow: hidden;
}

.-ir:before {
	content: "";
	display: block;
	width: 0;
	height: 150%;
}

.-hidden {
	display: none !important;
	visibility: hidden;
}

.-vis-hidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.-vis-hidden.focusable:active,
.-vis-hidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

.-invisible {
	visibility: hidden;
}

/* ---- Pseudo elements ---- */

/* Angle Brackets */
.-r-arrow-after:after {
	content: "\00a0\003e";
}
.-r-arrow-before:before {
	content: "\003e\00a0";
}
.-l-arrow-after:after {
	content: "\00a0\003c";
}
.-l-arrow-before:before {
	content: "\003c\00a0";
}


/* Ellipsis */
.ellipsis-2:after {
	content: "..";
}
.ellipsis-3:after {
	content: "...";
}

/* ---- Floats and positioning ---- */

.left {
	margin: 0 30px 30px 0;
	float: left;
}

.right {
	margin: 0 0 30px 30px;
	float: right;
}

.center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.block {
	margin: 0 0 30px;
	display: block;
}

@media screen and (max-width: 600px) {
	.left,
	.center,
	.right {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
		display: block;
		float: none;
	}
}

/* ---- Overlays ---- */

.overlay-video-play {
	position: relative;
	left: 0; top: 0;
	display: block;
}
.overlay-video-play:after {
	content: " ";
	position: absolute;
	left: 0; right: 0;
	top: 0; bottom: 0;
	background: url(../images/video_play.svg) center center no-repeat;
}

/* ---- Grid system ---- */
.grid:before,
.grid:after {
	content: " ";
	display: table;
}

.grid:after {
	clear: both;
}

.grid-col {
	float: left;
	margin-right: 1.754385964912%;
}
.grid-col:last-child,
.grid-col.grid-col-last-in-row {
	margin-right: 0;
}

/* Reverse */
.grid.grid-reverse .grid-col {
	float: right;
	margin-right: 0;
	margin-left: 1.754385964912%;
}
.grid.grid-reverse .grid-col:last-child,
.grid.grid-reverse .grid-col.grid-col-last-in-row {
	margin-left: 0;
}

/* 2 col grid */
.grid-2-cols .grid-col:nth-child(2n+2) {
	margin-right: 0;
}
/* 3 col grid */
.grid-3-cols .grid-col:nth-child(3n+3) {
	margin-right: 0;
}
/* 4 col grid */
.grid-4-cols .grid-col:nth-child(4n+4) {
	margin-right: 0;
}

/* 1 col */
.grid-col-1 {
	width: 6.725146198830%;
}
/* 2 col */
.grid-col-2 {
	width: 15.204678362573%;
}
/* 3 col */
.grid-col-3 {
	width: 23.684210526316%;
}
/* 4 col */
.grid-col-4 {
	width: 32.163742690058%;
}
/* 5 col */
.grid-col-5 {
	width: 40.643274853801%;
}
/* 6 col */
.grid-col-6 {
	width: 49.122807017544%;
}
/* 7 col */
.grid-col-7 {
	width: 57.602339181287%;
}
/* 8 col */
.grid-col-8 {
	width: 66.081871345029%;
}
/* 9 col */
.grid-col-9 {
	width: 74.561403508772%;
}
/* 10 col */
.grid-col-10 {
	width: 83.040935672515%;
}
/* 11 col */
.grid-col-11 {
	width: 91.520467836257%;
}
/* 12 col */
.grid-col-12 {
	width: 100%;
	margin-right: 0;
}

/* BP 1 */
@media screen and (max-width: 1200px) {

	/* 1 col */
	.grid-col-1-bp1 {
		width: 6.725146198830%;
	}
	/* 2 col */
	.grid-col-2-bp1 {
		width: 15.204678362573%;
	}
	/* 3 col */
	.grid-col-3-bp1 {
		width: 23.684210526316%;
	}
	/* 4 col */
	.grid-col-4-bp1 {
		width: 32.163742690058%;
	}
	/* 5 col */
	.grid-col-5-bp1 {
		width: 40.643274853801%;
	}
	/* 6 col */
	.grid-col-6-bp1 {
		width: 49.122807017544%;
	}
	/* 7 col */
	.grid-col-7-bp1 {
		width: 57.602339181287%;
	}
	/* 8 col */
	.grid-col-8-bp1 {
		width: 66.081871345029%;
	}
	/* 9 col */
	.grid-col-9-bp1 {
		width: 74.561403508772%;
	}
	/* 10 col */
	.grid-col-10-bp1 {
		width: 83.040935672515%;
	}
	/* 11 col */
	.grid-col-11-bp1 {
		width: 91.520467836257%;
	}
	/* 12 col */
	.grid-col-12-bp1 {
		width: 100%;
		margin-right: 0;
	}
}

/* BP 2 */
@media screen and (max-width: 900px) {

	/* 1 col */
	.grid-col-1-bp2 {
		width: 6.725146198830%;
	}
	/* 2 col */
	.grid-col-2-bp2 {
		width: 15.204678362573%;
	}
	/* 3 col */
	.grid-col-3-bp2 {
		width: 23.684210526316%;
	}
	/* 4 col */
	.grid-col-4-bp2 {
		width: 32.163742690058%;
	}
	/* 5 col */
	.grid-col-5-bp2 {
		width: 40.643274853801%;
	}
	/* 6 col */
	.grid-col-6-bp2 {
		width: 49.122807017544%;
	}
	/* 7 col */
	.grid-col-7-bp2 {
		width: 57.602339181287%;
	}
	/* 8 col */
	.grid-col-8-bp2 {
		width: 66.081871345029%;
	}
	/* 9 col */
	.grid-col-9-bp2 {
		width: 74.561403508772%;
	}
	/* 10 col */
	.grid-col-10-bp2 {
		width: 83.040935672515%;
	}
	/* 11 col */
	.grid-col-11-bp2 {
		width: 91.520467836257%;
	}
	/* 12 col */
	.grid-col-12-bp2 {
		width: 100%;
		margin-right: 0;
	}
}

/* BP 3 */
@media screen and (max-width: 768px) {

	/* 1 col */
	.grid-col-1-bp3 {
		width: 6.725146198830%;
	}
	/* 2 col */
	.grid-col-2-bp3 {
		width: 15.204678362573%;
	}
	/* 3 col */
	.grid-col-3-bp3 {
		width: 23.684210526316%;
	}
	/* 4 col */
	.grid-col-4-bp3 {
		width: 32.163742690058%;
	}
	/* 5 col */
	.grid-col-5-bp3 {
		width: 40.643274853801%;
	}
	/* 6 col */
	.grid-col-6-bp3 {
		width: 49.122807017544%;
	}
	/* 7 col */
	.grid-col-7-bp3 {
		width: 57.602339181287%;
	}
	/* 8 col */
	.grid-col-8-bp3 {
		width: 66.081871345029%;
	}
	/* 9 col */
	.grid-col-9-bp3 {
		width: 74.561403508772%;
	}
	/* 10 col */
	.grid-col-10-bp3 {
		width: 83.040935672515%;
	}
	/* 11 col */
	.grid-col-11-bp3 {
		width: 91.520467836257%;
	}
	/* 12 col */
	.grid-col-12-bp3 {
		width: 100%;
		margin-right: 0;
	}
}

/* BP 4 */
@media screen and (max-width: 600px) {

	/* 1 col */
	.grid-col-1-bp4 {
		width: 6.725146198830%;
	}
	/* 2 col */
	.grid-col-2-bp4 {
		width: 15.204678362573%;
	}
	/* 3 col */
	.grid-col-3-bp4 {
		width: 23.684210526316%;
	}
	/* 4 col */
	.grid-col-4-bp4 {
		width: 32.163742690058%;
	}
	/* 5 col */
	.grid-col-5-bp4 {
		width: 40.643274853801%;
	}
	/* 6 col */
	.grid-col-6-bp4 {
		width: 49.122807017544%;
	}
	/* 7 col */
	.grid-col-7-bp4 {
		width: 57.602339181287%;
	}
	/* 8 col */
	.grid-col-8-bp4 {
		width: 66.081871345029%;
	}
	/* 9 col */
	.grid-col-9-bp4 {
		width: 74.561403508772%;
	}
	/* 10 col */
	.grid-col-10-bp4 {
		width: 83.040935672515%;
	}
	/* 11 col */
	.grid-col-11-bp4 {
		width: 91.520467836257%;
	}
	/* 12 col */
	.grid-col-12-bp4 {
		width: 100%;
		margin-right: 0;
	}
}

/* ------------------------------------------------------
**** Template Layout
------------------------------------------------------ */

* {
	margin: 0;
}

html,
body {
	background: #FFF;
	height: 100%;
}

#wrap {
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	min-height: 100%;
}

.container {
		width: 88%;
		max-width: 1140px;
		margin: 0 auto;
	}

@media only screen and (min-width: 62em) { /* 992px */
		.container {
		width: 92%;
	}
}

/* ---- template box ---- */

.box {
	padding: 20px;
}

.box-large {
	padding: 20px;
}

@media only screen and (min-width: 25em) { /* 400px */
	.box-large {
		padding: 30px;
	}
}

/* ---- Sections ---- */
.section {
	padding: 20px 0;
}

.section-medium {
	padding: 40px 0;
}

.section-large {
	padding: 40px 0;
}

@media only screen and (min-width: 48em) { /* 768px */

	.section-medium {
		padding: 50px 0 60px;
	}
	.section-large {
		padding: 100px 0;
	}
}


/* ---- Background colours ---- */
.bg-white {
	background-color: #fff;
}
.bg-lightest-grey {
	background-color: rgba(179, 177, 166, 0.15);
}
.bg-light-grey {
	background-color: #e3e3df;
}
.bg-grey {
	background-color: #b3b1a6;
}
.bg-dark-grey {
	background: #4a4a47;
}
.bg-darkest-grey {
	background: #2a333e;
}

.bg-red {
	background: #ce322c;
}

.bg-mono-texture {
	background: url(../images/bg_mono-texture-small.jpg) #f9f9f9 no-repeat center center;
	background-size: cover;
}

@media only screen and (min-width: 37.5em) { /* 600px */
	.bg-mono-texture {
		background-image: url(../images/bg_mono-texture-large.jpg);
	}
}

.mb-0 {
	margin-bottom: 0 !important;
}

/* Text on dark backgrounds */

.reverse-text {
	color: #fff;
}

.reverse-text a {
	color: #fff;
	text-decoration: none;
}

.reverse-text a:hover,
.reverse-text a:active,
.reverse-text a:focus {
	color: #fff;
	text-decoration: underline;
}

.pale-reverse-text,
.pale-reverse-text a {
	color: rgba(255,255,255,0.7);
	text-decoration: none;
}


.pale-reverse-text a:hover,
.pale-reverse-text a:active,
.pale-reverse-text a:focus {
	color: #fff;
	text-decoration: underline;
}

.light-grey-text,
.light-grey-text a {
	color: #b3b1a6;
	text-decoration: none;
}


.light-grey-text a:hover,
.light-grey-text a:active,
.light-grey-text a:focus {
	color: #fff;
}


/* Pre and post text dash decorations */

.short-text-dash-deco {
	display: block;
	margin: 0 auto;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1.6rem;
	font-style: normal;
	font-family: "lato", sans-serif;
}

.short-text-dash-deco:after,
.short-text-dash-deco:before {
	content: '\2013';
	margin: 0 4px;
}

/* Text alignment switching */

.txt-align-center {
	text-align: center;
}

.txt-align-left {
	text-align: left;
}

.txt-align-right {
	text-align: right;
}

@media only screen and (min-width: 48em) {
	.txt-align-sm-center {
		text-align: center;
	}

	.txt-align-sm-left {
		text-align: left;
	}

	.txt-align-sm-right {
		text-align: right;
	}
}

@media only screen and (min-width: 62em) {
	.txt-align-md-center {
		text-align: center;
	}

	.txt-align-md-left {
		text-align: left;
	}

	.txt-align-md-right {
		text-align: right;
	}
}

@media only screen and (min-width: 75em) {
	.txt-align-lg-center {
		text-align: center;
	}

	.txt-align-lg-left {
		text-align: left;
	}

	.txt-align-lg-right {
		text-align: right;
	}
}

/* ---- Header ---- */


#header #frankenmenu {
	height: 88px;
}


.banner {
	padding: 40px 0 20px;
}

.banner h1 {
	text-align: right;
	line-height: 1.2;
	letter-spacing: -1px;
	font-size: 2.4rem;
}

@media only screen and (min-width: 25em) { /* 400px */
	.banner {
		min-height: 180px;

		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;

		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
        flex-direction: column;

		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;

		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;

	}

	.banner h1 {
		font-size: 3rem;
	}
}

@media only screen and (min-width: 31.25em) { /* 500px */

	.banner h1 {
		font-size: 3.6rem;
	}
}

@media only screen and (min-width: 48em) { /* 768px */
	.banner h1 {
		font-size: 3.8rem;
	}
	.banner--cruise h1 {
		padding-left: 220px;
	}
}

@media only screen and (min-width: 62em) { /* 992px */
	.banner h1 {
		font-size: 4.8rem;
	}
	.banner {
		min-height: 190px;
	}
	.banner--cruise {
		min-height: 220px;
	}
}

@media only screen and (min-width: 75em) { /* 1200px */
	.banner h1 {
		font-size: 6rem;
		line-height: 1;
	}
	.banner--cruise {
		min-height: 290px;
	}
}

/* reused nav styles */

.extra-nav-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: block;
}

.extra-nav-list__item {
	list-style-type: none;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1.6rem;
	height: 50px;
}

.extra-nav-list__item__link {
	color: #b3b1a6;
	padding: 13px 15px;
	display: block;
	text-decoration: none;
	border-bottom: 1px solid #6a6964;
	-webkit-transition: color 200ms ease-in-out;
	transition: color 200ms ease-in-out
}

.extra-nav-list__item__link:hover,
.extra-nav-list__item__link:focus,
.extra-nav-list__item__link:active {
	color: #FFFFFF;
}

/* Home icon (the rest of the styles are in frankenmenu.css) */

.extra-nav-list__item--home {
	padding-left: 0;
}

.extra-nav-list__item--home a {
	height: 43px;
}

.extra-nav-list__item--home a.extra-nav-list__item__link:after,
.extra-nav-list__item--home a.extra-nav-list__item__link {
	background-position: center center;
}

@media only screen and (min-width: 65em) {
	.extra-nav-list__item {
		float: left;
		display: block;
	}

	.extra-nav-list__item__link {
		padding: 12px 12px 10px;
		border-bottom: 0px;
		font-size: 1.5rem;
	}
}


@media only screen and (min-width: 1120px) {
	.extra-nav-list__item {
		float: left;
		display: block;
	}

	.extra-nav-list__item__link {
		padding: 16px 17px 10px;
		border-bottom: 0px;
	}

	.extra-nav-list__item--home a {
		height: 50px;
	}
}




/* ---- cruise itinerary promos ---- */

.cruising-grid {
    margin: 0;
}

.cruising-grid .col-xs-12 {
    padding: 0;
}

.cruise-box-link-wrap:link,
.cruise-box-link-wrap:focus,
.cruise-box-link-wrap:hover,
.cruise-box-link-wrap:active,
.cruise-box-link-wrap {
	color: inherit;
	text-decoration: inherit;
}

.cruise-box {
    position: relative;
    text-align: center;
    color: #fff;
    min-height: 500px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

}

.cruising-grid--award-features .cruise-box:after {
	content: '';
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 70px;
	height: 76px;
}

@media screen and (min-width: 30em) {/* 480px */

    .cruising-grid--award-features .cruise-box:after {
    	width: 62px;
		height: 67px;
    }
}

.cruise-box__teaser-text {
	padding-bottom: 60px;
    opacity: 1;
    -webkit-transition: opacity 500ms ease-in-out;
    transition: opacity 500ms ease-in-out;

    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;

    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;

    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;

    -ms-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    -ms-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.cruise-box:hover .cruise-box__teaser-text {
    opacity: 0;
}

.cruise-box-heading {
    margin-top: 0;
    font-size: 3rem;
    line-height: 1.2;
    margin-bottom: 30px;
}

.cruise-box-price {
    font-family: "mrs-eaves", serif;
    font-style: italic;
    font-size: 3rem;
    line-height: 1.2;
    margin-bottom: 30px;
}

.cruise-box-details {
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.2;
}

.cruise-box-details p {
    margin: 0 0 25px;
}

.cruise-box-details__more-link {
    opacity: .65;
    color: #ffffff;
    -webkit-transition: opacity 150ms ease-in-out;
    transition: opacity 150ms ease-in-out;
}

.cruise-box-details__more-link:hover {
    opacity: 1;
    color: #ffffff;

}

.button.cruise-box--cta-btn {
    margin-top: 10px;
    padding-left: 60px;
    padding-right: 60px;
}

.cruise-box--2-night {
    background-image: url(../images/img_2nightcruise.jpg);
    background-position: 20% center;
}

.cruise-box--5-night {
    background-image: url(../images/img_5nightcruise.jpg);
}

.cruise-box--lunch-mannum {
    background-image: url(../images/img_lunch-2.jpg);
    background-position: 20% center;
}

.cruise-box--lunch-mypolonga {
    background-image: url(../images/img_lunch-1.jpg);
}

.cruise-box__overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(209,48,37,.8);
    padding: 10px 20px 80px;

    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;

    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -ms-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    opacity: 0;
    -webkit-transition: opacity 500ms ease-in-out;
    transition: opacity 500ms ease-in-out;
}

.cruise-box:hover .cruise-box__overlay {
    opacity: 1;
}

@media screen and (min-width: 30em) {/* 480px */
    .cruise-box__overlay {
        padding: 20px
    }
}



/* ---- Book Call to Action ---- */

.book-cta {
	padding-top: 6px;
	margin-left: -5px;
}

.book-cta__btn {
	float: left;
	padding: 6px 15px;
	background: transparent;
	border: 2px solid #6a6964;
}

a.book-cta__phone {
	font-size: 2rem;
	font-weight: 300;
	line-height: 36px;  /* approx match the btn height */
	color: #ffffff;
	text-decoration: none;
	float: right;
	-webkit-transition: color 300ms ease-in-out;
	transition: color 300ms ease-in-out;
	margin-left: 15px;
	letter-spacing: -0.8px;
}

.book-cta__phone:before {
	content: '\00a0';
	display: inline-block;
	width: 30px;
	height: 28px;
	background: url(../images/icon_phone.svg) no-repeat left bottom;
}



/* Sticky nav booking cta */

.book-cta--stickynav {
	padding-top: 27px;
	text-align: right;
}

.book-cta--stickynav .book-cta__btn,
.book-cta--stickynav .book-cta__phone {
	float: none;
}

.book-cta--stickynav .book-cta__phone {
	position: relative;
	letter-spacing: -0.8px;
	top: 6px;
}




@media only screen and (min-width: 25em) { /* 400px */
	a.book-cta__phone {
		font-size: 2.5rem;
		line-height: 36px;  /* approx match the btn height */
	}
}


@media only screen and (min-width: 28.75em) { /* 460px */
	a.book-cta__phone {
		font-size: 3rem;
		line-height: 30px; /* approx match the btn height */
	}
}


@media only screen and (min-width: 62em) and (max-width: 68.6875em) { /* 992px 1099px */
	a.book-cta__phone {
		font-size: 2.4rem;
		line-height: 30px; /* approx match the btn height */
	}
	.book-cta--stickynav a.book-cta__phone {
		top: 9px;
	}
	.book-cta__phone:before {
		height: 24px;
	}
}




@media screen and (max-width: 20.625em) { /* 330px */
	.book-cta__btn,
	.book-cta__phone {
		display: block;
		width: 100%;
		text-align: center;
		margin-top: 10px;
	}

}

@media screen and (max-width: 47.9375em) { /* 767px */

	.footer-mainnav-section .book-cta {
		padding-top: 25px;
	}
}

@media only screen and (min-width: 62em) { /* 992px */

	.footer-mainnav-section .book-cta {
		margin-left: -60px;
		max-width: 350px;
		float: right;
	}
}

@media screen and (max-width: 61.9375em) { /* 991px */

	.book-cta--stickynav .book-cta__btn {
		display: none;
	}
}

@media screen and (max-width: 74.9375em) { /* 1199px */
	.book-cta--stickynav .book-cta__btn {
		display: none;
	}
	.book-cta {
		margin-left: 0;
	}
}

.footer-logo--tall {
    max-width: 160px;
}


/* ---- Cruise Itineraries ---- */

.cruise-itineraries {
	margin-right: 0rem;
	margin-left: 0rem;
	margin-bottom: -2px;
}

.cruise-itin {
	position: relative;
	padding-left: 0;
	padding-right: 0;
	border-right: 2px solid #e3e3df;
	border-bottom: 2px solid #e3e3df;
	border-left: 2px solid #e3e3df;
}

.cruise-itineraries--in-content {
	border-top: 2px solid #e3e3df;
}

.cruise-itin--date {
	cursor: pointer;
	-webkit-transition: all 300ms ease;
	transition: all 300ms ease;
}

.cruise-itin--date:hover {
	background: rgb(241, 241, 239);
}
.cruise-itin--passed:hover {
	background: inherit;
}

.cruise-itin--loading {
	opacity: 0.2;
}
.cruise-itin--passed {
	color: #AAA;
}

/* button */
.cruise-itin--date:hover .button {
    background-color: #6a6964;
    border-color: #6a6964;
    color: #FFFFFF;
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
}

.cruise-itin .button:after {
	-webkit-transition: all 300ms ease;
	transition: all 300ms ease;
}


.cruise-itin--selected {
	cursor: inherit;
	background: #e3e3df;
}
.cruise-itin--selected .button {
    background-color: #81b860;
    border-color: #81b860;
    color: #FFF;
    cursor: default;
}

.cruise-itin--selected .button:after {
	-webkit-transition: all 300ms ease;
	transition: all 300ms ease;
	content: 'ed';
}

.cruise-itin--selected:hover .button {
	background-color: #81b860;
    border-color: #81b860;
    color: #FFF;
}

.cruise-itin-wrap {
	padding: 15px 15px 15px;
	position: relative;
	overflow: hidden;
}

.cruise-itin-wrap--availability {
	border-left: 0px;
	border-right: 0px;
	padding-top: 10px;
	padding-bottom: 20px;
	height: 100%;

    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex: 0 1 auto;
    -webkit-box-flex: 0;
    flex: 0 1 auto;

    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;

	-ms-justify-content: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.cruise-itin__heading {
	font-family: "mrs-eaves", serif;
	font-style: italic;
	font-size: 4rem;
	text-align: left;
	line-height: .8;
	margin-bottom: 14px;
}

.cruise-itin-wrap--availability .field-element {
	margin: 0;
}

.cruise-itin-wrap--availability .dropdown {
	font-family: "lato", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	color: #6a6964;
}


/*  status variations */

.cruise-itin-status {
	display: none;
	background: #e3e3df;
	color: #b3b1a6;
	text-transform: uppercase;
	font-weight: bold;
	line-height: 1.05;
	position: absolute;
	top: 0;
	width: 108px;
	height: 54px;
	padding-top: 15px;
	right: -54px;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
	-webkit-transform-origin: center top;
	        transform-origin: center top;
}

.cruise-itin-status--sold {
	color: #ffffff;
	background: #e11021;
	padding-top: 26px;
}

.cruise-itin-status--sale {
	color: #ffffff;
	background: #81b860;
}

.cruise-itin .button {
	font-size: 1.6rem;
	padding: 6px 16px;
}

.cruise-itin__btn-sold-out {
	border-top: 2px solid #e3e3df;
	text-transform: uppercase;
	color: #b3b1a6;
	text-transform: uppercase;
	font-weight: bold;
	padding-top: 11px;
	text-align: center;
}


/* date styles */

.cruise-itin-month-year {
	text-transform: uppercase;
	font-weight: bold;
}

.cruise-itin-month-year,
.cruise-itin-day {
	display: inline-block;
	font-weight: 600;
}

.cruise-itin-status--sold + .cruise-itin-month-year,
.cruise-itin-status--sold + .cruise-itin-month-year + .cruise-itin-day {
	color: #b3b1a6;
}


@media only screen and (min-width: 48em) {
	.cruise-itin-wrap--availability {
		padding-top: 30px;
		padding-bottom: 30px;
	}
}


@media only screen and (min-width: 62em) { /* 992px */
	.cruise-itin-status {
		display: block;
	}
	.cruise-itin-wrap {
		padding: 35px 23px 30px;
		text-align: center;
	}

	.cruise-itin-month-year,
	.cruise-itin-day {
		display: block;
	}

	.cruise-itin-month-year:after,
	.cruise-itin-month-year:before {
		content: '\2014';
	}

	.cruise-itin-day {
		font-size: 3.8rem;
		font-weight: 300;
		line-height: 30px;
		margin-bottom: 20px;
	}
	.cruise-itin:first-child,
	.cruise-itin:last-child {
		border-right: 2px solid #e3e3df;
	}

	.cruise-itin {
		border-right: 0px solid #e3e3df;
		border-bottom: 2px solid #e3e3df;
		border-left: 2px solid #e3e3df;
	}

	.cruise-itin-day--sm-screen {
		display: none;
	}
}

@media only screen and (min-width: 75em) { /* 1200px */

	.cruise-itin-wrap {
		padding-left: 28px;
		padding-right: 28px;
	}

	.cruise-itin-wrap--availability {
		padding: 30px 28px 30px 0;
	}

	.cruise-itin:first-child {
		max-width: 180px;
		border-right: 0px solid #e3e3df;
		border-left: 0px solid #e3e3df;
	}

	.cruise-itineraries--in-content .cruise-itin:last-child {
		border-right: 0px solid #e3e3df;
	}
}

/* max-width */
@media only screen and (max-width: 61.9375em) {/* 991px */

	.cruise-itin-day:after {
		content: '\00a0';
	}

	.cruise-itin-day--lg-screen {
		display: none;
	}

	.cruise-itin__btn-sold-out,
	.cruise-itin .button {
		position: absolute;
		display: inline-block;
		width: auto;
		top: 10px;
		right: 10px;
		padding-left: 13px;
		padding-right: 13px;
		min-width: 108px;
	}
	.cruise-itin__btn-sold-out {
		border: 0px;
		padding-top: 5px;
	}

}


/* ---- Tabs ---- */


/* tab items */

.tab-nav {
	margin-bottom: -1px;
	margin-right: -.5rem;
	margin-left: -.5rem;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.tab-nav__item {
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.2;
	padding-right: .5rem;
	padding-left: .5rem;

	-ms-display: flex;
	display: -webkit-box;
	display: flex;

	-ms-flex-direction: column;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	        flex-direction: column;

	-ms-justify-content: center;
	-webkit-box-pack: stretch;
	    -ms-flex-pack: stretch;
	        justify-content: stretch;

	-ms-align-self: stretch;
	-ms-flex-item-align: stretch;
	    align-self: stretch;
}


@media only screen and (max-width: 47.9375em) { /* 767px */

	.tab-nav__item--book:nth-child(2n+1) {
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		max-width: 100%;
	}

}

.tab-nav__item__link {
	word-break: inherit !important;
	background: #b3b1a6;
	color: #e3e3df;
	display: block;
	text-decoration: none;
	text-align: center;
	height: 100%;
	min-height: 49px;
	padding: 15px 12px;
	margin-bottom: 8px;
	-webkit-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
	-webkit-transform: translateX(0px);
	transform: translateX(0px);
	-ms-flex: 1 0 0px;
	-webkit-box-flex: 1 0 0px;
	flex: 1 0 0px;
	-ms-align-self: stretch;
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;

	position: relative;

}

.tab-nav__item--book .tab-nav__item__link {
	background: #81b860;
	color: #FFFFFF;
}

.tab-nav__item--book .tab-nav__item__link:hover {
	background: #639852;
	color: #FFFFFF;
}

.tab-nav__item__link:hover,
.tab-nav__item__link:focus,
.tab-nav__item__link:active,
.tab-nav__item--on .tab-nav__item__link {
	color: #b3b1a6;
	background: #FFFFFF;
}


@media only screen and (min-width: 48em) { /* 768px */

	.tab-nav__item__link:after {
		content: '\00a0';
		position: absolute;
		background: #b3b1a6;
		bottom: 0rem;
		left: 0;
		right: 0;
		height: 1rem;
		-webkit-transform: translateX(0px);
		transform: translateX(0px);
		-webkit-transition: all 150ms ease-in-out;
		transition: all 150ms ease-in-out;
	}

	.tab-nav__item__link:hover:after,
	.tab-nav__item--on .tab-nav__item__link:after {
		background: #ffffff;
		bottom: -1rem;
	}


	.tab-nav__item--book .tab-nav__item__link:after {
		display: none;
	}

}



/* tab content */

.tabs__content-box {
	padding: 15px;

	-webkit-transition: height 300ms ease-in-out;
	transition: height 300ms ease-in-out;
}

@media only screen and (min-width: 25em) { /* 400px */
	.tabs__content-box {
		padding: 20px;
	}
}

@media only screen and (min-width: 48em) { /* 768px */
	.tabs__content-box {
		padding: 30px 35px;
	}

	.tabs__content-box__text-area {
		padding-left: 20px;
		padding-right: 20px;
	}

}



/* ---- getting there map ---- */

.getting-there-map,
.getting-there-map--image {
	margin-bottom: 20px;
}
.getting-there-map--image {
	object-fit: cover;
	object-position: center;
	aspect-ratio: 1;
	display: block;
}
.getting-there-map {
    background-repeat: no-repeat;
    background-size: 600px auto;
    background-position: center center;
	min-height: 180px;
}
@media screen and (min-width: 480px) {
    .getting-there-map {
        background-size: 700px auto;
		min-height: 260px;
    }
}
@media screen and (min-width: 600px) {
	.getting-there-map--image {
		width: 45%;
		float: right;
		margin-left: 1em;
	}
    .getting-there-map {
        background-size: 800px auto;
		min-height: 300px;
    }
}
@media screen and (min-width: 768px) {
	.getting-there-map {
        background-size: 100% auto;
		min-height: 340px;
    }
}
@media screen and (min-width: 1200px) {
    .getting-there-map {
        background-size: 115% auto;
        background-position: center center;
		min-height: 500px;
    }
}



/* ---- award-feature ---- */

.section--award-feature {
    position: relative;
    text-align: center;
}

.section--award-feature .row {
    margin: 0;
}

.section--award-feature .h1 {
    margin: 0;
}


@media screen and (min-width: 48em) { /*768px*/
	.section--award-feature {
	    text-align: left;
	}
}

.award-feature-logos {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-end;
}

.award-feature-logos__logo  {
	padding: 0 8px;

}


/* ---- Lunch promo ---- */

.section--lunch-cruises {
	padding-top: 35px;
	text-align: center;
	padding-bottom: 48%;
	background-image: url(../images/bg_lunch-cruises-promo__small.jpg);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: bottom left;
}

@media screen and (min-width: 600px) { /*600px*/
	.section--lunch-cruises {
		background-image: url(../images/bg_lunch-cruises-promo__medium.jpg);
	}
}

.heading--lunch-cruises {
	font-family: "mrs-eaves", serif;
	font-style: italic;
	font-size: 3.6rem;
}

.lunch-cruises-description {
	font-size: 2.6rem;
	font-weight: 300;
	line-height: 1.3;
	margin-bottom: 3rem;
}

@media screen and (min-width: 48em) { /*768px*/
	.section--lunch-cruises .button {
		min-width: 300px;
	}
}

@media screen and (min-width: 62em) { /*992px*/
	.section--lunch-cruises {
		padding-top: 45px;
		padding-bottom: 35px;
		background-image: url(../images/bg_lunch-cruises-promo__large.jpg);
		background-size: auto 100%;
	}
	.section--lunch-cruises .container {
		padding-left: 50%;
	}
}

@media screen and (min-width: 62em) { /*992px*/
	.section--lunch-cruises {
		padding-top: 65px;
		padding-bottom: 45px;
		background-image: url(../images/bg_lunch-cruises-promo__large.jpg);
		background-size: auto 100%;
		background-position: -100px bottom;
	}
	.section--lunch-cruises .container {
		padding-left: 40%;
	}
}

@media screen and (min-width: 75em) { /*1200px*/

	.section--lunch-cruises .container {
		padding-left: 25%;

	}
	.section--lunch-cruises {
		background-position: left bottom;
	}
}


/* ---- testimonial ---- */

.section--feature-testimonial {
	position: relative;
}

.feature-testimonial {
	font-family: "mrs-eaves", serif;
	font-style: italic;
	font-size: 3rem;
	line-height: 1.1;
	text-align: center;
	padding: 0;
	margin-bottom: 0;
}

.feature-testimonial__footer {
	margin-top: 60px;
	padding: 40px 0 0px;
	position: relative;
}

.feature-testimonial__footer:before {
	content: '\00a0';
	background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22275%22%20height%3D%222.5%22%20viewBox%3D%220%200%20550%205%22%3E%0D%0A%20%20%3Cpath%20fill%3D%22%23e3e3df%22%20fill-rule%3D%22evenodd%22%20d%3D%22M1225%2C2982v-5h550v5H1225Z%22%20transform%3D%22translate%28-1225%20-2977%29%22%2F%3E%0D%0A%3C%2Fsvg%3E) no-repeat center center;
	position: absolute;
	height: 2px;
	right: 45px;
	left: 45px;
	top: 0;
}

.feature-testimonial__footer:after {
    content: '\00a0';
    position: absolute;
    background: url(../images/pm-icon_on-white.png) no-repeat center center;
    background-size: 40px auto;
    height: 50px;
    right: 0;
    left: 0;
    top: -25px;
}

.feature-testimonial__cite {
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	font-style: normal;
	text-transform: uppercase;
	color: #b3b1a6;
	font-size: 1.6rem;
}


.feature-testimonial__cite:before {
	content: '\2013\00a0'
}

.feature-testimonial-cta {
	text-align: center;
	margin: 40px 0 0px;
}

.feature-testimonial-cta a {

	text-decoration: none;
	color: #b3b1a6;
	text-transform: uppercase;
	font-weight: bold;
	border-bottom: 1px solid transparent;
	-webkit-transition: all 200ms ease-in-out;
	transition: all 200ms ease-in-out;
	padding-bottom: 4px;
}

.feature-testimonial-cta a:hover {
	border-bottom: 1px solid #4a4a47;
	color: #4a4a47;
}

@media only screen and (min-width: 31.25em) { /* 500px */

	.feature-testimonial {
		font-size: 4rem;
		padding-left: 40px;
		padding-right: 40px;
	}

    .feature-testimonial__footer:after {
        background-size: 48px auto;
    }

    .feature-testimonial-cta {
    	margin-bottom: -20px;
    }

}


@media only screen and (min-width: 62em) { /* 992px */

	.feature-testimonial-cta {
		margin: 0;
		height: 0px;
		position: relative;
	}
	.feature-testimonial-cta a {
		position: absolute;
		bottom: 100%;
		right: 0;
		text-decoration: none;
		color: #b3b1a6;
		text-transform: uppercase;
		font-weight: bold;
		border-bottom: 1px solid transparent;
		-webkit-transition: all 200ms ease-in-out;
		transition: all 200ms ease-in-out;
		padding-bottom: 4px;
	}
}

.testimonials-list {
	margin-bottom: 40px;
	text-align: left;
}

.testimonials-list__footer {
	padding: 0 0 30px 0;
	position: relative;
}

.testimonials-list__footer:before {
	content: '\00a0';
	background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22275%22%20height%3D%222.5%22%20viewBox%3D%220%200%20550%205%22%3E%0D%0A%20%20%3Cpath%20fill%3D%22%23e3e3df%22%20fill-rule%3D%22evenodd%22%20d%3D%22M1225%2C2982v-5h550v5H1225Z%22%20transform%3D%22translate%28-1225%20-2977%29%22%2F%3E%0D%0A%3C%2Fsvg%3E) no-repeat center center;
	position: absolute;
	height: 2px;
	right: 45px;
	left: 45px;
	bottom: 0;
}

.testimonials-list__footer::after {
    content: '\00a0';
    position: absolute;
    background: url(../images/pm-icon_on-white.png) no-repeat center center;
    background-size: 40px auto;
    height: 50px;
    right: 0;
    left: 0;
    bottom: -25px;
}

.testimonials-list__cite {
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	font-style: normal;
	text-transform: uppercase;
	color: #b3b1a6;
	font-size: 1.6rem;
}

.testimonials-list__cite:before {
	content: '\2013\00a0'
}


/* ---- Footer ---- */

#footer {
	position: relative;
}

/* video quicklinks layout */

.video-quicklinks__wrap {
	margin-bottom: 0;
}

.video-quicklinks {
	border-right: 2px solid #6a6964;
	border-left: 2px solid #6a6964;
	overflow: hidden;
}

.video-quicklinks__item__text-wrap {
	position: relative;
}

.video-quicklinks__item__button-wrap {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999;

	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;

	-ms-flex-flow: column nowrap;
	flex-flow: column nowrap;
	-ms-justify-content: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-align-items: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.video-quicklinks__item {
	text-align: center;
	min-height: 280px;
	border-bottom: 2px solid #6a6964;
	padding: 65px 15px 75px;
	border-left: 2px solid #6a6964;

	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;

	-ms-flex-flow: column nowrap;
	flex-flow: column nowrap;
	-ms-justify-content: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-align-items: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.video-quicklinks--excursions {
	background-image: url(../images/excursions_bg.jpg);
}

.video-quicklinks--cuisine {
	background-image: url(../images/cuisine_bg.jpg);
}

.video-quicklinks--accommodation {
	background-image: url(../images/accommodation_bg.jpg);
}

.video-quicklinks--crew {
	background-image: url(../images/crew_bg.jpg);
}


.video-quicklinks__item:last-child {
	border-bottom: 0;
}

.video-quicklinks__item:first-child {
	border-left: 2px solid #6a6964;
}

.video-quicklinks__item__text {
	color: #ffffff;
	text-decoration: none;
	font-family: "mrs-eaves", serif;
	font-style: italic;
	font-size: 4rem;
	line-height: 1.5;
	z-index: 900;
	opacity: 1;
	-webkit-transition: opacity 1500ms ease 500ms;
	transition: opacity 1500ms ease 500ms;
}

.video-quicklinks__item__text .short-text-dash-deco {
	color: #b3b1a6;
}




/* video quicklinks video hovers */


.button--video-quicklinks {
	opacity: 0;
	-webkit-transition: opacity 1000ms ease 500ms;
	transition: opacity 1000ms ease 500ms;
	z-index: 9999;
}

.hover-video-wrapper {
	position: relative;
	overflow: hidden;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.hover-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	-webkit-transition: all 1000ms ease 500ms;
	transition: all 1000ms ease 500ms;
	opacity: 0;
}

.touchevents .hover-video {
	display: none;
}

.video-quicklinks__item:hover .hover-video {
	opacity: 1;
	-webkit-transition: opacity 1000ms ease;
	transition: opacity 1000ms ease;
}

.video-quicklinks__item:hover .button--video-quicklinks {
	opacity: 1;
	-webkit-transition: opacity 1500ms ease 750ms, background 300ms ease, border 300ms ease;
	transition: opacity 1500ms ease 750ms, background 300ms ease, border 300ms ease;
}

.video-quicklinks__item:hover .video-quicklinks__item__text {
	opacity: 0;
	-webkit-transition: opacity 1000ms ease;
	transition: opacity 1000ms ease;
}




/* ---- footer logos ---- */

.footer-logos {
	margin-bottom: 0;
	margin-top: 5px;
}

.footer-logos__item {
	text-align: center;
	min-width: 100px;
	padding: 5px 10px 15px;
}

@media screen and (max-width: 61.9375em) { /* 991px */
	.footer-logo {
		max-height: 85px;
		width: auto;
	}
}

@media only screen and (max-width: 47.9375em) { /* 767px */
	.footer-logo {
		max-height: 72px;
	}
}



/* socials and email signups */

.footer-social-heading {
	text-align: center;
	font-family: 'Nixie One', Lucida Console, Lucida Sans Typewriter, monaco, monospace;
	text-transform: uppercase;
	font-size: 4rem;
	line-height: 40px;
	padding: 3rem 0 4rem;
	border-bottom: 2px solid #ffffff;
	max-width: 550px;
	margin: 0 auto 40px;
	position: relative;
}

.footer-social-heading:after {
	content: '';
	position: absolute;
	background: url(../images/pm-icon_on-grey.png) no-repeat center center;
	background-size: 40px auto;
	height: 50px;
	right: 0;
	left: 0;
	bottom: -25px;
}

@media only screen and (min-width: 31.25em) { /* 500px */
	.footer-social-heading {
		font-size: 5rem;
		line-height: 48px;
	}

	.footer-social-heading:after {
		background-size: 48px auto;
	}

}

@media only screen and (min-width: 48em) { /* 768px */
	.footer-social-heading {
		font-size: 6rem;
		padding: 6rem 0 6rem;
	}
}

.footer-social-btns {
	list-style-type: none;
	padding: 0;
	margin: 0 auto;
	max-width: 434px;
}

.footer-social-btns__item {
	display: inline-block;
	padding: 20px 15px;
	width: 33.3333%;
}

@media only screen and (min-width: 25em) { /* 400px */
	.footer-social-btns__item {
		padding: 20px;
	}
}

.footer-social-icon path {
	fill: #b3b1a6;
	-webkit-transition: fill 150ms ease-in-out;
	transition: fill 150ms ease-in-out;
}

.footer-social-icon:hover path {
	fill: #4a4a47;
}


/* enews signup form */

.footer-enews {
	max-width: 438px;
	margin: 0 auto 30px;
}

.footer-enews-heading {
	font-size: 3rem;
	line-height: 3rem;
	margin-bottom: 2.8rem;
}

.footer-enews .field-element {
	position: relative;
	margin: 0;
}

.footer-enews .button {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	color: #e3e3df;
	background: #b3b1a5;
}

.footer-enews .button:hover,
.footer-enews .button:focus,
.footer-enews .button:active {

	color: #FFFFFF;
	background: #ce322c;
}


@media only screen and (max-width: 61.9375em) { /* 991px */
	.footer-enews-heading {
		text-align: center;
	}
}



@media only screen and (min-width: 31.25em) { /* 500px */
	.footer-enews {
		margin-bottom: 55px;
	}

}



/* footer-nav */

.footer-nav .button {
	text-decoration: none !important;
	color: #ffffff;
}

/* main nav */
.footer-mainnav-section {
	padding: 15px 0 25px;
}

/* subnavs */
.footer-subnavs {
	padding: 30px 0 30px;
	border-top: 2px solid #6a6964;
}

.footer-subnav {
	list-style-type: none;
	padding: 0;
	margin: 0;
}


.footer-subnav__item {
	font-weight: bold;
	text-transform: uppercase;
	padding: 5px 0;
	position: relative;
	margin-left: 13px;
}

.footer-subnav__item a:hover,
.footer-subnav__item a:focus,
.footer-subnav__item a:active {
	text-decoration: none;
}

.footer-subnav__item:last-child {
	margin-right: 0px;
}

.footer-subnav__item:before {
	content: '\003e';
	margin-right: 4px;
	position: absolute;
	left: -14px;
}

@media only screen and (min-width: 48em) { /* 768px */
	.footer-subnav__item {
		display: inline-block;
		margin-right: 15px;
	}

	.footer-subnav__item:last-child {
		margin-right: 0px;
	}

}


@media only screen and (min-width: 75em) { /* 1200px */

	.footer-subnav--last {
		text-align: right;
	}

}

/* ---- Magnific Popup ---- */
.mfp-content {
	background-color: #fff;
    margin: 0 auto;
}

.mfp-image-holder .mfp-content {
	max-width: 1000px;
}

.mfp-ajax-holder .mfp-content {
	background-color: #fff;
	margin: 0 auto;
	padding: 50px;
	max-width: 700px;
	max-height: 70%;
	overflow: auto;
}

.mfp-entry-popup .mfp-content {
	overflow: visible;
	background: transparent;
	padding: 0;
	max-height: 70%;
	max-width: 700px;
}

.mfp-entry-popup #popup-wrap {
	border-radius: 4px;
	background-color: #fff;
	margin: 0 15px;
	padding: 20px;
	overflow: auto;
	max-height: 80vh;
}

@media screen and (min-width: 600px) {
	.mfp-entry-popup #popup-wrap {
		padding: 50px;
		margin: 0 auto;
	}

	.mfp-entry-popup .mfp-content {
		max-height: none;
	}
}

.mfp-close {
	opacity: 1;
	font-size: 36px;
	line-height: 42px;
	right: -20px;
	left: auto;
	top: -20px;
}

.mfp-entry-popup .mfp-close,
.mfp-entry-popup .mfp-close-btn-in .mfp-close,
.mfp-entry-popup button.mfp-close {
	right: 0;
	top: -15px;
}

@media screen and (min-width: 600px) {
	.mfp-entry-popup .mfp-close,
	.mfp-entry-popup .mfp-close-btn-in .mfp-close,
	.mfp-entry-popup button.mfp-close {
		right: -20px;
		top: -20px;
	}
}

.mfp-close:active {
    top: 10px;
}

.mfp-close-btn-in .mfp-close,
button.mfp-close {
	color: #6d7c87;
	background-color: #fff;
	width: 40px;
	height: 40px;
	padding-right: 0;
	border-radius: 20px;
	transition: all 250ms ease-in-out;
	-webkit-transition: all 250ms ease-in-out;
	-moz-transition: all 250ms ease-in-out;
	-ms-transition: all 250ms ease-in-out;
	-o-transition: all 250ms ease-in-out;
    box-shadow: -2px 2px 4px rgba(0,0,0,0.15), -2px 2px 20px rgba(0,0,0,0.3);
    top: -20px;
    right: -20px;
    opacity: 1;
}

.mfp-image-holder .mfp-close {
	padding-right: 7px;
}

.mfp-close-btn-in .mfp-close:hover,
.mfp-close-btn-in .mfp-close:focus,
button.mfp-close:hover,
button.mfp-close:focus {
	background-color: #fff;
	opacity: 1;
	box-shadow: -2px 2px 4px rgba(0,0,0,0.25), -2px 2px 20px rgba(0,0,0,0.35);
}

.mfp-entry-popup h1 {
	display: none;
}


/* Generic style for all widgets */

.widget h3.widget-title {

}


/* ------------------------------------------------------
**** Widgets

Widgets & Modules that ship with sprout.
If they don't they belong in seperate partial file

------------------------------------------------------ */

/* ---- Catch all ---- */
.sidebar .widget {

	background: #E3E3DF;
	padding: 20px 25px;
}

/* ---- Related Links ---- */
.widget-RelatedLinks {
	margin-bottom: 25px;
}
/* resets, don't touch */
.widget-RelatedLinks ul {
	padding: 0;
	margin:  0;
}
.widget-RelatedLinks li {
	list-style: none;
}
.widget-RelatedLinks a {
	text-decoration: none;
}
/* styles */
.widget-RelatedLinks li.depth1 {
	border-bottom: 2px solid rgba(255,255,255,.6);
	position: relative;
}
.widget-RelatedLinks li.depth1:last-child {
	border-bottom: none;
}
.widget-RelatedLinks li.depth1 > a {
	display: block;
	padding: 10px 30px 10px 0;
	-webkit-transition: all 180ms ease-out;
	transition: all 180ms ease-out;
	color: rgba(74, 74, 71, 0.7);
	font-weight: bold;
	text-transform: uppercase;
	font-size: 1.5rem;
}
.widget-RelatedLinks li.depth1.on > a,
.widget-RelatedLinks li.depth1 > a:hover {
	/*background-color: rgba(74, 74, 71, 0.5);*/
	color: #000;
	padding-right: 15px;
	padding-left: 15px;
}
.widget-RelatedLinks li.depth1.on > a:hover {
	padding-left: 15px;
}
.widget-RelatedLinks li.on > a:after,
.widget-RelatedLinks li.depth1:hover > a:after,
.widget-RelatedLinks li.depth2 a:hover:after {
	content: ">";
	position: absolute;
	right: 10px;
	color: #000;
	top: 9px;
}

.widget-RelatedLinks li.depth2.on > a:after,
.widget-RelatedLinks li.depth2 a:hover:after {
	top: 0px;
}

/* Children */
.widget-RelatedLinks li.depth2 {
	font-size: 1.4rem;
	font-weight: bold;
}
.widget-RelatedLinks li.depth2 a {
	/*background: rgba(255, 255, 255, 0.3);*/
}

.widget-RelatedLinks li.depth2 a:before {
	content: "- ";
}
.widget-RelatedLinks li.depth2 {
	/*border-top: 1px solid #ffffff;*/
}
.widget-RelatedLinks li.depth2 a {
	-webkit-transition: all 150ms ease-out;
	transition: all 150ms ease-out;
	position: relative;
	padding: 0px 25px 12px 25px;
	display: block;
}
.widget-RelatedLinks li.depth2.on a,
.widget-RelatedLinks li.depth2 a:hover {
	color: #000;
}

/* ---- Share links ---- */
.share-links a {
	margin-right: 5px;
}
.share-links a:hover {
	opacity: 0.8;
}

/* ---- Simple Image Gallery ---- */
.widget-GallerySimple {
	margin: 15px -10px;
}

.widget-GallerySimple h3 {
	padding: 10px;
}

.widget-GallerySimple .gallery-simple-thumb {
	width: 33.333%;
	padding: 10px;
	float: left;
}
.widget-GallerySimple .gallery-simple-thumb img {
	width: 100%;
}

/* ---- Children Page Gallery ---- */
.children-gallery-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.widget-ChildrenGallery .children-gallery-list-item {
	width: 48%;
	float: left;
	margin: 0 0 20px 4%;
	position: relative;
}

.widget-ChildrenGallery .children-gallery-list-item-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.widget-ChildrenGallery .children-gallery-list-item-link:hover {
	text-decoration: underline;
}

.widget-ChildrenGallery .children-gallery-list-item-image {
	margin-bottom: 9px;
}

.widget-ChildrenGallery .children-gallery-list-item-link:hover .children-gallery-list-item-image {
	opacity: 0.9;
}

.widget-ChildrenGallery .children-gallery-list-item-title {
	margin: 0;
}

.widget-ChildrenGallery .children-gallery-list-item-anchor {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
/* Uncomment if you want "Visit Page" button to appear on hover state
.widget-ChildrenGallery .children-gallery-list-item-link:hover .children-gallery-list-item-anchor {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	padding: 0;
	position: absolute;
	width: 100%;
	top: 56px;
	left: 0;
	text-align: center;
}
.widget-ChildrenGallery .children-gallery-list-item-anchor .button {
	margin: 0 auto;
	display: inline-block;
}
*/

@media screen and (max-width: 600px) {
	.widget-ChildrenGallery .children-gallery-list-item:nth-child(2n+1) {
		margin-left: 0;
		clear: left;
	}
}

@media screen and (min-width: 601px) and (max-width: 730px) {
	.widget-ChildrenGallery .children-gallery-list-item {
		width: 30.666666%;
	}
	.widget-ChildrenGallery .children-gallery-list-item:nth-child(3n+1) {
		margin-left: 0;
		clear: left;
	}
}

@media screen and (min-width: 731px) {
	.widget-ChildrenGallery .children-gallery-list-item {
		width: 22%;
	}
	.widget-ChildrenGallery .children-gallery-list-item:nth-child(4n+1) {
		margin-left: 0;
		clear: left;
	}
}



/* ---- Sponsors module ---- */

.sponsors-list__item-link {
	text-decoration: none;
}

.sponsors-list__img-wrap {
	width: 100%;
	border: 1px solid #ccc;
	padding: 8px;
	position: relative;
	margin-bottom: 8px;
	-webkit-transition: border-color 250ms ease-in-out;
	transition: border-color 250ms ease-in-out;
}

.sponsors-list__item-link:hover .sponsors-list__img-wrap {
	border: 1px solid #444;
}

.sponsors-list__img-wrap:before {
	content: "";
	display: block;
	padding-top: 100%; 	/* initial ratio of 1:1*/
}

.sponsors-list__img-wrap__vert-center {
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 10px;
	right: 10px;
	text-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-align: center;
	-webkit-align-items: center;
	-webkit-box-align: center;
}

.sponsors-list-item__image {
	display: inline-block;
	margin: 0 auto;
	max-height: 100%;
}




/* ---- Order Form ---- */
.widget-OrderForm .product {
	width: 30%;
	margin-right: 5%;
	float: left;
}
.widget-OrderForm .product:nth-child(3n+3) {
	margin-right: 0;
}

/* ---- Videos ---- */
.tinymce-media-iframe,
.widget-Video {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	clear: both;
}

.tinymce-media-iframe iframe,
.widget-Video iframe,
.widget-Video object,
.widget-Video embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

iframe {
	border: 0;
}

.tinymce-media-iframe {
	margin: 2rem 0;
}

/* ---- hmgp popup ---- */
/* COVID-19 2020 */
.hmpg-popup {
	text-align: center;
}

.hmpg-popup__header {
	text-align: center;
	font-family: 'Nixie One', Lucida Console, Lucida Sans Typewriter, monaco, monospace;
	text-transform: uppercase;
	font-size: 4rem;
	line-height: 40px;
	padding: 3rem 0 4rem;
	border-bottom: 2px solid #d7d7d7;
	max-width: 550px;
	margin: 0 auto 40px;
	position: relative;
}

.hmpg-popup__header:after {
    content: ' ';
    position: absolute;
    background: url(../images/pm-icon_on-white.png) no-repeat center center;
    background-size: 40px auto;
    height: 50px;
    right: 0;
    left: 0;
    bottom: -25px;
}

.hmpg-popup__cite {
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	font-style: normal;
	text-transform: uppercase;
	color: #b3b1a6;
	font-size: 1.6rem;
}


.hmpg-popup__cite:before {
	content: '\2013\00a0'
}


/* ---- reCAPTCHA ---- */
.g-recaptcha {
    padding-bottom: 15px;
}




/* ---- Modal Popup Window ---- */

.modal-window {
	background-color: rgba(0, 0, 0, 0);
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -999;
	transition: background 300ms ease-in-out;
}

.modal-window--visible {
	z-index: 900000;
	background-color: rgba(0, 0, 0, .8);
}

.modal-window__mainbox {
	background-color: #fff;
	width: 80ch;
	max-width: 94%;
	max-height: 88vh;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, 0%) scale(0.75);
	opacity: 0;
	padding: 16px 16px 16px;
	transition: all 300ms ease-in-out;
}

.modal-window__mainbar__content {
	overflow: auto;
	max-height: calc(88vh - 60px);
}

@media screen and (min-width: 30em) {
	.modal-window__mainbox {
	   /* 480px */
		padding: 16px 24px;
   }
}

@media screen and (min-width: 48em) {
	.modal-window__mainbox {
	   /* 768px */
		padding: 48px 56px;
   }
}

.modal-window--visible .modal-window__mainbox {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.modal-window__mainbox__closebtn {
	cursor: pointer;
	width: 32px;
	height: 32px;
	background-color: #f0f0f0;
	position: absolute;
	right: -8px;
	top: -8px;
	padding: 0;
	display: grid;
	justify-content: center;
	align-items: center;
	border: 2px solid #f0f0f0;
	border-radius: 100px;
	box-shadow: 0 0 8px rgba(0, 0, 0, .20);
	transition: background 300ms ease-in-out, box-shadow 300ms ease-in-out;
}

@media screen and (min-width: 48em) {
	/* 768px */
	.modal-window__mainbox__closebtn {
		right: -16px;
		top: -16px;
	}
}


.modal-window__mainbox__closebtn svg {
	pointer-events: none;
	width: 16px;
	height: 16px;
	opacity: 0.65;
	transition: opacity 300ms ease-in-out;
}

.modal-window__mainbox__closebtn:hover,
.modal-window__mainbox__closebtn:focus,
.modal-window__mainbox__closebtn:active {
	background-color: #d4d4d4;
	box-shadow: 0 0 16px rgba(0, 0, 0, .35);
}

.modal-window__mainbox__closebtn:hover svg,
.modal-window__mainbox__closebtn:focus svg,
.modal-window__mainbox__closebtn:active svg {
	opacity: 1;
}

/* content area specific stlyes */
.md-window--centered {
	text-align: center;
}


/* ------------------------------------------------------
**** Print styles
------------------------------------------------------ */

@media print {
	* {
		background: transparent !important;
		color: #000 !important; /* Black prints faster: h5bp.com/s */
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	/* Don't show links for images, or javascript/internal links */

	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group; /* h5bp.com/t */
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}

