/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

img{
	max-width: 100%;
	height:auto;
}

*,
html,
body{
	box-sizing: border-box;
}

main{
	width:100%;
}

:root {
  --color-light: #fff;
  --color-primary: #409663;
  --color-secondary: #A39B4B;
  --color-secondary-darker: #807939;
  --color-tertiary: #07A1BA;
  --color-tertiary-darker: #0F7B8D;
  --color-mid-green: #409663;
  --color-darker-green: #2d573e;
  --color-darkest-green: #2D3D2F;
  --size-step-0: clamp(1rem, calc(0.96rem + 0.22vw), 1.13rem);
  --size-step-1: clamp(1.25rem, calc(1.16rem + 0.43vw), 1.5rem);
  --size-step-2: clamp(1.56rem, calc(1.41rem + 0.76vw), 2rem);
  --size-step-3: clamp(1.95rem, calc(1.71rem + 1.24vw), 2.66rem);
  --size-step-4: clamp(2.44rem, calc(2.05rem + 1.93vw), 3.55rem);
}

body {
  background: var(--color-light);
  color: var(--color-dark);
  font-family: "Josefin Sans", sans-serif;
  font-size: var(--size-step-0);
  line-height: 1.7;
}

a {
  color: currentColor;
}

h1,
h2,
h3 {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  line-height: 1.1;
  text-wrap: balance;
}

h1 {
  font-size: var(--size-step-4);
}

h2 {
  font-size: var(--size-step-3);
}

h3 {
  font-size: var(--size-step-2);
}

ul,
ol {
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
}

blockquote {
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
  -webkit-border-start: 0.3em solid;
          border-inline-start: 0.3em solid;
  font-style: italic;
  font-size: var(--size-step-1);
}

/* Utilities */
.flow > * + * {
  -webkit-margin-before: var(--flow-space, 1em);
          margin-block-start: var(--flow-space, 1em);
}

/* Flow and rythm */
:is(h1, h2, h3, blockquote) {
  --flow-space: 1.5em;
}

:is(h1, h2, h3) + * {
  --flow-space: 0.5em;
}

/* Line lengths */
article {
  max-width: 65ch;
  margin-inline: auto;
}

blockquote {
  max-width: 50ch;
}

h1 {
  max-width: 20ch;
}

h2,
h3 {
  max-width: 28ch;
}

a:hover{
	color:var(--color-primary);
}

.primary h2,
.primary h3,
.primary h4{
	color:var(--color-darker-green);
}

.highlight h2,
.highlight h2,
.highlight h2,
.signup h2,
.signup h2,
.signup h2,
.features h2,
.features h2,
.features h2{

}

/* Blocks */
.lede {
  font-size: var(--size-step-1);
  font-style: italic;
  max-width: 50ch;
  text-wrap: balance;
}

.lede + * {
  --flow-space: 2em;
}

.restrict{
	max-width:1024px;
	padding:0 1rem;
	display:block;
	margin:2rem auto;
}

.row{
	width:100%;
	float:left;
	position: relative;
}

.padding{
	padding:4rem 0 !important;
}

/* HEADER */
header{
	position: relative;
	z-index:2000;
	background-image: linear-gradient(rgba(10,10,10,0.8), rgba(0,0,0,0));
	top:-2rem;
}

header .restrict{
	max-width:1440px;
	padding-top:2rem;
	margin:2rem auto;
}

nav button{
	display:none;
}

nav{
	width:100%;
	position: relative;
	z-index:2000;
}

nav ul{
	padding:0;
	line-height: 118px;
	display:block;
	text-align: center;
	background:url('../images/primary_logo_white.svg?v=1') center center no-repeat;
	background-size:240px;
}

.secondary nav > ul{
	background:url('../images/lodges_logo_white.svg?v=1') center center no-repeat;
	background-size:240px;
}

.tertiary nav > ul{
	background:url('../images/motorhome_logo_white.svg?v=1') center center no-repeat;
	background-size:240px;
}

.sticky nav > ul{
	background:url('../images/primary_logo_colour.svg?v=1') center center no-repeat;
	background-size:140px;
}

.secondary .sticky nav > ul{
	background:url('../images/lodges_logo_colour.svg?v=1') center center no-repeat;
	background-size:140px;
}

.tertiary .sticky nav > ul{
	background:url('../images/motorhome_logo_colour.svg?v=1') center center no-repeat;
	background-size:140px;
}

nav ul li{
	position: relative;
	display:inline-block;
	margin:0 2rem;
}

nav ul li:nth-child(4){
	padding-right:180px;
}

nav ul li:nth-child(5){
	padding-left:180px;
}

nav ul li ul{
	display:none;
}

nav ul li a{
	color:#fff;
	text-shadow: 0px 0px 2px #000;
}

nav ul li a:hover{
	color:#fff;
}

nav ul li:hover > ul,
nav ul li.active > ul{
	display:block;
	position: absolute;
	top:100px;
	left:0px;
	width:240px;
	background: var(--color-primary);
	display:block;
	line-height:36px;
	text-align: left;
	border-radius: 4px;
	box-shadow: 0px 0px 3px #000;
}

.sticky nav ul li:hover > ul,
.sticky nav ul li.active > ul{
	top:77px;
}

nav ul li:nth-child(3) ul{
	background: var(--color-secondary);
}

nav ul li:nth-child(4) ul{
	background: var(--color-tertiary);
}

nav ul li:nth-child(3):hover ul li:hover ul{
	left:220px;
	top:0px;
	background: var(--color-secondary);
}

nav ul li:nth-child(4):hover ul li:hover ul{
	left:220px;
	top:0px;
	background: var(--color-tertiary);
}

nav ul li:nth-child(5) > ul{
	left:180px;
}

nav ul li:hover ul li,
nav ul li.active ul li{
	padding:0.5rem;
	margin:0;
	width:100%;
}

nav ul li a i{
	margin-left:1rem;
	color:#fff;
}

nav ul li ul li a i{
	margin-left:1rem;
	color:var(--color-primary);
}

nav ul li:nth-child(3) ul li a i{
	color:var(--color-secondary);
}

nav ul li:nth-child(4) ul li a i{
	color:var(--color-tertiary);
}

nav ul li a{
	color:#fff;
	text-decoration: none;
}

nav ul li ul a{
	text-shadow: none;
}

nav ul li ul a{
	color:#fff;
}

header a.phone{
	display:none;
}

header a.home{
	display:block;
	margin:0 auto;
	position: absolute;
	left:calc(50% - 100px);
	width:200px;
	height:100px;
	z-index:20000;
	text-indent:-100000px;
}

.sticky{
	background:rgba(255,255,255,0.9);
	position: fixed;
	top:0px;
	left:0px;
	width:100%;
}

.sticky nav ul{
	line-height:80px;
}

.sticky nav ul li a{
	color:var(--color-dark-green);
	text-shadow: none;
}

.sticky nav ul li ul li a{
	color:#fff;
}

.sticky .restrict{
	margin:0 auto;
	padding-top:0px;
}

@media screen and (max-width:1360px){
	nav ul li{
		margin: 0 1rem;
	}
}

@media screen and (max-width:1090px){
	nav.active{
		background:#fff;
		position: fixed;
		top:0px;
		left:0px;
		width:100%;
		height:100vh;
		overflow: auto;
	}
	header{
		top:0px;
	}
	header img{
		height:120px;
		width:auto;
	}
	header .restrict{
		grid-template-columns: 1fr 1fr;
		margin:0;
		padding:2rem 0;
		background:url('../images/primary_logo_white.svg') center center no-repeat;
		background-size:contain;
	}
	.secondary header .restrict{
		background:url('../images/lodges_logo_white.svg?v=1') center center no-repeat;
		background-size:contain;
	}
	.tertiary header .restrict{
		background:url('../images/motorhome_logo_white.svg?v=1') center center no-repeat;
		background-size:contain
	}
	header ul{
		display:none;
	}
	header nav{
		justify-content: right;
		align-items: center;
		position: relative;
		height:60px;
		background: transparent;
	}
	header nav button,
	.secondary header nav button,
	.tertiary header nav button,
	.luxury header nav button{
		display:block;
		background:transparent;
		width:auto;
		position: absolute;
		top:1rem;
		right:1.5rem;
		min-width: auto;
		height:40px;
		box-shadow: none;
		border-radius: 0px;
	}
	header nav button.active{
		top:3rem;
	}
	header nav button span{
		display:block;
		position: absolute;
		width:24px;
		height:4px;
		background:#fff;
		top:10px;
		left:8px;
		padding:0;
		
	}
	header nav button span.middle{
		top:19px;
	}
	header nav button span.bottom{
		top:28px;
	}
	header nav button span.name{
		text-indent: -1000000000px;
	}
	header nav button.active span{
		transform: rotate(45deg);
		top:20px;
		background:var(--color-darkest-green);
	}
	header nav button.active span.bottom{
		transform: rotate(-45deg);
		top:20px;
		background:var(--color-darkest-green);
	}
	header a.phone{
		display:inline-block;
		color:#fff;
		position: absolute;
		top:3.5rem;
		left:2rem;
		z-index:2001;
		cursor: pointer;
	}
	header a.phone span{
		text-indent:-100000000px;
	}
	nav ul.active{
		display:block;
		text-align: left;
		line-height: 2.5rem;
		background:#fff;
		padding:100px 2rem 2rem;
		top:0rem;
		position: relative;
		min-height:100vh;
		font-size:150%;
		line-height:200%;
	}
	nav ul.active li ul{
		
	}
	nav ul.active li ul li ul{
		font-size:100%;
	}
	nav ul.active li{
		display:block;
		width:100%;
		margin:0;
	}
	nav ul li:nth-child(5){
		padding-left:0;
	}
	nav ul.active a{
		color:var(--color-darkest-green);
	}
	nav ul li ul,
	nav ul li:hover ul,
	nav ul.active li ul,
	nav ul.active li:hover ul,
	nav ul.active li ul li ul,
	nav ul.active li:hover ul li ul,
	nav ul.active li:hover ul li:hover ul{
		display:block;
		padding:0;
		margin:0;
		border-top: none;
		margin-left:2rem;
		box-shadow: none;
		position: fixed;
		left:0px;
		top:100px;
		height:calc(100vh - 120px);
		width:calc(100% - 3rem);
		background:#fff;
		z-index:20000;
		display:none;
	}
	
	nav ul li.toggle > ul,
	nav ul li.toggle:hover > ul,
	nav ul.active li.toggle > ul,
	nav ul.active li.toggle:hover > ul{
		display:block;
		width:calc(100% - 4rem);
	}
	
	nav ul.active li.toggle ul li ul,
	nav ul.active li.toggle:hover ul li ul{
		display:none;
		z-index:2000000;
	}
	
	nav ul.active li.toggle ul li.toggle ul,
	nav ul.active li.toggle:hover ul li.toggle ul{
		display:block;
		z-index:2000000;
	}
	
	nav ul.active li ul li,
	nav ul.active li:hover ul li{
		line-height:3rem;
		text-align: left;
		padding:0;
		margin:0;
	}
	
	nav ul li:nth-child(4){
		padding-right:0;
	}
	
	nav > ul > li:nth-child(2),
	nav > ul > li:nth-child(3),
	nav > ul > li:nth-child(4){
		font-size:200%;
	}
	
	nav ul li:nth-child(2) ul,
	nav ul li:nth-child(3) ul,
	nav ul li:nth-child(4) ul{
		font-size:var(--size-step-2);
	}
	
	nav > ul > li:nth-child(2) a{
		color:var(--color-primary);
	}
	
	nav > ul > li:nth-child(3) a{
		color:var(--color-secondary);
	}
	
	nav > ul > li:nth-child(4) a{
		color:var(--color-tertiary);
	}
	
	nav ul li a{
		text-shadow: none;
	}
	
	nav ul li a:hover{
		color:var(--color-primary);
	}
	
	nav ul li ul li:first-child{
		text-transform: uppercase;
		border-bottom:1px solid #eee;
	}
	
	nav ul li ul li i{
		cursor: pointer;
	}
	
	nav ul li ul li i:hover{
		color:var(--color-primary);
	}
	
	.phone.fixed{
		position: fixed;
		top:3.5rem;
		left:2rem;
	}
	
	.sticky nav button{
		right:1.5rem;
		top:0.7rem;
		position: absolute;
	}
	
	.sticky nav button span{
		background:var(--color-darker-green);
	}
	
	.sticky nav.active button{
		top:1rem;
	}
	
	header.active a.phone{
		color:var(--color-darker-green);
	}
	
	.sticky a.phone{
		color:var(--color-darker-green);
		top: 1.7rem;
		left:1rem;
		width:40px;
		height:40px;
		text-align: center;
	}
	
	header.sticky .restrict{
		background:url('../images/primary_logo_colour.svg?v=1') center center no-repeat;
		background-size:100px;
		padding:0.5rem 0;
	}
}

/* FOOTER */
footer{
	padding:0;
	padding:0;
	background:var(--color-darker-green);
}

footer.row{
	margin-bottom:0;
}

.secondary footer{
	background:var(--color-secondary);
}

.tertiary footer{
	background:var(--color-tertiary);
}

.luxury footer{
	background:var(--color-darkest-green);
}

.luxury footer p.copy{
	background:#183022 !important;
}

footer p,
footer h2,
footer h3,
footer ul{
	color:#fff;
}

footer img{
	max-width:220px;
}

footer i{
	margin-right:1rem;
}

footer .restrict{
	margin:0 auto;
	display:grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-column-gap: 1rem;
	padding:2rem;
	max-width:1440px;
}

footer img{
	grid-column: 1 / 5;
	margin: 0 auto;
	display:block;
}

footer .copy{
	background:var(--color-darkest-green);
	padding:1rem;
	text-align: center;
	font-size:80%;
}

.secondary footer p.copy{
	background:var(--color-secondary-darker);
}

.tertiary footer p.copy{
	background:var(--color-tertiary-darker);
}

footer .restrict div{
	text-align: center;
}	

footer .restrict div:last-child{
	
}

footer ul.logos{
	list-style: none;
	margin:0 auto;
	padding:0;
	display:block;
	width:100%;
}

footer ul.logos li{
	display:inline-block;
	margin:0 0.5rem;
}

footer ul.logos li img{
	width:auto;
	height:60px;
}

.primary footer h2,
.secondary footer h2,
.tertiary footer h2,
.luxury footer h2{
	font-size:var(--size-step-1);
	margin-bottom:1rem;
	color:#fff;
}

a span{
	display:inline-block;
	width:0px;
	height:0px;
	overflow:hidden;
}

@media screen and (max-width:1280px){
	footer .restrict{
		grid-template-columns: 1fr 1fr;
		max-width:960px;
		grid-row-gap: 4rem;
	}
	footer .restrict div:nth-child(1){
		order: 3;
	}
	footer .restrict div:nth-child(2){
		order: 4;
	}
	footer h2{
		max-width:100%;
	}
	footer img{
		grid-column: 1 / 3;
	}
}

@media screen and (max-width:680px){
	footer .restrict{
		grid-template-columns: 1fr;
		max-width:480px;
		grid-column-gap: 0;
	}
	footer .restrict div,
	footer .restrict div:last-child{
		text-align: center;
	}
	footer img{
		grid-column: 1;
	}
	.copy ul li{
		line-height:2rem;
	}
}

/* BLOCKS */

.hero{
	background-position: center;
	background-size:cover;
	margin-top:-216px;
	padding:140px 0;
	position: relative;
	height:100vh;
}

#background-video {
   width: 100vw;
   height: 100vh;
   object-fit: cover;
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   z-index: -1;
}

.hero.sticky{
	margin-top:0;
	background:transparent;
}

.hero .restrict{
	display:flex;
	justify-content: center;
	padding-top:140px;
	max-width:580px;
	margin:0 auto;
}

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

.hero h1,
.hero h2{
	color:#fff;
	text-shadow: 0px 0px 10px #333;
}

.hero h2{
	font-size:var(--size-step-1);
	max-width: 100%;
}

.hero.internal .restrict{
	max-width:1024px;
	height:auto;
	padding-top:100px;
	padding-bottom:20px;
	z-index:1000;
	position: relative;
}

.hero.internal{
	overflow: hidden;
}

.hero.internal img{
	position: absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center center;
	z-index:0;
}

.hero.internal{
	padding:70px 0;
	height:auto;
}

.hero.internal.video{
	padding:200px 0px;
}

#background-video.internal-video{
	height:660px;
	object-fit:cover;
}

.hero a.button{
	max-width:200px;
}

.f-button.is-close-btn{
	min-width:0;
}

@keyframes MoveUpDown {
  0%, 100% {
    bottom: 10px;
  }
  50% {
    bottom: 30px;
  }
}

@keyframes MoveUpDown2 {
  0%, 100% {
    bottom: 10px;
  }
  50% {
    bottom: 20px;
  }
}

.hero .arrow{
	position: absolute;
	bottom:-60px;
	left:0px;
	width:100%;
	text-align: center;
	z-index:1000;
	animation: MoveUpDown 3s ease-in-out infinite;
}

.hero .arrow i{
	color:#fff;
}

@media screen and (max-width:1024px){
	.hero{
		margin-top:-124px;
	}
	.hero .restrict{
		padding-top:80px;
	}
	.hero.internal .restrict{
		padding-top:80px;
	}
	.hero h1{
		max-width:100%;
		font-size:var(--size-step-3);
	}
	.hero h2{
		max-width:100%;
		font-size:var(--size-step-2);
	}
	#background-video,
	.hero{
		height:80vh;
	}
	.hero.internal.video{
		padding:120px 0px;
	}
	#background-video.internal-video{
		height:440px;
		object-fit:cover;
	}
}

@media screen and (max-width:480px){
	.hero .arrow{
		animation: MoveUpDown2 3s ease-in-out infinite;
	}
	.hero.internal .arrow{
		animation: MoveUpDown 3s ease-in-out infinite;
	}
	.hero.internal.video{
		padding:80px 0;
	}
	#background-video.internal-video{
		height:360px;
		object-fit:cover;
	}
}

ul.inline{
	padding:0;
}

ul.inline li{
	display:inline-block;
	margin:1rem;
}

.textarea{
	background:#f8f8f8;
	border-bottom:1px solid #f1f2f2;
}

.textarea .restrict{
	padding:2rem 2rem 0;
	max-width:768px;
}

.padding-top{
	padding-top:4rem;
}

.textarea p,
.textarea h1,
.textarea h2,
.textarea h3{
	max-width: 100%;
}

.textarea strong{
	font-weight:700;
}

.textarea em{
	font-style: italic;
}

.textarea table{
	width:100%;
	margin:1rem 0;
	text-align: right;
}

.textarea tr:first-child td{
	font-weight:700;
}

.textarea table tr td:first-child{
	text-align: left;
}

.textarea table tr td{
	border-bottom:1px solid #eee;
	padding:0.5rem 0;
	padding-right:1rem;
	min-width:125px;
}

.textarea table tr td:last-child{
	text-align: right;
	padding-right:0;
}

.textarea table.bookings{
	margin:0 auto;
	max-width: 360px;
}

.textarea table.bookings tr th{
	text-align: center;
	font-weight:700;
}

.textarea table.bookings tr td{
	min-width: auto;
	padding:0.5rem;
	text-align: center;
}

.textarea table.bookings tr td:last-child{
	text-align: center;
}

.textarea ul{
	list-style:disc;
}

.textarea ol{
	list-style: decimal;
}

.textarea ul li,
.textarea ol li{
	margin-bottom:1rem;
}

.textarea p:first-child{
	font-size:120%;
}

.textarea em.fa{
	font-style: normal;
	color:var(--color-primary);
}

.textarea.icon-columns ul{
	column-count:2;
	column-gap:2rem;
	margin-left:0;
	padding:0;
	list-style:none;
}

.textarea.icon-columns ul li{
	border-bottom:1px solid #eee;
	padding-bottom:1rem;
	display:flex;
}

.textarea.icon-columns ul li .fa{
	margin-right:1rem;
	font-size:2rem;
	margin-top:0.5rem;
}

@media screen and (max-width:620px){
	.textarea.icon-columns ul{
		column-count:1;
	}
}

.primary .textarea i.fa-trees{
	background:url('../images/tree_green.svg');
	background-size:contain;
	width:2rem;
	height:2rem;
}

.primary .textarea i.fa-trees:before,
.secondary .textarea i.fa-trees:before,
.tertiary .textarea i.fa-trees:before,
.luxury .textarea i.fa-trees:before{
	content:"";
}

.secondary .textarea i.fa-trees{
	background:url('../images/tree_gold.svg');
	background-size:contain;
	width:2rem;
	height:2rem;
}

.tertiary .textarea i.fa-trees{
	background:url('../images/tree_blue.svg');
	background-size:contain;
	width:2rem;
	height:2rem;
}

.luxury .textarea i.fa-trees{
	background:url('../images/tree_gold.svg');
	background-size:contain;
	width:2rem;
	height:2rem;
}

.center{
	text-align: center;
}

.center h2{
	max-width: 100%;
	margin-bottom:2rem;
}

.columns .restrict{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 2rem;
	grid-row-gap: 2rem;
	max-width:1440px;
	padding:2rem;
}

.columns.two-columns .restrict{
	grid-template-columns: 1fr 1fr;
	margin-top:0px;
}

.columns.icons .restrict{
	max-width:1280px;
}

@media screen and (max-width:840px){
	.columns .restrict,
	.columns.two-columns .restrict{
		grid-template-columns: 1fr;
	}
	.card{
		max-width:680px;
		margin:0 auto;
	}
	.paging{
		grid-column: 1;
	}
}

.card{
	background:#f9f9f9;
	border-radius: 10px;
	border:5px solid #f1f2f2;
	box-shadow: 0px 0px 3px #ccc;
	text-align: center;
	position: relative;
}

.card.card-primary{
	background:var(--color-primary);
	border-color:var(--color-darker-green);
}

.card.card-secondary{
	background:var(--color-secondary);
	border-color:var(--color-secondary-darker);
}

.card.card-tertiary{
	background:var(--color-tertiary);
	border-color:var(--color-tertiary-darker);
}

.card div{
	padding:1rem;
}

.card h2{
	font-size:var(--size-step-2);
	margin-top:1rem;
}

.card.card-primary h2,
.card.card-secondary h2,
.card.card-tertiary h2,
.card.card-primary p,
.card.card-secondary p,
.card.card-tertiary p{
	color:#fff;
}

.card.card-primary a:hover,
.card.card-secondary a:hover,
.card.card-tertiary a:hover{
	color:#f1f2f2;
}

.card p.highlight{
	background:var(--color-primary);
	color:#fff;
	width:100px;
	height:100px;
	border-radius: 50%;
	position: absolute;
	top:20px;
	right:20px;
	transform: rotate(5deg);
	text-align: center;
	text-transform: uppercase;
	padding:24px 10px;
	font-size:90%;
	box-shadow: 0px 0px 5px #777;
}

.card.card-secondary p.highlight{
	background:var(--color-secondary);
}

.card.card-tertiary p.highlight{
	background:var(--color-tertiary);
}

.card img{
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	aspect-ratio: 3 / 2;
	height:auto;
	width:100%;
	object-fit:cover;
}

.item h2{
	font-size:var(--size-step-2);
}

.item i{
	font-size:var(--size-step-4);
	color:var(--color-primary);
	margin-bottom:2rem;
}

.pullout{
	padding:4rem 0;
}

.pullout .restrict{
	max-width:1440px;
	display:grid;
	grid-template-columns: 400px 100px auto;
	grid-template-rows: auto auto auto;
}

.pullout img{
	grid-column: 2 / 4;
	grid-row: 1 / 4;
	background:var(--color-primary);
	width:100%;
	height:80vh;
	object-fit:cover;
	border-radius: 5px;
	box-shadow: 0px 0px 5px #333;
}

.pullout .flow{
	grid-column: 1 / 3;
	grid-row: 2;
	padding:1rem;
}

.pullout.right .restrict{
	grid-template-columns: auto 100px 300px;
}

.pullout.right{
	background:var(--color-primary)
}

.pullout.right img{
	grid-column: 1 / 3;
	grid-row: 1 / 4;
}

.pullout.right .flow{
	grid-column: 2 / 4;
	grid-row: 2;
}

.pullout.secondary{
	background:var(--color-secondary);
}

@media screen and (max-width:680px){
	.pullout .restrict{
		display:block;
	}
	.pullout img{
		aspect-ratio: 3 / 2;
		width:100%;
		height:auto;
	}
}

.features{
	text-align: center;
}

.features h2{
	max-width: 100%;
}

.features ul{
	padding:0;
	display:flex;
	margin:2rem 0;
}

.features ul li{
	display:inline-block;
	text-align: center;
	border-right:1px solid #ccc;
	padding:1rem 1rem;
	flex: 1 1 0px;
	font-size:80%;
}

.features ul li:last-child{
	border-right:none;
}

.features ul li i{
	font-size:var(--size-step-2);
	color:var(--color-mid-green);
}

.secondary .features ul li i{
	color:var(--color-secondary);
}

.tertiary .features ul li i{
	color:var(--color-tertiary);
}

@media screen and (max-width:1180px){
	.features ul{
		display:grid;
		grid-template-columns: repeat(3, 1fr);
	}
	.features ul li{
		padding:2rem 0;
	}
	.features ul li:nth-child(3){
		border-right:none;
	}
	.features ul li:nth-child(1),
	.features ul li:nth-child(2),
	.features ul li:nth-child(3){
		border-bottom:1px solid #ccc;
	}
}

@media screen and (max-width:580px){
	.features ul{
		display:grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.features ul li{
		padding:2rem 0;
	}
	.features ul li:nth-child(2),
	.features ul li:nth-child(4){
		border-right:none;
	}
	.features ul li:nth-child(3){
		border-right:1px solid #ccc;
	}
	.features ul li:nth-child(1),
	.features ul li:nth-child(2),
	.features ul li:nth-child(4){
		border-bottom:1px solid #ccc;
	}
}

.instagram{
	padding:4rem 20px;
}

.instagram .restrict{
	display:grid;
	grid-template-columns: repeat(6, 1fr);
	grid-column-gap: 2rem;
	grid-row-gap: 2rem;
	max-width:100%;
	padding:20px;
}

.instagram .restrict.video-gallery{
	display:block;
	text-align: center;
}

.instagram .restrict.video-gallery img{
	text-align: center;
	display:inline-block;
	margin:2rem;
	max-width:calc(16.666% - 1rem);
}

.instagram img{
	aspect-ratio: 1;
	object-fit:cover;
	width:100%;
	height:auto;
	background:var(--color-secondary);
	border-radius: 5px;
	transition: all 0.3s ease;
	box-shadow: 0px 0px 3px #ccc;
}

.instagram img:hover{
	box-shadow: 0px 0px 10px #ccc;
	cursor: pointer;
	transform: scale(1.1);
}

.instagram .button{
	max-width: auto;
	display:inline-block;
	max-width:180px;
	margin:0 auto 2rem;
}

.instagram .button i{
	color:#fff;
}

.luxury .instagram img{
	box-shadow: 0px 0px 3px #000;
}

.luxury .instagram img:hover{
	box-shadow: 0px 0px 10px #000;
}

@media screen and (max-width:680px){
	.instagram .restrict{
		grid-template-columns: repeat(3, 1fr);
	}
	.instagram .restrict.video-gallery img{
		max-width:calc(33.333% - 1rem);
	}
}

@media screen and (max-width:480px){
	.instagram .restrict{
		grid-template-columns: repeat(2, 1fr);
	}
	.instagram .restrict.video-gallery img{
		max-width:calc(50% - 1rem);
	}
}

.review{
	background:#f1f2f2;
	padding:1rem;
}

.review i{
	color:gold;
	margin-bottom:1rem;
}

.review blockquote{
	font-size:80%;
	display:block;
}

.review cite{
	display:block;
	text-transform: uppercase;
	font-size:70%;
}

/* BUTTONS */
button,
a.button,
input[type=submit]{
	background-color: initial;
	background-image: linear-gradient(-180deg, #409662, #246c41);
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.1) 0 2px 4px;
	color: #FFFFFF;
	cursor: pointer;
	display: inline-block;
	height: 44px;
	line-height: 44px;
	text-decoration: none;
	outline: 0;
	overflow: hidden;
	padding: 0 20px;
	pointer-events: auto;
	position: relative;
	text-align: center;
	touch-action: manipulation;
	user-select: none;
	-webkit-user-select: none;
	-webkit-appearance: none;
	vertical-align: top;
	white-space: nowrap;
	width: 100%;
	z-index: 9;
	border: 0;
	min-width:90px;
	font-family: "Josefin Sans", sans-serif;
	font-size:var(--size-step-0);
}

button:hover,
a.button:hover,
input[type=submit]:hover{
	
}

button.gallery{
	background:transparent;
	border:2px solid var(--color-primary);
	color:var(--color-primary);
	max-width:140px;
}

.luxury button.gallery{
	color:#fff;
	border:2px solid var(--color-secondary);
}

.luxury button.gallery i{
	color:#fff;
}

button.f-button{
	background: transparent !important;
}

.btn-primary{
	color:#fff;
}

.btn-primary:hover {
  background: #246c41;
}

.button.btn-secondary{
	background-image: linear-gradient(-180deg, #A39B4C, #999148);
}

.button.btn-secondary:hover{
	background: #999148;
}

.button.btn-tertiary{
	background-image: linear-gradient(-180deg, #03A1BA, #078ea2);
}

.button.btn-tertiary:hover{
	background: #078ea2;
}

.button.btn-luxury{
	background-image: linear-gradient(-180deg, #A39B4C, #999148);
}

.button.btn-luxury:hover{
	background: #078ea2;
}

.button.btn-innactive,.button:disabled{
	background-image: linear-gradient(-180deg, #CCC, #777);
}

.button.btn-innactive:hover{
	background-image: linear-gradient(-180deg, #409662, #246c41);
}

.primary .signup{
	background:var(--color-darker-green);
}

.secondary .signup{
	background:var(--color-secondary-darker);
}

.tertiary .signup{
	background:var(--color-tertiary-darker);
}

.button.simple{
	background:transparent;
	color:var(--color-primary);
	border:none;
}

.button.simple:hover{
	color:var(--color-darkest-green);
	border:none;
}

.secondary .button,
.secondary input[type=submit],
.secondary button,
.luxury .button,
.luxury input[type=submit],
.luxury button{
	background-image: linear-gradient(-180deg, #A39B4C, #999148);
}

.tertiary .button,
.tertiary input[type=submit],
.tertiary button{
	background-image: linear-gradient(-180deg, #03A1BA, #078ea2);
}

.signup h2,
.signup h3,
.signup p,
.signup label{
	color:#fff;
	font-family:'Josefin Sans' !important;
}

.signup-form{
	display:grid;
	grid-template-columns: 60% 40%;
	max-width:480px;
	margin:2rem auto;
}

.signup-form label{
	font-size:80%;
	color:#ccc;
	grid-column: 1 / 3;
	text-align: left;
}

.signup-form input[type=email],
input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=date],
select{
	padding:0.8rem;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
	text-align: left;
	font-family: "Josefin Sans", sans-serif;
	font-size:var(--size-step-0);
	border:none;
	background:#f1f2f2;
	width:100%;
}

form div{
	margin-bottom:2rem;
}

.signup form div{
	margin-bottom:0px;
}

.signup-form input[type=submit]{
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
}

.signup .restrict{
	padding:0 2rem;
}

.signup .text{
	display:grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 1rem;
	text-align: left;
}

label{
	font-weight: 700;
	display:block;
	text-align: left;
}

fieldset legend{
	display:none;
}

form.account{
	padding:1rem;
	border-radius: 4px;
	background:#fff;
}

@media screen and (max-width:680px){
	.signup .text{
		grid-template-columns: 1fr;
		grid-row-gap:2rem;
	}
}

.signup .sib-form-block{
	padding:0;
}

.signup input[type=text]{
	border-radius: 5px;
}

.signup button{
	float:left;
	margin-top:1rem;
}

.fullwidth{
	position: relative;
}

.fullwidth img{
	width:100%;
	height:100%;
	object-fit:cover;
	position: absolute;
	top:0px;
	left:0px;
	z-index: 0;
}

.fullwidth .restrict{
	max-width:1280px;
}

.fullwidth .text{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 2rem;
	position: relative;
	z-index:200;
}

.fullwidth .text h2,
.fullwidth .text p{
	color:#fff;
	text-shadow: 0px 0px 2px #000;
}

@media screen and (max-width:1024px){
	.fullwidth .text{
		grid-template-columns: 1fr;
		grid-row-gap: 1rem;
	}
}

.faq .restrict{
	max-width:1280px;
}

.faq .text{
	display:grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 2rem;
	grid-row-gap:1rem;
}

.faq .text h2{
	grid-column: 1 / 3;
}

.faq .text .answer{
	display:none;
}

.faq .text .answer.open{
	display:block;
}

.faq .text .answer.open p{
	font-size:var(--size-step-0);
	padding:1rem;
	border:1px solid var(--color-primary);
	border-top:none;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	margin-top:-1rem;
	padding-top:2.5rem;
}

.faq h3{
	background:var(--color-primary);
	border:1px solid var(--color-primary);
	font-size:var(--size-step-1);
	padding:1rem;
	border-radius: 5px;
}

.faq h3:hover{
	background:#fff;
	color:var(--color-primary);
	cursor: pointer;
}

@media screen and (max-width:580px){
	.faq .text{
		display:block;
	}
	.faq h2{
		margin-bottom:2rem;
	}
	.faq .text > div{
		margin-bottom:1rem;
	}
}

.primary .faq h3{
	color:#fff;
}

.primary .faq h3:hover{
	color:var(--color-primary);
	border:1px solid var(--color-primary);
}

.luxury .faq h3{
	background:var(--color-secondary);
	border:1px solid var(--color-secondary);
}

.luxury .faq h3:hover{
	background:#fff;
	color:var(--color-secondary);
}

.luxury .faq .text .answer.open p{
	border:1px solid var(--color-secondary);
	border-top:none;
}

/** HIGHLIGHT **/
.highlight{
	background:var(--color-darkest-green);
	padding:4rem 0;
}

.secondary .highlight{
	background:var(--color-secondary-darker);
}

.tertiary .highlight{
	background:var(--color-tertiary-darker);
}

.highlight .restrict{
	display:grid;
	grid-template-columns: 4fr 2fr 2fr 2fr;
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 4rem;
}

.highlight h2,
.highlight p{
	color:#fff;
}

.highlight .text{
	grid-row: 1 / 3;
}

.highlight .flow{
	position: sticky;
	top:20px;
}

.highlight img{
	height:auto;
	grid-row:1 / 3;
	grid-column: 2 / 4;
	box-shadow: 0px 0px 3px #333;
	aspect-ratio:1;
	width:100%;
	height:auto;
	object-fit:cover;
	object-position: center right;
	border-radius: 4px;
}

.highlight img:last-child{
	grid-row:2;
	margin-top:0px;
	grid-column: 3 / 5;
	aspect-ratio: 3 / 2;
}

@media screen and (max-width:980px){
	.highlight .restrict{
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-rows: auto auto;
	}
	.highlight .text{
		grid-row:1;
		grid-column: 1 / 4;
		padding:4rem 0;
	}
	.highlight img{
		grid-row:2;
		grid-column: 1 / 3;
	}
	.highlight img:last-child{
		grid-row:2;
		grid-column: 2 / 4;
		margin-top:100px;
	}
}

/** MAGAZINE **/
.magazine{
	background:var(--color-green);
	padding:4rem 0;
}

.magazine .restrict{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: repeat(2, auto);
	grid-column-gap: 2rem;
	grid-row-gap: 2rem;
}

.magazine .text{
	grid-column: 1;
	grid-row: 1 / 3;
}

.magazine .flow{
	position: sticky;
	top:20px;
}

.magazine img{
	width:100%;
	height:100%;
	position: relative;
	border-radius: 4px;
	object-fit:cover;
}

.magazine img{
	grid-column: 2 / 4;
	grid-row: 1;
	box-shadow: 0px 0px 3px #333;
}

.magazine img:nth-child(2){
	grid-column: 2;
	grid-row: 2;
}

.magazine img:nth-child(3){
	grid-column: 3;
	grid-row: 2;
}

@media screen and (max-width:680px){
	.magazine .restrict{
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto 1fr 1fr;
	}
	.magazine .text{
		grid-column: 1 / 3;
		grid-row: 1;
		position: relative;
	}
	.magazine img{
		grid-column: 1 / 3;
		grid-row: 2;
	}
	.magazine img:nth-child(2){
		grid-column: 1;
		grid-row: 3;
	}
	.magazine img:nth-child(3){
		grid-column: 2;
		grid-row: 3;
	}
}

/** LUXURY **/

.luxury{
	background:#183022;
}

.luxury .textarea{
	background: var(--color-darker-green);
	border-bottom: none;
}

.luxury .hero.internal{
	border-bottom:10px solid var(--color-secondary);
}

.luxury .signup{
	background:var(--color-darkest-green);
}

.luxury h2,
.luxury .textarea h3,
.luxury .textarea p,
.luxury .textarea ul,
.luxury .textarea i{
	color:#fff;
}

.luxury .textarea ul{
	list-style:none;
	padding-left:0;
}

.luxury .textarea ul li:before{
	content: '✓';
}

.luxury .instagram,
.luxury footer{
	border-top:1px solid var(--color-secondary);
}

.luxury .card{
	background:var(--color-darker-green);
	border-color: var(--color-darkest-green);
	box-shadow:0px 0px 3px #000;
}

.luxury .textarea i{
	color:var(--color-secondary);
}

.luxury .card h2,
.luxury .card p{
	color:#fff;
}

.luxury .features h2,
.luxury .features ul li,
.luxury .highlight h2,
.luxury .highlight p,
.luxury .magazine h2,
.luxury .magazine p,
.luxury .reviews h2,
.luxury .reviews .card quote{
	color:#fff;
}

.luxury .textarea p:first-child{
	font-size:var(--size-step-2);
	border-bottom:1px solid var(--color-secondary-darker);
	padding-bottom:2rem;
	margin-bottom:2rem;
}

/** BLOG **/

article{
	margin:4rem auto;
	padding:0 1rem;
}

article time{
	font-style: italic;
	color:#777;
	text-align: right;
	border-bottom:1px solid #eee;
	width:100%;
	display:block;
}

/** SIB FORM **/
#sib-container{
	background:transparent;
	padding:0;
}

footer input[type=text]{
	width:100%;
	border-radius: 5px;
	margin-bottom:1rem;
	text-align: center;
}

.sib-form-block__button{
	width:auto;
	margin:0 auto;
	display:block;
}

.entry__error{
	padding:5px;
	text-transform: uppercase;
}

footer label{
	font-size:0.8rem;
	color:#fff;
}

.paging{
	grid-column: 1 / 4;
}

/* LOGOS */
.logos ul{
	margin:0;
	padding:0;
	list-style: none;
}

.logos ul li{
	display:inline-block;
	margin:0 1rem;
	width:110px;
	height:auto;
	aspect-ratio: 1;
}

.logos ul li img{
	width:auto;
	height:100%;
}

@media screen and (max-width:580px){
	.logos ul li{
		width:80px;	
	}
}

@media screen and (max-width:480px){
	.logos ul li{
		width:60px;	
		margin:0 0.5rem;
	}
}

/* INTEREST */
.interest{
	position: fixed;
	top:0px;
	left:0px;
	width:100%;
	height:100vh;
	backdrop-filter: blur(10px);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index:1000000;
}

.interest > div{
	background:var(--color-primary);
	border-radius: 3px;
	box-shadow: 0px 0px 6px #333;
	max-width:480px;
	width:90%;
	position: relative;
}

.interest > div > img{
	width:100%;
	height:180px;
	object-fit:cover;
	border-top-right-radius: 3px;
	border-top-left-radius: 3px;
}

.interest .sib-form-container{
	width:100%;
	position: relative;
	padding:1rem;
}

.interest .sib-form-block{
	padding:0;
	margin-top:1rem;
}

.interest p,
.interest label{
	color:#fff;
}

.interest label{
	font-size:80%;
}

.interest input{
	border-radius: 5px;
	width:100%;
}

.interest button{
	position: relative;
	margin:0;
}

.interest i{
	position: absolute;
	top:-1rem;
	right:-1rem;
	height:2rem;
	width:2rem;
	border-radius: 50%;
	line-height:2rem;
	text-align: center;
	background:#fff;
	color:var(--color-primary);
}

.interest.hide{
	display:none;
}

/* VIDEO */
.luxury .textarea.video{
	border-top:none;
	padding-top:none;
}

video{
	width:100%;
	height:auto;
	aspect-ratio: 16 / 9;
}

video iframe{
	width:100%;
}

.textarea.video .restrict{
	padding:0;
}

/* ELFSIGHT */
.elfsight-app-608dca14-7e12-4d8c-a5fd-067f71905e36{
	text-align: left;
	padding:20px;
}

/* BOOKINg WIDGET */
footer button.fixed{
	position: fixed;
	width:auto;
	text-align: center;
	bottom:2rem;
	right:2rem;
}

footer button.fixed i{
	margin-right:0;
	margin-left:0.5rem;
}

.booking-widget{
	position: fixed;
	bottom:6rem;
	right:2rem;
	padding:1rem;
	background:#eee;
	border-radius: 4px;
	border:1px solid #ccc;
	z-index:10000;
	max-width:340px;
	width:80%;
	font-size:80%;
	box-shadow: 0px 0px 6px #777;
	display:none;
}

.booking-widget.show{
	display:block;
}

.booking-widget p{
	color:var(--color-dark);
}

.booking-widget div i{
	width:1rem;
	color:var(--color-primary);
}

.booking-widget i.fa-close{
	position: absolute;
	top:-1rem;
	right:-2rem;
	height:2rem;
	width:2rem;
	border-radius: 50%;
	line-height:2rem;
	text-align: center;
	background:#fff;
	color:var(--color-primary);
	border:1px solid #ccc;
	cursor: pointer;
}

.booking-widget strong{
	text-transform: uppercase;
}

.booking-widget .button.btn-primary{
	background-image: linear-gradient(-180deg, #409662, #246c41);
}

.booking-widget .button.btn-luxury{
	background-image: linear-gradient(-180deg, #A39B4C, #999148);
}

.booking-widget .button.btn-primary:hover {
  background: #246c41;
}

.booking-widget .button.btn-luxury:hover{
	background: #999148;
}

/* MAP */
.map .restrict{
	width:100%;
	max-width:100%;
	padding:0;
	margin:0;
}
.map{
	padding:0;
	margin:0;
}
iframe{
	width:100%;
	display:block;
}

/* FORM */
.row.form .restrict{
	padding:0 2rem;
	
}

form#form1_form-contact,
form#form1_form-callback{
	border:1px solid #eee;
	border-radius: 4px;
	padding:1rem;
	text-align: left;
	float:left;
	margin-top:2rem;
}

form#form1_form-contact div,
form#form1_form-callback div{
	width:100%;
	float:left;
}

form#form1_form-contact label,
form#form1_form-callback label{
	display:block;
}

form#form1_form-contact label small,
form#form1_form-callback label small{
	color:#880000;
	font-size:80%;
	float:right;
}

form#form1_form-contact input[type=text],
form#form1_form-contact textarea,
form#form1_form-callback input[type=text],
form#form1_form-callback textarea{
	width:100%;
	font-family:'Josefin Sans', sans-serif;
	margin-bottom:2rem;
	background:#fff;
	font-size:var(--size-step-0);
	border:1px solid #f1f2f2;
	padding:0.5rem;
}

form .g-recaptcha{
	padding-bottom:2rem;
}

p.success{
	background:var(--color-primary);
	color:#fff;
	font-size:var(--size-step-1);
	text-align: center;
	padding:1rem;
}

/* PROFILES */

ul.profiles{
	margin:0;
	padding:0;
	list-style:none;
}
ul.profiles li{
	margin-bottom:2rem;
	display:grid;
	grid-template-columns: 2fr 3fr;
	background:#eee;
}
ul.profiles li .flow{
	padding:1rem;
}
ul.profiles li .flow p.highlights{
	color:#777;
	border-top:1px solid #ccc;
	padding-top:0.5rem;
}
ul.profiles li .flow p.highlights span{
	margin-right:2rem;
}
ul.profiles li img{
	width:100%;
	height:100%;
	object-fit:cover;
}

@media screen and (max-width:680px){
	ul.profiles li{
		grid-template-columns: 1fr;
	}
}

/* REVIEWS */
.reviews{
	overflow: hidden;
}

/* GALLERY */
.fancybox__container{
	z-index:100000000 !important;
}

/* ACCOUNT STUFF */
.tabs{
	background:var(--color-darker-green);
	padding:1rem;	
	border-radius: 4px;
}

.tabs ul.headings{
	list-style: none;
	margin:0;
	padding:0;
	display:flex;
	justify-content: flex-start;
	align-items: center;
	background:var(--color-light);
	padding:1rem;
	border-bottom:1px solid #ccc;
}

.tabs ul.headings li{
	margin-right:1rem;
	margin-bottom:0;
}

.tabs .tab{
	background:var(--color-light);
	display:none;
	padding:1rem;
	text-align: left;
}

.tabs .tab.active{
	display:block;
}

form div p{
	margin-top:1rem;
}

.alert{
	display:block;
	padding:4px 10px;
	border-radius: 4px;
	margin-bottom:1rem;
}

.alert.error{
	background:#880000;
	color:#fff;
}

.alert.success{
	background:var(--color-darker-green);
	color:#fff;
}

.textarea form input{
	border-radius: 4px;
}

/** BOOK ONLINE STUFF **/
.panel{
	background:#fff;
	padding:2rem;
}

.panel.hide{
	display:none;
}

.panel .button.proceed{
	margin-top:2rem;
}

.panel input{
	width:100%;
	text-align: left;
	border-radius: 4px;
}

.panel input[type=submit]{
	text-align: center;
}

.panel .options{
	display:grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 2rem;
	text-align: center;
	margin-bottom:2rem;
	padding:1rem;
}

.panel .options label{
	text-align: center;
	cursor: pointer;
}

.panel .options input{
	margin-bottom: 0;
}

.panel .options span{
	color:var(--color-primary);
	font-size:80%;
}

.panel .options label:hover i{
	color:var(--color-darker-green);
}

.panel .options i{
	font-size:4rem;
	color:var(--color-primary);
	display:block;
	margin-bottom:0.5rem;
}

.panel input,
.panel select{
}

form label span{
	color:#880000;
	float:right;
	text-transform: uppercase;
	font-size:80%;
	font-weight: 400;
}

.panel div{
	margin-bottom:1rem;
}

ul.progress{
	list-style: none;
	margin:0;
	padding:0;
	display:flex;
	align-items: center;
	justify-content: center;
}

ul.progress li{
	margin:0 1rem;
	box-sizing: border-box;
	border-bottom:2px solid var(--color-light);
}

ul.progress li.active{
	border-bottom:2px solid var(--color-primary);
}

#nodates{
	display:none;
}

#priceValue{
	font-size:var(--size-step-3);
	text-align: left;
	color:var(--color-primary);
}

#price p{
	text-align: center;
}

.buttons{
	display:grid;
	grid-template-columns: 1fr 2fr;
	grid-column-gap: 2rem;
}

#terms{
	display:block;
	text-align: center;
	background:var(--color-primary);
	color:#fff;
	padding:1rem;
	border-radius: 4px;
	margin:0 auto;
	margin-top:1rem;
}

#terms input{
	display:inline-block;
	width:auto;
	margin:0 1rem 0;
}

#terms a:hover{
	color:var(--color-darkest-green);
}

#price .button.primary{

}

#price .button.primary.hide{
	display:none;
}

form#pay{
	display:none;
}

@media screen and (max-width:580px){
	ul.progress li{
		text-indent:-100000px;
		display:block;
		background:var(--color-primary);
		width:1rem;
		height:1rem;
		border-radius: 50%;
		border:none;
	}
	ul.progress li.active{
		background:var(--color-darkest-green);
	}
	.panel{
		padding:1rem;
	}
}

#movie{
	width:100%;
	height:auto;
	aspect-ratio: 16 / 9;
}

.bg-dark{
	background:var(--color-darker-green);
}

.bg-darkest{
	background:var(--color-darkest-green);
}

.bg-dark p,
.bg-dark h2,
.bg-dark h3,
.bg-darkest p,
.bg-darkest h2,
.bg-darkest h3{
	color:#fff;
	
}

.callback div{
	margin-bottom:0;
}

.callback{
	padding-bottom:2rem;
}

form#form1_form-callback input[type="text"],
form#form1_form-callback input[type="email"]{
	border:2px solid var(--color-secondary);
}

.textarea.video .restrict.wide{
	max-width:1280px;
	padding:2rem;
}