/* 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;}
.show {display: block !important;}
.bold {font-weight: 600;}
.italic {font-style: italic;}
.error {color: #ff0000;}
.center {text-align: center;}

/* FORM STYLES GLOBAL */
.frmbox, .frmboxxsmall, .frmboxsmall, .frmboxsmallmedium , .frmboxmediumsmall,  .frmboxmedium, .frmboxmediumlarge, .frmboxlarge, .frmboxxlarge, .frmboxxxlarge, .frmboxxxxlarge, .frmboxcheck, .frmboxtxtarea, .frmbt {vertical-align: middle; margin: 0 15px 0 0; display: inline;}
.frmbox, .frmboxxsmall, .frmboxsmall, .frmboxsmallmedium , .frmboxmediumsmall,  .frmboxmedium, .frmboxmediumlarge, .frmboxlarge, .frmboxxlarge, .frmboxxxlarge, .frmboxxxxlarge, .frmboxcheck, .frmbt {padding: 0;}
.frmboxxsmall, .frmbox25 {width: 25px;}
.frmboxsmall, .frmbox50{width: 50px;}
.frmboxsmallmedium, .frmbox75 {width: 75px;}
.frmboxmediumsmall, .frmbox100 {width: 100px;}
.frmboxmedium, .frmbox125  {width: 125px;}
.frmboxmediumlarge, .frmbox150  {width: 150px;}
.frmboxlarge, .frmbox180 {width: 180px;}
.frmboxxlarge, .frmbox200 {width: 200px;}
.frmboxxxlarge, .frmbox250 {width: 250px;}
.frmboxxxxlarge, .frmbox300 {width: 300px;}
.frmbox350 {width: 350px;}
.frmbox400 {width: 400px;}
.frmbox450 {width: 450px;}
.frmbox500 {width: 500px;}

/* TYPE */
html {
	position: relative;
	min-height: 100%;
}
body {
	margin-bottom: 60px;
}
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: Arial, Helvetica, FreeSans, sans-serif;
	font-style:normal;
	font-weight: 500;
	line-height:1.2;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
}
i.fa, i.fab, i.fal, i.far, i.fas {
	line-height:1.2; /* set line-height for fa icons to match default */
}
a {
	color:#44748a
}

/* GENERIC */
.inner {
	width: 100%;
	max-width: 1520px;
	margin: 0 auto;
}

/* LIGHTBOXES */
.lightbox {
    background: #ffffff;;
    margin: 40px auto;
    max-width: 800px;
    padding: 0;
    position: relative;
}
.lightbox .frame_lb {
    min-height: initial;
    position: relative;
}
.lightbox .content {
    padding: 5%;
    text-align: left;
}
.lightbox .content h1, .lightbox .content h2, .lightbox .content h3 {
  padding: 10px 0 5px 0;
	text-transform: uppercase;
	font-size: 1.35em;
}
.lightbox .content h4 {
  padding: 20px 0 5px 0;
	text-transform: uppercase;
	font-size: 1.25em;
}
.lightbox .content p {
  padding: 0 0 10px 0;
	font-size: 1.06em;
}
.lightbox .content ol.privacy_policy p {
	font-size:0.85em;
	padding:5px 0 0 0;
	font-size: 0.85em;
}
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 #000000;;
	font-size:0.75em;
	padding:0.5em;
}
ol.privacy_policy table.cookies_list th {
	background-color:#d2d2d2;
}
.privacy.content ol.list.privacy_policy > li {
	margin: 0 0 0 5px;
	paddig: 3px 0 3px 5px;
	font-size: 1.16em;
}
.privacy.content ol.list.privacy_policy > li li {
	padding:3px 0 3px 0;
	margin-left: 22px;
	font-weight: 0.85em;
}
.privacy.content ol.list li > ol, .privacy.content ul.list li > ul {
    padding-top: 3px;
}
.lightbox .content .contact_details p {
	font-size: 1em;
}
.lightbox .content .contact_information p {
	font-size: 1.1em;
}
.lightbox .content .contact_details .contact_information p {
	padding: 0;
}
.lightbox .content.terms span.bold {
	margin-top 10px;
}
.lightbox .content.terms ol li {
  margin-left: 23px;
}
.lightbox .panelcontent {
	margin: 20px 0;
}
.lightbox .catdetail {
	text-align: center;
	padding-bottom: 10px;
}
.lightbox .catdetail .catimgdetail {
	border: 5px solid #44748a;
	border-radius: 5px;
}

/* HEADER BAR */
.header.outer {
	background-color: #d2d2d2;
}
.header .inner {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	justify-content: space-between;
	align-items: center;
}
.header .inner img.logo {
	height: 45px;
	padding: 20px 5px;
	margin-left: 45px;
}
.header .inner div.strapline {
	color: #44748a;
	font-size: 2em;
	height: 100%;
	text-transform: uppercase;
	margin-right: 45px;
}

/* GRID MENU PAGE */
.content .inner .errormsg {
	margin-top: 30px;
}
.content .inner .button_container {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: flex-start;
	-moz-justify-content: flex-start;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
.content .inner .button_container div.button_item {
	width: calc((99.9% / 6) - 30px);
	margin: 15px;
	box-sizing: border-box;
}
.content .inner .button_container div.button_item a {
	background-color: #44748a;
	display: block;
	height: 100%;
	position: relative;
	width: 100%;
}
.content .inner .button_container div.button_item.archived a {
	background-color: #902424;
}
.content .inner .button_container div.button_item img.spacer {
	display: block;
	visibility: hidden;
	width: 100%;
	border: 0;
}
.content .inner .button_container div.button_item .button_overlay {
	background-color: rgba(255,255,255, 0.25);
	display: none;
	height: 100%;
	left: 0;
	top: 0;
	width: 100%;
	position: absolute;
}
.content .inner .button_container div.button_item a:hover .button_overlay{
	display: block;
}
.content .inner .button_container div.button_item .button_icon {
	font-size: 550%;
	left: 50%;
	top: 37%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	color: #ffffff;
	position: absolute
}
.content .inner .button_container div.button_item .button_content {
	bottom: 21%;
	left: 0;
	padding: 0 2.5% 0 2.5%;
	text-align: center;
	text-transform: uppercase;
	width: 95%;
	color: #ffffff;
	position: absolute;
}

/* GRID PAGE */
.page_grid h1, .page_archived_grid h1 {
	height: 20px;
	margin: 0;
	padding: 10px 0px;
	font-family: Arial, Helvetica, FreeSans, sans-serif;
	color: #8e9398;
	font-size: 200%;
	font-weight: normal;
	text-align: center;
}
.page_archived_grid h1 {
	margin-bottom: 20px;
}
.page_grid p.right, .page_archived_grid p.right {
	margin-top: 13px;
	right: 17px;
	position: absolute;
}
.page_grid .panel_left, .page_grid .panel_right {
	width: 50%;
	float: left;
	box-sizing: border-box;
	padding: 30px;
}
.page_grid .panel_left h2, .page_grid .panel_right h2 {
	text-align: center;
	margin-bottom: 10px;
	color: #8e9398;
	font-size: 150%;
}
.page_grid div.frmrow {
	text-align: center;
	margin: 10px 0;
}

/* LOAD GRID - ACTUAL GRID STYLING */
.panelcontentgrid {
	text-align: center;
	max-width: 500px;
	margin: 0 auto;
}
.gridtile {
	height: 150px;
	width: 150px;
	background-color: #44748a;
	border-radius: 5px;
	margin: 5px;
	display: inline-block;
}
.gridtile:hover {
	background-color: #232323;
}
.gridtile a {
	height: 100%;
	width: 100%;
	display: block;
	color: #ffffff;
	text-decoration: none;
	font-weight: bold;
	font-size: 7em;
	text-align: center;
	transform: translate(0,6%);
}
.gridtile.gridtilewon div.winner p {
  height: 42px;
}
.gridtile.gridtilewon div.prize p {
  height: 42px;
}
.gridtile.gridtilewon p {
  font-size: 15px;
  margin: 2px 0 2px 0;
}
.gridtile.gridtilewon p {
  color: #ffffff;
  text-align: center;
  padding: 0;
  line-height: 1.4;
  overflow: hidden;
}
.gridtile.gridtilewon img {
	width: 100%;
	height: 100%;
	border-radius: 5px;
	border: 2px solid #44748a;
	box-sizing: border-box;
}
.gridtile.gridtilewon div.prize, .gridtile.gridtilewon div.winner {
	height: 42px;
	width: 150px;
	border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
	background-color: rgba(68,116,138,0.65);
	margin-top: -44px;
	position: relative;
	z-index: 20;
}
.gridtile.gridtilewon div.winner {
  display: none;
}
.gridtile.gridtilewon:hover div.winner {
  display: block;
}
.gridtile.gridtilewon:hover div.prize {
  display: none;
}

/* FOOTER */
.footer.outer {
	background-color: #e2e2e2;
	bottom: 0;
	height: 60px;
	position: absolute;
	width: 100%;
}
.footer .frame, .footer .inner, .footer .footer_nav {
	height: 100%;
}
.footer .footer_nav {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
}
.footer .footer_nav .item > a {
	color: #7a7a7a;
	display: block;
	padding: 0 15px 0 15px;
	text-transform: uppercase;
	text-decoration: none;
}
.footer .footer_nav .item a:hover {
	color: #44748a;
}

/* COOKIE BAR STYLING */
.cookiebar {
  background: rgba(0,0,0,0.7);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 9999997;
}
.cookiebar > div {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	justify-content: center;
	padding: 10px 0;
	width: 100%;
}
.cookiebar .cookiemsg {
  padding: 0 2.5% 0 5%;
}
.cookiebar .cookiebt {
  padding: 0 5% 0 2.5%;
}
.cookiebar .cookiebt a.frmbt {
    font-size: 1em;
    line-height: 32px;
    min-width: 100px;
		display: inline-block;
		background-color: transparent;
		border: 1px solid #ffffff;;
		cursor: pointer;
		font-weight: 500;
		padding: 0 16px 0 16px;
		text-align: center;
		text-transform: uppercase;
		transition: background-color 0.2s, color 0.2s;
		text-decoration: none;
}
.cookiebar .cookiebt a.frmbt .fas {
	font-size: 0.8em;
	line-height: 32px;
	padding-left: 10px;
}
.cookiebar .cookiemsg p {
  color: #ffffff;;
  font-size: 1em;
  text-align: center;
}
.cookiebar .cookiemsg p a {
  color: #ffffff;;
  padding: 0 5px 0 5px;
  text-decoration: underline;
}
.cookiebar .cookiebt a {
  color: #ffffff;;
  font-size: 1.1em;
  font-weight: 700;
  text-transform: uppercase;
	border 1px solid #ffffff;;
}
.cookiebar .cookiebt a:hover, .cookiebar .cookiebt a:focus {
	background-color: #ffffff;;
	color: #000000;;
}

/* ######################## */
/* RESPONSIVE MEDIA QUERIES */
/* ######################## */
@media (max-width: 1300px){
	.content .inner .button_container div.button_item .button_icon {
		font-size: 420%;
	}
}

@media (max-width: 1150px){
	.content .inner .button_container div.button_item {
		width: calc((99.9% / 5) - 30px);
	}
}

@media (max-width: 920px){
	.content .inner .button_container div.button_item {
		width: calc((99.9% / 4) - 30px);
	}
}

@media screen and (max-width: 800px) {
	#footer .footer_nav .item > a {
		padding:0 10px 0 10px;
	}
}

@media (max-width: 770px){
	.content .inner .button_container div.button_item {
		width: calc((99.9% / 3) - 30px);
	}
}

@media (max-width: 700px){
  .cookiebar > div {
    display: block;
  }
	.cookiebar .cookiemsg {
    padding: 0 2.5% 5px 2.5%;
    width: 95%;
  }
	.cookiebar .cookiebt {
    padding: 5px 2.5% 0 2.5%;
    text-align: center;
    width: 95%;
  }
}

@media (max-width: 570px){
	.content .inner .button_container div.button_item {
		width: calc((99.9% / 2) - 30px);
	}
}

@media (max-width: 530px){
	.page_grid .panel_left, .page_grid .panel_right {
		width: 100%;
		padding: 15px;
	}
}

@media (max-width: 500px){
	.header .inner img.logo {
		margin-left: 15px;
	}
	.header .inner div.strapline {
		margin-right: 15px;
	}
}

@media screen and (max-width: 480px) {
	/* 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%;
	}
	.content .inner {
		padding-bottom: 80px;
	}
	.footer.outer {
		height:auto;
		/* position:relative; */
	}
	.footer .footer_nav, .footer .footer_nav .item {
		display:block;
	}
	.footer .footer_nav {
		padding:10px 0 10px 0;
	}
	.footer .footer_nav .item {
		padding:5px 0 5px 0;
		text-align:center;
		width:100%;
	}
	.footer .footer_nav .item > a {
		padding:0;
	}
}

@media (max-width: 450px){
	.header .inner {
		display: inline-block;
		text-align: center;
	}
	.header .inner div.strapline {
		margin: 0;
	}
}

@media (max-width: 370px){
	.content .inner .button_container div.button_item {
		width: calc((99.9% / 1) - 30px);
	}
	.page_grid p.right, .page_archived_grid p.right {
		position: relative;
		right: 0;
		text-align: right;
		margin-right: 10px;
	}
}
