
/* Copyright Active Consultancy */

/* RESET CSS */

html,body,header,footer,nav,section,article,aside,audio,video,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,samp,small,strike,strong,sub,sup,tt,var,b,u,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:top;background:transparent;}
body {line-height:1;}
blockquote,q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:'';content:none;}
:focus {outline:0;}
del {text-decoration:line-through;}
ins {text-decoration:none;}
table {border-collapse:collapse;border-spacing:0;}

/*
@-webkit-viewport{width:device-width}
@-moz-viewport{width:device-width}
@-ms-viewport{width:device-width}
@-o-viewport{width:device-width}
@viewport{width:device-width}
*/

/* JQUERY-UI OVERRIDES */

.ui-corner-all, .ui-corner-top, .ui-corner-bottom, .ui-corner-left, .ui-corner-right, .ui-corner-tl, .ui-corner-tr, .ui-corner-bl, .ui-corner-br {border-radius:0;}
.ui-widget-content, .ui-widget-header {/*background:none;*/border:0;font-size:1em;}

/* FONTAWESOME PSEUDO ELEMENTS */

ul.list li::before {display:inline-block; -webkit-font-smoothing:antialiased; font-style:normal; font-variant:normal; text-rendering:auto;}

/* CHECK MEDIA */

#check_media {display:none; width:1921px;} /* used to accurately define which css media template we are in - set as 1px more than the max template width by default */

/* GLOBALS */

.clear {clear:both;margin:0px;padding:0px;}
.float.l {float:left;}
.float.r {float:right;}
.width.f {width:100%;}
.inline_block {display:inline-block;}
.display_none {display:none;}
div.vhide, span.vhide { /* vhide - used to include alt text for elements delivered as images - for accessibility */
	border:0 !important;
	clip:rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip:rect(1px, 1px, 1px, 1px);
	height:1px !important;
	overflow:hidden;
	padding:0 !important;
	position:absolute !important;
	width:1px !important;
}
input.button.vhide {
	background-color: transparent;
	display:block;
	font-size:0;
	line-height:0;
	overflow:hidden;
	text-indent:-9999px;
}
a.target {
   content:"";
   display:block;
}

.dr_blue {color:#0074bd;}
	.black {color:#000000;}
	.greydark5 {color:#1a1a1a;}
	.greydark4 {color:#2b2b2b;}
	.greydark3 {color:#333333;}
	.greydark2 {color:#4d4d4d;}
	.greydark1 {color:#5e5e5e;}
	.greymid {color:#797979;}
	.greylight1 {color:#b0b0b0;}
	.greylight2 {color:#cccccc;}
	.greylight3 {color:#d9d9d9;}
	.greylight4 {color:#eaeaea;}
	.greylight5 {color:#f0f0f0;}
	.offwhite {color:#f9f9f9;}
	.white {color:#ffffff;}
	.redflash {color:#ff0000;}
	.turquoise {color:#1ea5aa;}
	.pink {color:#d4175b;}
	.purple {color:#5e2a76;}
	.orange {color:#eb5b28;}
	.yellow {color:#dedc06;}
	.blue {color:#2dabe3;}
	#header.outer  {background-image:url(/images/background/diamond_resorts/banner.jpg?upd=20190319164200); background-position:center center; background-repeat:no-repeat; background-size:cover;}
	select {background-image:url(/images/icon/default/fa_chevron_down.png?upd=20190319164200); background-position:right center; background-repeat:no-repeat;}
	
/* REFERENCE - vars loaded for css 8, site type is selection_pack */

/* COLOUR CLASSES */

/* BACKGROUND IMAGES */


/* PLACEHOLDERS */

::placeholder {color:#797979;}
::-webkit-input-placeholder {color:#797979;}
::-moz-placeholder {color:#797979;}
:-ms-input-placeholder {color:#797979;}
input:-moz-placeholder {color:#797979;}
.error::placeholder {color:#ff0000;}
.error::-webkit-input-placeholder {color:#ff0000;}
.error::-moz-placeholder {color:#ff0000;}
.error:-ms-input-placeholder {color:#ff0000;}
input.error:-moz-placeholder {color:#ff0000;}

/* OVERRIDES */
.or_alignl {text-align:left !important;}
.or_alignc {text-align:center !important;}
.or_alignr {text-align:right !important;}
/* error overrides */
.or_valid::placeholder {color:#797979 !important;}
.or_valid::-webkit-input-placeholder {color:#797979 !important;}
.or_valid::-moz-placeholder {color:#797979 !important;}
.or_valid:-ms-input-placeholder {color:#797979 !important;}
input.or_valid:-moz-placeholder {color:#797979 !important;}
input[type="text"].or_valid, input[type="email"].or_valid, input[type="password"].or_valid input[type="date"].or_valid, input[type="phone"].or_valid, input[type="phoneUK"].or_valid, select.or_valid, textarea.or_valid, input[type="checkbox"].or_valid + label span, input[type="radio"].or_valid + label span {
	border:1px solid #000000 !important;
}

/* TYPE */

body, table, tr, td, form, select, input, textarea, div, p, ol, ul, li, h1, h2, h3, h4, h5, h6, a:link, a:visited, a:hover, a, button, .ui-widget {
	font-family:'Roboto', sans-serif;
	font-style:normal;
	font-weight:300;
	line-height:1.2;
}
i.fa, i.fab, i.fal, i.far, i.fas {line-height:1.2;} /* set line-height for fa icons to match default */
h1, h2, #footer .snav a {font-family:'Roboto Condensed', sans-serif; font-weight:400;}
strong, .bold, p.bold, a.bold, span.bold, h3, h4, h5, h6 {font-weight:500;}
h1, h2, h3, h4, h5, h6, p, li, label, input, select, textarea {color:#000000;}
.reverse h1, .reverse h2, .reverse h3, .reverse h4, .reverse h5, .reverse h6, .reverse p, .reverse li, .reverse label, .reverse input, .reverse select, .reverse textarea {color:#ffffff;}
h1, h2, h5 { text-transform:uppercase;}
h1 {
	font-size:2em;
}
h2 {
	font-size:1.75em;
}
h3 {
	font-size:1.5em;
}
h4 {
	font-size:1.25em;
}
h5, h6, p, li, label {
	font-size:1.16em;
}
input, select, textarea {
	font-size:1.16em;
}
sup,sub {	/* fix sup and sub */
  height:0;
  line-height:1;
  vertical-align:baseline;
}
sup {vertical-align: text-top;}
sub {vertical-align: text-bottom;}
p.error, span.error {color:#ff0000;}
.lower {text-transform:lowercase;}
.upper {text-transform:uppercase;}
.firstcaps {text-transform:capitalize;}
.nocaps {text-transform:none;}

/* LINKS */

a, .frmbt input {
	cursor:pointer;
}
a, a:link, a:visited {
	color:#2dabe3;
	text-decoration:none;
}
a:hover {
	color:#2dabe3;
	text-decoration:underline;
}
em > a, em > a:link, em > a:visited, em > a:hover {
	font-style:italic;
}

/* TYPE IN CONTENT */

.content h1 {padding:15px 0 20px 0;}
.content h2, .content h3 {padding:10px 0 15px 0;}
.content h4 {padding:5px 0 10px 0;}
.content h5, .content h6, .content p {padding:0 0 10px 0;}
/* spacer rows have no padding */
.content h1.spacer, .content h2.spacer, .content h3.spacer, .content h4.spacer, .content h5.spacer, .content h6.spacer, .content p.spacer {
	padding:0;
}

/* LISTS */

.content ol.list, .content ol.list ol {margin-left:22px;}
.content ol.list > li {margin:0 0 0 5px; padding:0 0 3px 5px;}
.content ol.list > li:last-child, .content ul.list > li:last-child {padding-bottom:10px;}
.content ul.list, .content ul.list ul {list-style:none;}
.content ul.list li {padding-left:25px; padding-bottom:3px; position:relative;}
.content ul.list li::before {font-family:"Font Awesome 5 Free"; font-size:1em; font-weight:900; left:0; position:absolute;}
.content ul.list > li::before {content:"\f105"; /* angle-right */ }
.content .list li > ul > li::before {content:"\f068"; /* minus */ -webkit-transform:scale(0.5,0.5); transform:scale(0.5,0.5);}
.content ol.list li > ol, .content ul.list li > ul {padding-top:3px;}
.content ol.list > li li, .content ul.list > li li {font-size:1em;}
.content .list li > ol > li:last-child, .content .list li > ul > li:last-child {padding-bottom:3px;}
.content ol.list > h5 {margin-left:-22px; padding:5px 0 5px 0;}

/* FORMS */

/* fields */
input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="phone"], input[type="phoneUK"], select, textarea {
	background-color:transparent;
	border:1px solid #000000;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	padding:10px 5px;
	text-align:left;
}
/* custom select */
select {-moz-appearance:none; -webkit-appearance:none; appearance:none; padding-right:30px;}
select::-ms-expand {display:none;}
/* custom checkbox/radio */
.frmcheckbox {
	position: relative;
}
.frmradioelement {
	position: relative;
	padding: 6px 0;
}
.frmcheckbox input[type="checkbox"], .frmradioelement input[type="radio"] {
	height: 32px;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 32px;
}
.frmcheckbox input[type="checkbox"] + label::before, .frmradioelement input[type="radio"] + label::before {
	border: 1px solid #000000;
	content: "";
	height: 30px;
	left: 0;
	position: absolute;
	top: 0;
	width: 30px;
	background-color:;
}
.frmradioelement input[type="radio"] + label::before {
	border-radius: 50%;
}
.frmcheckbox input[type="checkbox"] + label::after {
	content: "\f00c";
	font-family: "Font Awesome 5 Free";
	font-size: 0.86em;
	font-weight: 900;
	height: 16px;
	left: 8px;
	opacity: 0;
	position: absolute;
	top: 5px;
	transition: opacity 0.2s ease-in-out;
	width: 10px;
}
.frmradioelement input[type="radio"] + label::after {
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-size: 0.86em;
	font-weight: 900;
	height: 16px;
	left: 8px;
	opacity: 0;
	position: absolute;
	top: 5px;
	transition: opacity 0.2s ease-in-out;
	width: 10px;
}
.frmcheckbox input[type="checkbox"]:focus + label::before, .frmradioelement input[type="radio"]:focus + label::before {
	box-shadow: 0 0 0 2px #A4A4A4;
	outline: 2px solid transparent;
}
.frmcheckbox input[type="checkbox"]:checked + label::after, .frmradioelement input[type="radio"]:checked + label::after {
	opacity: 1;
}
.frmcheckbox label, .frmradioelement label {
	padding-left: 45px;
	color: #000000;
}
/* errors */
input[type="text"].error, input[type="email"].error, input[type="password"].error input[type="date"].error, input[type="phone"].error, input[type="phoneUK"].error, select.error, textarea.error, input[type="checkbox"].error + label span, input[type="radio"].error + label span {
	border:1px solid #ff0000;
}
div.error {
	color:#ff0000;
	padding:0 0 10px 0;
}
div.error:empty {
	padding:0;
}
/* buttons */
input.frmbt, a.frmbt {
	background-color:transparent;
	border:1px solid #000000;
	color:#000000;
	cursor: pointer;
	font-size:1.25em;
	font-weight:500;
	line-height:42px;
	min-width:180px;
	padding:0 16px 0 16px;
	text-align:center;
	text-transform:uppercase;
	transition:background-color 0.2s, color 0.2s;
}
input.frmbt {
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}
a.frmbt {
	display:inline-block;
}
input.frmbt:hover, a.frmbt:hover {
	background-color:#000000;
	color:#ffffff;
}
a.frmbt:hover {
	text-decoration:none;
}
a.frmbt {
	display:inline-block;
}
/* reversed forms */
.reverse input[type="text"], .reverse input[type="email"], .reverse input[type="password"], .reverse input[type="date"], .reverse input[type="phone"], .reverse input[type="phoneUK"], .reverse select, .reverse textarea,
.reverse input[type="checkbox"] + label span, .reverse input[type="radio"] + label span,
.reverse input.frmbt, .reverse a.frmbt {
	border-color:#ffffff;
	color:#ffffff;
}
.reverse input.frmbt:hover, .reverse a.frmbt:hover {
	background-color:#ffffff;
	color:#000000;
}

/* FORMS IN CONTENT */

/* form block */
.frm {
	display:block;
	margin:0;
	padding:10px 0;
	width:100%;
}
/* rows */
.frmrow, .btrow {
	display:block;
	width:100%;
}
.frmrow {
	padding:5px 0 10px 0;
}
.btrow {
	padding:15px 0 20px 0;
}
.frmrow p {
	padding:0 0 5px 0;
}
.frmrow p.frmvalidate {
	padding:0;
}
/* fields */
.frminput label, .frminput input, .frmselect label, .frmselect select, .frmtextarea label, .frmtextarea textarea, .frmresult label, .frmresult div.frmvalue {
	text-align:left;
}
.frmtextarea textarea {
	width:100%;
}
.frminput.frmtext input, .frmselect select, .frmtextarea.frmlabelinline textarea {
	max-width:400px;
	width:100%;
}
.frmresult div.frmvalue {
	color:#333333;
	display:inline-block;
	font-size:1.16em;
}
.frminput.frmtext.frmlabelinline input, .frmselect.frmlabelinline select, .frmtextarea.frmlabelinline textarea, .frmresult.frmlabelinline div.frmvalue {
	width:75%;
}
.frminput.frmtext.frmfieldsmall input, .frmselect.frmfieldsmall select {
	max-width:200px;
	width:50%;
}
.frminput.frmtext.frmlabelinline.frmfieldsmall input, .frmselect.frmlabelinline.frmfieldsmall select {
	width:37.5%;
}
.frminput.frmtext label, .frm .frmselect label, .frm .frmtextarea label, .frm .frmresult label {
	display:block;
	padding:0 0 5px 0;
	width:100%;
}
.frminput.frmtext.frmlabelinline label, .frmselect.frmlabelinline label, .frmtextarea.frmlabelinline label, .frmresult.frmlabelinline label {
	float:left;
	padding:5px 2.5% 0 0;
	max-width:180px;
	width:22.5%;
}
.frmresult.frmlabelinline label {
	padding-top:0;
}
.frminput.frmtext.frmlabelinline.nolabel input::before, .frmselect.frmlabelinline.nolabel select::before, .frmresult.frmlabelinline.nolabel div.frmvalue::before {
	content:'';
	display:inline-block;
	max-width:180px;
	padding:0 2.5% 0 0;
	width:22.5%;
}
.frminput.frmtext.frmlabelinline.nolabel input, .frmselect.frmlabelinline.nolabel select, .frmresult.frmlabelinline.nolabel div.frmvalue {
	display:inline-block;
	width:100%;
}
/* checkbox and radio */
.frmcheckbox, .frmradio .frmelement {
	width:100%;
}
.frmcheckbox.frmelementinline, .frmradio.frmelementinline .frmelement {
	display:inline-block;
	padding-right:15px;
	width:auto;
}
.frmradio.frmelementinline .frmelement:last-child {
	padding-right:0;
}
.frmcheckbox input[type="checkbox"] + label, .frmradio input[type="radio"] + label {
	display:block;
	min-height:27px; /* set min-height to match height of custom box taking padding-top into account */
	padding:5px 0 0 42px;
	position:relative;
}
.frmcheckbox input[type="checkbox"] + label span, .frmradio input[type="radio"] + label span {
	left:0;
	position:absolute;
	top:0;
}
.frmcheckbox.frmfieldright input[type="checkbox"] + label, .frmradio.frmfieldright .frmelement input[type="radio"] + label {
	padding-left:0;
	padding-right:42px;
}
.frmcheckbox.frmfieldright input[type="checkbox"] + label span, .frmradio.frmfieldright .frmelement input[type="radio"] + label span  {
	left:auto;
	right:0;
}
.frmcheckbox.frmelementcentre input[type="checkbox"] + label, .frmradio.frmelementcentre .frmelement input[type="radio"] + label {
	text-align:center;
	padding:0;
}
.frmcheckbox.frmelementcentre input[type="checkbox"] + label span, .frmradio.frmelementcentre .frmelement input[type="radio"] + label span {
	margin:0 10px 5px 0;
	position:static; /* clear position absolute */
}
.frmcheckbox.frmelementcentre.frmfieldright input[type="checkbox"] + label span, .frmradio.frmelementcentre.frmfieldright .frmelement input[type="radio"] + label span {
	margin-left:10px;
	margin-right:0;
}
/* radio only */
.frmradio .frmelement {
	max-width:400px;
	max-width:calc(180px + 2.5% + 32px);
	width:30%;
	width:calc(25% + 32px);
}
.frmradio > label {
	display:block;
	padding:0 0 10px 0;
	width:100%;
}
.frmradio input[type="radio"] + label, .frmradio.frmelementcentre .frmelement input[type="radio"] + label {
	padding-bottom:5px;
}

/* TEMPLATE */

html {height:100%;}
body {background-color:#ffffff; min-height:100%; position:relative;}
#page {padding-bottom:60px; position:relative; width:100%;}
.frame {margin:0 auto; max-width:1920px; width:100%;} /* default max-width for frame is 1920px - same as wide template width */
.frame_large .frame {max-width:1200px;} /* if frame_large is applied to my_custom_class then frame max-width is reduced to match large template width */
.site_voucher_pack .frame {max-width:1200px;} /* voucher_pack site_type doesn't use left/right so frame max-width is reduced to match large template width */

/* Z-INDEX */

.underlay {z-index:-1;}
.inav, .inavm {z-index:10;}

/* UNDERLAY */

/*.underlay {background-color:#f0f0f0; height:100%; left:0; position:absolute; right:50%; top:0; -webkit-transform:translate(-288px,0); transform:translate(-288px,0);}*/
.underlay {background-color:#f0f0f0; height:100%; left:0; position:absolute; right:50%; top:0; -webkit-transform:translate(-480px,0); transform:translate(-480px,0);}
/* change underlay translate according to my_page_class or my_custom_class */
/*.catresults .underlay {-webkit-transform:translate(-480px,0); transform:translate(-480px,0);}*/
/* hide page underlay according to my_page_class or my_custom_class or site_type */
.body_underlay0 > .underlay, .main_underlay0 > .underlay, .catdetails .underlay, .site_voucher_pack .underlay {display:none;}

/* HEADER */

#header.outer, #header .content {position:relative;}
#header.outer {background-color:#ffffff; border-bottom:1px solid #000000; width:100%;}
#header .frame {max-width:1200px;}
#header .content {min-height:70px;}
#header .go {background-color:rgba(94,42,118,0.65); border-radius:50%; display:block; height:90%; left:50%; min-height:63px; min-width:63px; position:absolute; top:50%; -webkit-transform: translate(-50%,-50%); transform:translate(-50%,-50%); width:18.75%;}
.site_voucher_pack #header .go {background-color:rgba(212,23,91,0.65);}
#header .go img {height:100%; width:100%;}
#header img.banner {display:block; visibility:hidden; width:100%;}
/* inav */
#header .inav, #header .inavm {position:absolute; top:50%; -webkit-transform:translate(0,-50%); transform:translate(0,-50%);}
#header .inav {right:5%;}
#header .inavm {left:5%;}
#header .inav > a {background-color:transparent; border-radius:50%; display:inline-block; font-size:1.25em; height:44px; margin:0 5px; -webkit-transition:background-color 0.2s, color 0.2s; text-align:center; transition:background-color 0.2s, color 0.2s; width:44px;}
#header .inav > a.inav_home {border:2px solid #2dabe3; color:#2dabe3;}
#header .inav > a.inav_faq {border:2px solid #dedc06; color:#dedc06;}
#header .inav > a.inav_contact {border:2px solid #eb5b28; color:#eb5b28;}
#header .inav > a.inav_home:hover, #header .inav > a.inav_home:active {background-color:#2dabe3; color:#ffffff;}
#header .inav > a.inav_faq:hover, #header .inav > a.inav_faq:active {background-color:#dedc06; color:#ffffff;}
#header .inav > a.inav_contact:hover, #header .inav > a.inav_contact:active {background-color:#eb5b28; color:#ffffff;}
#header .inav > a .fas, #header .inav > a .far {line-height:44px;}
#header .inavm {display:none;}
#header .inavm > a {display:inline-block; font-size:1.75em;}
#header .inavm > a.inav_menu {color:#ffffff;}

/* MNAV */

/* MNAVM */
#mnavm {background-color:#4d4d4d; display:none;}
#mnavm a {border-bottom:1px solid #eaeaea; color:#ffffff; display:block; font-weight:500; padding:15px; text-align:center; text-transform:uppercase; transition:background-color 0.2s, color 0.2s;}
#mnavm a:hover {background-color:#eaeaea; color:#000000; text-decoration:none;}
#mnavm a:last-child {border-bottom:0;}

/* UPPER */

#upper.outer {background-color:#ffffff;}
#upper .content {padding:35px 2.5% 25px 2.5%;}
/* upper heading - applies the heading style to the upper section */
.upper_heading #upper.outer {border-bottom:1px solid #000000;}
.upper_heading #upper .content {padding-top:25px; padding-bottom:25px;}
.upper_heading #upper .content h1 {padding:0; text-align:center;}

/* MAIN - total frame max-width for this section 1920px */

#main.outer {position:relative;}
/*#main .inner {display:-ms-grid; display:grid; -ms-grid-columns:35% 65%; grid-template-columns:35% 65%; justify-items:stretch; width:100%;}*/
#main .inner {display:-ms-grid; display:grid; -ms-grid-columns:25% 75%; grid-template-columns:25% 75%; justify-items:stretch; width:100%;}
#main .left {background-color:#f0f0f0; -ms-grid-column:1;}
#main .right {background-color:#ffffff; -ms-grid-column:2;}
/*#main .left .content {padding:35px 4.75% 15px 7%;}
#main .right .content {padding:35px 3.77% 15px 2.56%; text-align:center;}*/
#main .left .content {padding:35px 5.21% 15px 7.29%;}
#main .right .content {padding:35px 2.43% 15px 1.74%; text-align:center;}
#main .packs {display:-ms-grid; display:grid; -ms-grid-columns:33.3% 33.3% 33.3%; grid-template-columns:33.3% 33.3% 33.3%; width:100%;}
#main .packs .item {padding:0 0 25px 0;}
#main .packs .item:nth-child(3n+1) {-ms-grid-column:1; margin-right:3%} /* every third item starting at 1 */
#main .packs .item:nth-child(3n+2) {-ms-grid-column:2; margin:0 1.5% 0 1.5%}
#main .packs .item:nth-child(3n+3) {-ms-grid-column:3; margin-left:3%}
#main .packs .item a.img {display:block; margin:0 0 10px 0; position:relative;}
#main .packs .item a.img div.overlay {background:rgba(255,255,255,0.2); display:none; height:100%; left:0; position:absolute; top:0; width:100%;}
#main .packs .item a.img:hover div.overlay {display:block;}
#main .packs .item img {display:block; width:100%;}
#main .packs .item p {padding:5px 0; text-transform:uppercase;}
#main .packs .item a {color:#000000;}
#main .packs .item a:hover {color:#2dabe3; text-decoration:none;}
/* main_full - when left/right are not in use within main area - apply main_full to my_custom_class and set main area up same as upper/lower - also applied based on site_type */
.main_full #main.outer, .site_voucher_pack #main.outer {background-color:#ffffff;}
.main_full #main .inner, .site_voucher_pack #main .inner {display:block;}
.main_full #main .content, .site_voucher_pack #main .content {padding:35px 2.5% 25px 2.5%;}

/* LOWER */

#lower.outer {background-color:#ffffff;}
#lower .content {padding:35px 2.5% 25px 2.5%;}

/* ADD SECTIONS - defaults*/

.outer.add {background-color:#ffffff;}
.outer.add .content {padding-left:2.5%; padding-right:2.5%;}

/* FOOTER */

#footer.outer {background-color:#ffffff; border-top:1px solid #000000; bottom:0; height:60px; position:absolute; width:100%;}
#footer .frame, #footer .inner, #footer .content {height:100%;}
#footer .snav {-webkit-align-items:center; align-items:center; -webkit-display:flex; display:flex; -webkit-justify-content:center; justify-content:center; width:100%;}
#footer .snav .item > a {color:#000000; display:block; padding:0 15px 0 15px; text-transform:uppercase;}
#footer .snav .item > a:hover {color:#2dabe3; text-decoration:none;}
/* dev info */
#footer .content.devinfo {height:auto; text-align:center;}
#footer .devinfo p {color: #797979; font-size: 1em;}

/* LIGHTBOX */

.lightbox	{background:#ffffff; margin:40px auto; max-width:800px; padding:0; position:relative;}
.lightbox .frame_lb {min-height:initial; position:relative;}
.lightbox button.mfp-close {color:; opacity:1;}
.lightbox button.mfp-close:hover, .lightbox button.mfp-close:focus {color:; opacity:1;}
.lightbox .content {padding:5%; text-align:left;}

/* LIGHTBOX CONTENT - specific */
.lightbox .content.pack_levels {text-align:center;}

/* CATALOGUE */

/* catresults */
.catresults {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:flex-start;
	justify-content:flex-start;
	width:100%;
}
.catresults .catitem {
	border:1px solid #d9d9d9;
	box-sizing:border-box;
	margin:0 1% 20px 1%;
	width:23%;
	width:calc((100% / 4) - 2%);
}
.catresults .catitem a {
	display:block;
	height:100%;
	width:100%;
}
.catresults .catitem a:hover {
	background-color:#f0f0f0;
	text-decoration:none;
}
.catresults .catitem img {
	width:100%;
}
.catresults .catitem a > div {
	padding:10px 5px 10px 5px;
}
.catresults .catitem a:hover {
	background-color:#f0f0f0;
}
.catresults .catitem p {
	font-size:1em;
}
.catresults .catitem p.people {
	color:#797979;
}
.catresults .catitem p.people > i {
	padding-right:10px;
}
/* pagbar */
.catalogue_page .pag {padding:10px 0 10px 0; text-align:center; width:100%;}
.catalogue_page .pag ul {list-style:none;}
.catalogue_page .pag li {display:inline; font-size:1em; list-style-type:none;}
.catalogue_page .pag li {border-right:1px solid #797979; padding:0 10px;}
.catalogue_page .pag li:first-child, .catalogue_page .pag li:nth-last-of-type(-n+2) {border:0;}
.catalogue_page .pag li:first-child {padding-left:5px;}
.catalogue_page .pag li:last-child {padding-right:5px;}
.catalogue_page .pag a {color:#333333; line-height:1;}
.catalogue_page .pag a, .catalogue_page .pag a:hover {text-decoration:none;}
.catalogue_page .pag a:hover {color:#2dabe3;}
.catalogue_page .pag a.current, .pag a.current:hover {font-weight:500;}
.catalogue_page .pag a.disabled, .pag a.disabled:hover {color:#797979; cursor:default;}
.catalogue_page .pag a.disabled.current, .pag a.disabled.current:hover {color:#000000;}
.catalogue_page .pag i.fas {line-height:1;}
/* rpp (results per page ) */
.catalogue_page .rpp {-webkit-align-items:center;align-items:center;display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center; width:100%;}
.catalogue_page .rpp span {font-size:1.16em;}
.catalogue_page .rpp select {margin:0 10px 0 10px;}
/* catfilter */
#catfilter .toggle.action > i {padding-left:10px;}
#catfilter .frminput.frmtext input, #catfilter .frmselect select {max-width:370px; width:90%; width:calc(100% - 30px);}
#catfilter .frminput.frmtext, #catfilter .frmselect {display:-webkit-flex; display:flex;}
#catfilter .frminput.frmtext > i, #catfilter .frmselect > i {-webkit-align-items:center; align-items:center; cursor:pointer; display:-webkit-flex; display:flex; -webkit-justify-content:right; justify-content:right; text-align:right; width:30px;}
#catfilter .frminput.frmtext > i::before, #catfilter .frmselect > i::before {width:100%;}
/* catfilter - link to change pack */
span.catfilter_change {color:#2dabe3; font-size:0.5em; text-transform:initial;}
span.catfilter_change, span.catfilter_change > a {vertical-align:baseline;}
/* catsearch - message */
div.catsearch_message {padding:15px 0 15px 0; width:100%;}
span.catsearch_clear {color:#2dabe3;}
/* changes to left width on catresults page */
/*.catresults #main .inner {-ms-grid-columns:25% 75%; grid-template-columns:25% 75%;}
.catresults #main .left .content {padding:35px 5.21% 15px 7.29%}
.catresults #main .right .content {padding:35px 2.43% 15px 1.74%}*/
/* changes to enter form when it displays on catalogue pages */
.catresults #upper, .catdetails #upper {background-color:#1a1a1a;}
.catalogue_page .frm.enter_form div.error {display:none !important;} /* don't display the error message - field will just highlight red */
.catalogue_page p.enter_form.error {padding-top:10px;}
@media screen and (min-width: 801px) {
	.catresults #upper, .catdetails #upper {text-align:center;}
	.catresults #upper .content, .catdetails #upper .content {padding-top:25px;}
	.catalogue_page h2.enter_form, .catalogue_page .frm.enter_form, .catalogue_page .frm.enter_form .frmrow, .catalogue_page .frm.enter_form .btrow {display:inline-block; width:auto;}
	.catalogue_page h2.enter_form {line-height:44px; padding:0 15px 0 0;}
	.catalogue_page .frm.enter_form .frmrow {padding:0 15px 0 0;}
	.catalogue_page .frm.enter_form, .catalogue_page .frm.enter_form .btrow {padding:0;}
	.catalogue_page .frm.enter_form .frminput.frmtext input, .catalogue_page .frm.enter_form .frmselect select {height:44px; width:200px;}
	@media screen and (max-width: 1200px) {
		.catalogue_page .frm.enter_form .frminput.frmtext input, .catalogue_page .frm.enter_form .frmselect select {width:175px;}
	}
}
/* catdetails */
.catdetails #main > div:nth-child(3), .catdetails #main > div:nth-child(2) .inner, .catdetails #main > div:nth-child(4) .inner {max-width:1200px;}
.catdetails #main > div:nth-child(2) .inner, .catdetails #main > div:nth-child(4) .inner {display:block; margin:0 auto;}
/* replicate the upper_heading */
.catdetails #main > div:nth-child(2) {border-bottom:1px solid #000000; max-width:100%;}
.catdetails #main > div:nth-child(2) .content {padding:25px 2.5% 25px 2.5%;}
.catdetails #main > div:nth-child(2) .content h1 {padding:0; text-align:center;}
.site_voucher_pack.catdetails #main .inner {display:-ms-grid; display:grid;}
.catdetails #main.outer, .catdetails #main .left {background-color:#ffffff;}
.catdetails .catimg img {display:block; margin:0 auto; max-width:400px; width:100%;}
.catdetails #main .left .content, .catdetails #main .right .content {padding-top:25px;}
.catdetails #main .right .content {text-align:left;}
.catdetails .catinfo {margin:5px 1% 5px 1%; width:98%;}
.catdetails .catinfo td:nth-child(1) {text-align:center; padding-right:25px;}
.catdetails .catinfo td:nth-child(2) p > i {font-size:0.83em; vertical-align:baseline;}
.catdetails #main > div:nth-child(4) .content{padding:15px 2.5% 35px 2.5%}
.catdetails .btrow {-webkit-align-items:center; align-items:center; display:-webkit-flex; display:flex;}
.catdetails .btrow > span {display:inline-block; padding:0 10px 0 10px;}

/* CHECKOUT & BOOKING */

.checkout_page #upper .content p, .booking_page #upper .content p {padding:5px 0 5px 0; text-align:center;}
.checkout_page #main .inner > .content > .wrapper, .booking_page #main .inner > .content > .wrapper  {margin:0 auto 0 auto; max-width:800px; width:100%;}
.checkout_complete #main .content p, .booking_complete #main .content p {text-align:center;}

/* BOOKING */

#booking_options_trigger.toggle.trigger {cursor:pointer;}
#booking_options_container.toggle.container {display:none;}
.booking_view .frmresult.frmlabelinline.guests div.frmvalue {display:inline-block;}
.booking_request .frminput.frmtext.frmlabelinline.guests input:nth-of-type(1), .booking_request .frminput.frmtext.frmlabelinline.guests input:nth-of-type(2),
.booking_view .frmresult.frmlabelinline.guests div.frmvalue:nth-of-type(1), .booking_view .frmresult.frmlabelinline.guests div.frmvalue:nth-of-type(2)
{margin-right:1%;width:29%;}
.booking_request .frminput.frmtext.frmlabelinline.guests input:nth-of-type(3), .booking_view .frmresult.frmlabelinline.guests div.frmvalue:nth-of-type(3) {width:15%;}
.booking_request div.addrows {width:100%;}
.booking_request .addrows .frminput.frmtext {display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap;}
.booking_request .addrows .frminput.frmtext > i {-webkit-align-items:center; align-items:center; cursor:pointer; display:-webkit-flex; display:flex; -webkit-justify-content:right; justify-content:right; text-align:right; width:30px;}
.booking_request .addrows .frminput.frmtext > i::before {width:100%;}
.booking_request .addrows .frminput.frmtext.date input {max-width:200px; width:32.5%; width:calc(37.5% - 30px);}
.booking_request .addrows .frminput.frmtext.option input {width:65%; width:calc(75% - 30px);}

/* PRIVACY POLICY */
ol.privacy_policy p {font-size:1em; padding:5px 0 5px 0;}
ol.privacy_policy li > div {margin-left:22px;}
ol.privacy_policy li > div > p {padding:3px 0 3px 0;}
ol.privacy_policy table.cookies_list {margin:5px 0 5px -44px;}
ol.privacy_policy table.cookies_list th, ol.privacy_policy table.cookies_list td {border:1px solid ; font-size:0.75em; padding:0.5em;}
ol.privacy_policy table.cookies_list th {background-color:#eaeaea;}
.content ol.list.privacy_policy > li {padding-top:3px;}
.content ol.list.privacy_policy > li li {padding:3px 0 3px 0;}

/* SYSERROR */
.syserror #main .content p {text-align:center;}

/* COOKIEBAR */

.cookiebar {background:rgba(0,0,0,0.8); bottom:0; display:none; left:0; position:fixed; width:100%; z-index:500;}
.cookiebar > div {
	-webkit-align-items:center;
	align-items:center;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	-moz-justify-content:center;
	justify-content:center;
	padding:8px 0;
	width:100%;
}
.cookiebar .cookiemsg {padding:0 2.5% 0 5%;}
.cookiebar .cookiebt {padding:0 5% 0 2.5%;}
.cookiebar .cookiemsg p {font-size:1em; text-align:center;}
.cookiebar .cookiemsg p a {display:inline-block;}
.cookiebar .cookiemsg p a {padding:0 5px 0 5px;}
.cookiebar .cookiebt a.frmbt {font-size:1em; line-height:32px; min-width:100px;}
.cookiebar .cookiebt a.frmbt .fas {font-size:0.8em; line-height:32px; padding-left:10px;}

/* ELEMENTS TO HIDE/SHOW ACCORDING TO TEMPLATE */

#catfilter .toggle.action {display:none;}
#catfilter .toggle.container {display:block;}

/* HEADER STYLING */
#header .go {
  background-color: transparent;
  height: auto;
}
#header .inav > a.inav_home, #header .inav > a.inav_faq, #header .inav > a.inav_contact {
  color:#0074bd;
  border: 2px solid #0074bd;
}
#header .inav > a.inav_home:hover, #header .inav > a.inav_home:active, #header .inav > a.inav_faq:hover, #header .inav > a.inav_faq:active, #header .inav > a.inav_contact:hover, #header .inav > a.inav_contact:active {
  background-color:#0074bd;
}


/* PACK STYLING */
#main .packs .item a.img {
  border: 2px solid #f0f0f0;
}

/* TEMPLATE WIDE */
@media screen and (max-width: 1920px) {
	#check_media {width:1920px;} /* redefine check_width to match template */
	/*.underlay {right:initial; transform:none; width:35%;}*/
	.underlay {right:initial; transform:none; width:25%;}
	/* changes to left width on catresults page */
	/*.catresults .underlay {width:25%;}*/
	}


/* TEMPLATE LARGE */

@media screen and (max-width: 1200px) {
	#check_media {width:1200px;} /* redefine check_width to match template */
	.underlay {width:30%;}
	#main .inner {-ms-grid-columns:30% 70%; grid-template-columns:30% 70%;}
	#main .left .content, #main .right .content {padding:25px 25px 15px 25px;}
	.catresults .catitem {width:31.3%;width:calc((100% / 3) - 2%);}
	}

/* TEMPLATE MEDIUM */

@media screen and (max-width: 800px) {
	#check_media {width:800px;} /* redefine check_width to match template */
	.frminput.frmtext.frmlabelinline input, .frmselect.frmlabelinline select, .frmtextarea.frmlabelinline textarea, .frmresult.frmlabelinline div.frmvalue {width:100%;}
	.frminput.frmtext.frmlabelinline.frmfieldsmall input, .frmselect.frmlabelinline.frmfieldsmall select {width:50%;}
	.frminput.frmtext.frmlabelinline label, .frmselect.frmlabelinline label, .frmtextarea.frmlabelinline label, .frmresult.frmlabelinline label {display:block; max-width:none; padding:0 0 5px 0; width:100%;}
	.frminput.frmtext.frmlabelinline.nolabel input::before, .frmselect.frmlabelinline.nolabel select::before, .frmresult.frmlabelinline.nolabel div.frmvalue::before {display:initial;padding:0;}
	.frminput.frmtext.frmlabelinline.nolabel input, .frmselect.frmlabelinline.nolabel select, .frmresult div.frmvalue, .frmresult.frmlabelinline.nolabel div.frmvalue {display:block;}
	.frmradio .frmelement {max-width:300px;width:100%;}
	.underlay {display:none;}
	#header .inav {display:none;}
	#header .inavm {display:block;}
	#main .inner {display:block;}
	#main .left, #main .right {width:100%;}
	#main .left .frame, #main .right .frame {max-width:none;}
	#main .left .content, #main .right .content {padding:25px 15px 15px 15px;}
	#footer .snav .item > a {padding:0 10px 0 10px;}
	/* CATALOGUE */
	#catfilter .toggle.trigger {cursor:pointer;}
	div.catsearch_message {padding:0 0 10px 0;}
	/* swap upper/main on catalogue pages */
	.catalogue_page .swap {display:-webkit-flex; display:flex; -webkit-flex-direction:column-reverse; flex-direction:column-reverse;}
	.catdetails .btrow {-webkit-align-items:flex-start; align-items:flex-start; -webkit-flex-direction:column; flex-direction:column;}
	.catdetails .btrow > span {min-width:212px; padding:5px 0 5px 0; text-align:center;} /* min-width matches min-width of frmbt plus l/r padding */
	/* BOOKING */
	.booking_request .frminput.frmtext.frmlabelinline.guests input:nth-of-type(1), .booking_request .frminput.frmtext.frmlabelinline.guests input:nth-of-type(2),
	.booking_view .frmresult.frmlabelinline.guests div.frmvalue:nth-of-type(1), .booking_view .frmresult.frmlabelinline.guests div.frmvalue:nth-of-type(2)
	{width:39%;}
	.booking_request .frminput.frmtext.frmlabelinline.guests input:nth-of-type(3), .booking_view .frmresult.frmlabelinline.guests div.frmvalue(3) {width:20%;}
	.booking_request .addrows .frminput.frmtext.date input {width:45%; width:calc(50% - 30px);}
	.booking_request .addrows .frminput.frmtext.option input {width:90%; width:calc(100% - 30px);}
	/* ELEMENTS TO HIDE/SHOW ACCORDING TO TEMPLATE */
	#catfilter .toggle.action {display:initial;}
	#catfilter .toggle.container {display:none;}
	}

/* TEMPLATE SMALL */

@media screen and (max-width: 480px) {
	#check_media {width:480px;} /* redefine check_width to match template */
	#page {padding-bottom:0;}
	#main .packs {display:block}
	#main .packs .item {display:block; width:100%;}
	#main .packs .item:nth-child(3n+1), #main .packs .item:nth-child(3n+2), #main .packs .item:nth-child(3n+3) {margin:0;}
	#footer.outer {height:auto; position:relative;}
	#footer .snav, #footer .snav .item {display:block;}
	#footer .snav {padding:10px 0 10px 0;}
	#footer .snav .item {padding:5px 0 5px 0; text-align:center; width:100%;}
	#footer .snav .item > a {padding:0;}
	/* CATALOGUE */
	.catresults .catitem {margin:0 1.5% 15px 1.5%; width:47%;width: calc((100% / 2) - 3%);}
	.catresults .catitem p.description {display:none;}
	/* COOKIEBAR */
	.cookiebar > div {display:block;}
	.cookiebar .cookiemsg {padding:0 2.5% 5px 2.5%; width:95%;}
	.cookiebar .cookiebt {padding:0 2.5% 0 2.5%; text-align:center; width:95%;}
	}
