/*
FINN JAMES
[ www.finnjamesauthor.com ]

Target screen size 1440px-1680px
--------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
/*
Regular = 400
Medium = 500
Semibold = 600
Bold = 700
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;1,500;1,600&display=swap');
/*
Medium = 500
Semibold = 600
Normal and italic
*/


html {
	overflow-x: hidden;
	max-width: 100%;
}

body {
	background: #FFFAF1;
	color: #2B2B2B;
	font-family: 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 28px;
	margin: 0;
	padding: 0;
	text-align: left;
	text-rendering: optimizeLegibility;
	scroll-behavior: smooth;
	overflow-x: hidden;
	max-width: 100%;
}

table, tr, td {
	border: 0;
	margin: 0;
	padding: 0;
}

img {
	border: 0;
	display: block;
}

::-moz-selection {
	background: #AE1C23;
	color: #fff;
}
::selection {
	background: #AE1C23;
	color: #fff;
}

.mobile-only {
	display: none !important;
}


/* Colours
--------------------------------------------- */

.white {
	color: #fff;
}

.almost_black {
	color: #2B2B2B;
}

.dark_grey {
	color: #333;
}

.paper {
	color: #FFFAF1;
}

.dark_red {
	color: #AE1C23;
}

.cream {
	color: #FFF3DC;
}


/* Cookie consent
--------------------------------------------- */

.cc-nb-main-container {
	background-color: #2B2B2B !important;
	font-family: 'Plus Jakarta Sans' !important;
}

.cc-nb-buttons-container button {
	color: #fff !important;
	background-color: #666 !important;
	font-weight: 600;
	border: 0;
	border-radius: 8px !important;
}

.cc-nb-buttons-container .cc-nb-okagree {
	background-color: #AE1C23 !important;
}

.cc-pc-container {
	background-color: #2B2B2B !important;
	font-family: 'Plus Jakarta Sans' !important;
}

.cc-cp-foot-save {
	color: #fff !important;
	background-color: #AE1C23 !important;
	font-weight: 600;
	border: 0;
	border-radius: 8px !important;
}

.cc-cp-body-tabs {
	font-family: 'Plus Jakarta Sans' !important;
}

.cc-pc-head-close:focus {
	outline: none !important;
  border:1px solid #C02B32 !important;
}


/* Headings and paragraph text
--------------------------------------------- */

h1 {
	font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
	color: #AE1C23;
	font-size: 64px;
	line-height: 64px;
	margin: 0 0 24px 0;
  clear: both;
}

h2 {
	font-family: 'Barlow Condensed', Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
	color: #AE1C23;
	font-size: 48px;
	line-height: 48px;
	margin: 0 0 24px 0;
  clear: both;
}

h3 {
	font-family: 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  text-transform: none;
	color: #2B2B2B;
	font-size: 22px;
	line-height: 32px;
	margin: 0 0 24px 0;
  clear: both;
}

p {
	display: block;
	font-family: 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 28px;
	font-weight: 400;
	margin: 0 0 16px 0;
	padding: 0;
	color: #2B2B2B;
  clear: both;
}


/* General links and buttons
----------------------------------------------- */

a, a:link, a:visited {
	color: #AE1C23;
	font-weight: 600;
	text-decoration-color: transparent;
  text-decoration-thickness: .15em;
  text-underline-offset: 5px;
	transition: all 0.2s ease-in-out;
	padding-bottom: 4px;
}

a:hover, a:active {
	text-decoration-color: #C02B32;
}

a.no_underline, a.no_underline:link, a.no_underline:visited {
	text-decoration: none;
}

a.no_underline:hover, a.no_underline:active {
	text-decoration: none;
	color: #333;
}

a.button, button {
	display: inline-block;
	color: #fff;
	font-family: 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
	font-size: 18px;
	line-height: 20px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	padding: 16px 64px;
	cursor: pointer;
	border: none;
	background-color: #AE1C23;
  border-radius: 12px;
	box-shadow: 0px 4px 16px 0 rgba(0,0,0,0.16);
	transition: all 0.2s ease-in-out;
}

a.button:hover, button:hover {
	background-color: #C02B32;
	box-shadow: 0px 1px 8px 0 rgba(0,0,0,0.08);
}

a.centred {
	margin: 16px auto;
	width: 33%;
}


/* Main styles
--------------------------------------------- */

.floatLeft {
	float: left;
}
.floatRight {
	float: right;
}

.clearboth {
	clear: both;
	font-size: 1px;
	height: 0;
	line-height: 0;
	overflow: hidden;
}

.nomargin {
	margin: 0;
}

.hide {
	display:none;
}

.nobr {
	white-space: nowrap;
}


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

#header {
	max-width: 1304px;
	margin: auto;
}

#header .header-logo {
	margin: 40px 0 56px 48px;
	float: left;
}

#header .header-logo img {
	width: auto;
	height: 40px;
}

#header .header-nav {
	margin: 40px 48px 0 40px;
	float: right;
}

#header .header-nav img {
	width: 24px;
	height: 24px;
}

.header-nav a, .header-nav a:link, .header-nav a:visited {
	display: block;
	float: left;
	color: #2B2B2B;
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	text-decoration: none;
	margin-left: 0;
	padding: 8px 16px 8px 16px;
  border-radius: 12px;
	background: linear-gradient(to bottom, #FFF3DC 50%, transparent 50%);
	background-size: 100% 200%;
	background-position: bottom left;
	transition: all 0.1s ease-in-out;
}

.header-nav a:hover, .header-nav a:active {
	background-position: top left;
}


/* Homepage
--------------------------------------------- */

#container.homepage {
	margin: 0 auto;
  width: calc(100% - 96px);
  max-width: 1208px;
	clear: both;
}

.col-left {
	position: relative;
	width: calc(50% - 40px);
	margin-right: 40px;
	float: left;
}

.col-left a.button {
	margin-top: 16px;
}

.col-right {
	position: relative;
	width: 50%;
	float: right;
}

.col-right img {
  width: 100%;
	max-width: 584px;
	height: auto;
  object-fit: contain;
}

.col-wide {
	position: relative;
	max-width: 792px;
	margin-bottom: 64px;
}

.newsletter {
	clear: both;
	width: 100%;
	background-color: #FFF3DC;
	margin: 48px auto 0 auto;
	padding: 64px 0;
	text-align: center;
}

.newsletter p {
  width: calc(100% - 96px);
	max-width: 584px;
	margin: 0 auto 16px auto;
}

.scene img {
	width: 100%;
	height: auto;
	max-height: 800px;
	object-fit: cover;
}


/* Form elements
----------------------------------------------- */

.form-holder {
	width: calc(100% - 48px);
	max-width: 376px;
	text-align: left;
	margin: 24px auto 0 auto;
}

.form-holder button {
	width: 100%;
}

.text-field {
	width: calc(100% - 24px);
	font-family: 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 28px;
	padding: 12px;
	margin: 8px 0 24px 0;
	border: 0;
	border-radius: 12px;
	clear: both;
	float: none;
}

label {
	width: calc(100% - 32px);
	font-family: 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 20px;
	font-weight: 700;
	padding: 0;
	color: #2B2B2B;
  clear: both;
	float: none;
}

.privacy-policy {
	width: 100%;
	margin: 16px 0 0 0;
}

.privacy-policy p {
	font-family: 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	width: 100%;
	text-align: center;
}


/* Recaptcha
--------------------------------------------- */

.ml-form-recaptcha {
	margin: 0 auto 24px auto;
}

.ml-form-recaptcha.ml-error iframe {
	border: solid 1px #cc0000;
}

@media screen and (max-width: 480px) {
	.ml-form-recaptcha {
		max-width: 280px!important;
	}
}


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

#footer {
	width: calc(100% - 96px);
	background-color: #2B2B2B;
	text-align: center;
	padding: 64px 48px 80px 48px;
}

#footer p {
	color: #fff;
}

#footer p.promo_text {
	font-weight: 600;
	margin-bottom: 0;
}

#footer a {
	color: #fff;
	font-weight: 700;
}


/* Responsive resizing
--------------------------------------------- */

/* NOTE: MOBILE */
@media screen and (min-width: 0) and (max-width: 767px)  {
	.not-mobile {
		display: none !important;
	}
	.mobile-only {
		display: block !important;
	}
	input.send-button {
		padding: 24px 0;
		width: 100%;
	}
	a#cookie-bar-button {
		padding: 16px 0 !important;
		width: calc(100% - 48px);
		margin: 16px 26px 24px 24px !important;
	}
	#cookie-bar p {
		margin: 16px 24px 0 24px !important;
	}
	h1 {
		font-size: 40px;
		line-height: 48px;
		margin: 0 0 16px 0;
	}
	h2 {
		font-size: 32px;
		line-height: 40px;
		margin: 0 0 16px 0;
	}
	h3 {
		font-size: 20px;
		line-height: 28px;
		margin: 0 0 16px 0;
	}
	#header .header-logo {
		margin: 32px 0 32px 24px;
	}
	#header .header-logo img {
		height: 32px;
	}
	#header .header-nav {
		margin: 32px 8px 0 8px;
	}
	.header-nav a, .header-nav a:link, .header-nav a:visited {
		padding: 4px 16px;
	}
	#container.homepage {
	  width: calc(100% - 48px);
	}
	.col-left {
		width: 100%;
		margin-right: 0;
		float: none;
		clear: both;
	}
	.col-left a.button {
		padding: 16px 24px;
		width: calc(100% - 48px);
	}
	.col-right {
		width: 100%;
		float: none;
		clear: both;
	}
	.col-right img {
	  width: calc(100% - 16px);
		max-width: 480px;
		margin: 0 auto;
	}
	.col-wide {
		margin-bottom: 40px;
	}
	.newsletter {
		margin: 40px auto 0 auto;
		padding: 40px 24px;
		text-align: left;
	}
	.newsletter p {
	  width: calc(100% - 48px);
		margin: 0 0 16px 0;
	}
	.form-holder {
		margin: 24px 0 0 0;
		max-width: none;
	}
	.privacy-policy p {
		width: 100%!important;
		max-width: none;
	}
	#footer {
		width: calc(100% - 48px);
		text-align: center;
		padding: 40px 24px 64px 24px;
	}
	.cc-nb-main-container {
		padding: 40px !important;
	}
}
