/* ====================================================================
Reset - normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
=======================================================================*/

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
}
main {
	display: block;
}
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}
a {
	background-color: transparent;
}
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}
b,
strong {
	font-weight: bolder;
}
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}
small {
	font-size: 80%;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
img {
	border-style: none;
}
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button,
input {
	overflow: visible;
}
button,
select {
	text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}
fieldset {
	padding: 0.35em 0.75em 0.625em;
}
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
details {
	display: block;
}
summary {
	display: list-item;
}
template {
	display: none;
}
[hidden] {
	display: none;
}


/* ====================================================================
Typography
=======================================================================*/

html {
	font-size: 16px;
}
body,button,input,select,textarea {
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 400;
	font-style: normal;
	color:#404040;
	font-size: 1rem;
	line-height: 1.5;
}
h1,h2,h3,h4,h5,h6 {
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 400;
	font-style: normal;
	clear: both;
	color: #333;
	margin: 0;
}
h1 {
	font-size: 2.986rem;
	line-height: 1.2;
	font-weight: 600;
}
h2 {
	font-size: 2.074rem;
	line-height: 1.3;
	text-align: center;
	font-weight: 600;
}
h2.large {
	font-size: 3.583rem;
	color: #41b6e6;
}
h3 {
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.2;
	color: #333;
}
h3.large {
	font-size: 2.074rem;
	text-align: center;
	line-height: 1.2;
}
p {
	margin-bottom: 1em;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
li > ul,li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
.intro {
	font-size: 1.2rem;
	margin: 2em 0;
}
.smallprint,
.smallprint a {
	font-size: 10px;
	text-align: left;
	color: #fff;
	margin-top: 20px;
}
.smallprint a:hover {
	color: rgba(255,255,255,0.5);
}

/* Ordered list alignments
------------------------------------------------------- */
ol {
  counter-reset: item;
  padding-bottom: 2em;
  padding-left: 1em;
  margin-bottom: 0;
}
ol li {
  display: block;
  padding-left: 1.75em;
}
ol li:before {
  content: counters(item, ".") ". ";
  counter-increment: item;
  display:inline-block;
  width: 1.75em;
  margin-left: -1.75em;
}

@media screen and (min-width: 1024px) {
	h1 {
		font-size: 4.3rem;
	}
}
@media screen and (max-width: 480px) {
	h1 {
		font-size: 2.074rem;
	}
	h2 {
		font-size: 1.728rem;
		line-height: 1.1;
	}
	h3 {
		font-size: 1.44rem;
	}
	h4 {
		font-size: 1.2rem;
	}
}


/* ====================================================================
Elements
=======================================================================*/

html {
	box-sizing: border-box;
}
*,:before,:after {
	box-sizing: inherit;
}
body {
	background: #fff;
}
img {
	height: auto;
	max-width: 100%;
}
embed,iframe,object {
	max-width: 100%;
}
.clearfix {
	display: flow-root;
}


/* ====================================================================
Nav Links
=======================================================================*/

a {
	color: #333333;
	text-decoration: none;
}
a:visited {
}
a:focus {
	outline: 3px dashed red;
}
a:hover,a:active {
	outline: 0;
}
.more-info {
	text-align: center !important;
	display: block;
	margin-top: 60px;
}


/* ====================================================================
Forms
=======================================================================*/

.link-button,
input.submit,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border-radius: 10px;
	background: #333;
	color: #e6e6e6;
	font-size: 1.2rem;
	line-height: 1;
	padding: .6em 1em .4em;
	text-align: center;
	font-weight: 700;
	font-style: normal;
	cursor: pointer;
	-webkit-appearance: none;
	border: none;
}
.link-button:hover,
.link-button.light:hover,
input.submit:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	/* background: #41b6e6 !important; */
	background: #999 !important;
	color: #fff !important;
	-webkit-transition: all .25s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-o-transition: all .25s ease-in-out;
	transition: all .25s ease-in-out;
}
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	border-color: #aaa #bbb #bbb;
	box-shadow: inset 0 -1px 0 rgba(255,255,255,0.5), inset 0 2px 5px rgba(0,0,0,0.15);
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 6px;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
	color: #111;
}
.link-button,
input.submit,
button.submit {
	padding: 10px 20px;
	font-size: 1.2rem;
	font-weight: 400;
	margin-top: 10px;
	background: #F1BE48;
	color: #333;
}
.link-button.light {
	background: rgba(65, 182, 230, 0.5);
}
#bookingForm input[type="text"],
#bookingForm input[type="tel"],
#bookingForm input[type="email"] {
	width: 100%;
	margin-bottom: 15px;
}
#bookingForm h2 {
	color: #41b6e6;
	text-align: left;
	margin-bottom: 20px;
}
#bookingForm p,
#bookingForm label {
	color: #fff;
}
.fullwidth-form {
	background: #333;
	max-width: 100%;
}
.checkbox-indent {
	display: grid;
	grid-template-columns: max-content 1fr;
	grid-column-gap: 1em;
	align-items: baseline;
	padding-top: 8px;
	padding-bottom: 8px;
 }
 .checkbox-indent input {
	  grid-column-start: 1;
 }
 .checkbox-indent label {
	  grid-column-start: 2;
	  color: #fff;
 }
.grecaptcha-badge { visibility: hidden !important; }


/* ====================================================================
Layout
=======================================================================*/

/* Sections
---------------------------------------------------- */
section {
	max-width: 960px;
	margin: 0 auto;
	padding: 80px 40px;
}
.panel {
	width: 100%;
}

/* Headers
---------------------------------------------------- */
.panel.header {
	width: 100%;
	background: #fff;
	padding: 20px 40px;
	text-align: center;
}
.panel.header .wrapper {
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}
.panel.header img {
	height: 54px;
	width: 257px;
}
.panel.header .phone:hover {
	background: #aaa;
}
.panel.header .phone a {
	font-size: 1.44rem;
}
.panel.header .phone a:hover {
	color: #1c5993;
}


/* Panels
---------------------------------------------------- */
.panel.brand {
	background-color: #41b6e6;
	max-width: 100%;
	padding: 0;
}
.panel.brand .wrapper {
	display: flex;
	flex-direction: row;
	background: #333;
}
.panel.brand .wrapper .container {
	position: relative;
	width: 60%;
}
.panel.brand #hero-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.panel.brand #quote {
	width: 40%;
	float: left;
	padding: 55px;
}
.panel.brand #title {
	text-align: center;
	max-width: 650px;
	padding: 40px;
	margin: 0 auto;
}
.panel.brand #title h1 {
	color: #000;
	font-weight: 700;
	max-width: 768px;
	font-size: 6vw;
	letter-spacing: -0.03em;
}
.panel.brand #title h2 {
	color: #fff;
	text-shadow: 1px 1px 2px #333;
	margin-bottom: 0.5em;
}
.features {
	/* border-top: 1px solid #555E58;
	border-bottom: 1px solid #555E58; */
	padding-top: 2em;
	/* padding-bottom: 1em; */
}
.features img {
	height: 80px;
	margin-bottom: 1em;
}

.panel.enjoy header h2 {
	color: #41b6e6;
	font-weight: 600;
}
.panel.enjoy header h3 {
	color: #333;
}
.panel.enjoy .features h3 {
	color: #41b6e6;
	font-size: 1.5rem;
}
.panel.enjoy .features .col1 p,
.panel.enjoy .features .col2 p,
.panel.enjoy .features .col3 p,
.panel.enjoy .features .col1,
.panel.enjoy .features .col2,
.panel.enjoy .features .col3 {
	text-align: center !important;
}

.panel.reviews {
	background: #E3E3E3;
	margin: 0;
	max-width: 100%;
}
.testimonial-rotator {
  display: grid;
  max-width: 700px;
  margin: auto;
}
.testimonial {
	grid-area: 1 / 1;
	opacity: 0;
	transition: opacity 0.8s ease-in-out;
	font-size: 1.3em;
	line-height: 1.5;
	text-align: center;
}
.testimonial.is-active {
  opacity: 1;
}
.testimonial cite {
	font-size: 14px;
}
.testimonial cite span {
	color: #41b6e6;
}
.testimonial footer {
	margin-top: 20px;
	line-height: 1;
}
.testimonial-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 1rem;
}
.testimonial-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ccc;
  border: none;
  cursor: pointer;
  padding: 0;
}
.testimonial-dot.is-active {
  background: #000;
}
@media (prefers-reduced-motion: reduce) {
  .testimonial {
	 transition: none;
  }
}

.panel.services {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	background: #41b6e6;
	width: 100%;
	max-width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
.panel.services .column {
	float: none;
	margin: 0;
	overflow: hidden;
	height: 100%;
}
.panel.services .text-column {
	padding: 30px;
	box-sizing: border-box;
	max-width: 500px;
	margin: 0 auto;
	color: #000000;
}
.panel.services .text-column h2 {
	color: #fff;
	text-shadow: 1px 1px 2px #333;
}
.panel.services .intro {
	font-size: 1.5rem;
}
.panel.services .intro span {
	font-style: italic;
	text-decoration: underline;
}
.panel.services .column img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.panel.video  blockquote {
	margin: 0;
}
.panel.video .pull-quote {
	font-size: 1.5rem;
	font-style: italic;
	text-align: center;
}
.video-container {
  display: flex;
  justify-content: center;
  max-width: 100%;
  margin-top: 40px;
}
.video-container video {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
}

.panel.cta {
	background-image: url("images/banner_meeting-2500.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	max-width: 100%;
	margin: 0;
}
.panel.cta .features {
	max-width: 200px;
	padding-top: 0;
}
.panel.cta .features h2 {
	text-align: left;
	line-height: 1;
	font-size: 42px;
	font-weight: 600;
	color: #fff;
}
.panel.cta .features p {
	margin-bottom: 2em;
	font-weight: 600;
}

/* Columns
---------------------------------------------------- */
.col1, .col2, .col3 {
	width: 29%;
	float: left;
}
.col2 {
	margin: 0 6.5%;
}
.col1 p, .col2 p, .col3 p {
	font-size: 1rem;
	text-align: left;
}
.half-col {
	width: 45%;
}
.footer-columns {
	display: flex;
	flex-direction: row;
	row-gap: 10%;
}
.single-column {
	max-width: 500px;
	margin: 0 auto;
}

@media screen and (max-width: 980px) {
	.panel.brand .wrapper .container,
	.panel.brand #quote {
		width: 50%;
	}
	.panel.services,
	.panel.services .column {
		display: flex;
		flex-direction: column;
	}
	.panel.services picture {
		display: flex;
	}
	.panel.video h2.large {
		font-size: 2.583rem;
		line-height: 1;
		margin-bottom: 20px;
	}
	.panel.video h3.large {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 767px) {
	.panel.brand #title h1 {
		font-size: 46px;
		padding-bottom: 20px;
	}
	.panel.video .pull-quote {
		font-size: 1.2rem;
	}
	footer .footer-columns {
		flex-direction: column;
	}
	footer .col1,
	footer .col2,
	footer .col3 {
		width: 100%;
		margin: 40px 0;
	}
}
@media screen and (max-width: 670px) {
	.col1, .col2, .col3 {
		width: 100%;
		max-width: 420px;
	}
	.col2 {
		margin: 0;
	}
}
@media screen and (max-width: 600px) {
	.panel.header .wrapper {
		display: block;
	}
	.panel.header img {
		margin-bottom: 26px;
	}
	.panel.header .phone {
		margin-bottom: 15px;
	}
	.panel.brand .wrapper {
		flex-direction: column;
	}
	.panel.brand .wrapper .container,
	.panel.brand #quote {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	.panel.brand #title {
		padding: 25px;
	}
	.panel.header img {
		height: 40px;
		width: 240px;
	}
	h2 {
		margin-bottom: 0.5em;
	}
	h2.large {
		font-size: 2.986rem;
	}
	h3.large {
		font-size: 1.728rem;
	}
	.link-button,
	input.submit,
	button.submit {
		font-size: 1rem;
	}
}


/* ====================================================================
Footer
=======================================================================*/

.panel.dark {
	background: #333;
	padding: 40px;
	color: #fff;
}
footer h3 {
	margin-bottom: 40px;
	color: #41b6e6;
}
footer a {
	color: #41b6e6;
}
footer ul {
	padding-left: 15px;
}
footer img {
	width: 257px;
	height: 54px;
}
footer .copyright {
	text-align: center;
	margin-top: 60px;
}

@media screen and (max-width: 480px) {
	/* .panel.dark {
		margin-bottom: 76px;
	} */
	footer img {
		width: 190px;
		height: 40px;
	}
}

@media reader,speech,aural {
	 *:before,*:after {
		  display: none!important;
		  content: ""!important;
		  visibility: hidden
	 }
}
