:root {
	--body-color:#fefefe;
	--body-color-darker:#f2f2f2;
	--teal:#008080;
	--dark-grey:#181d1e;
	--font-color:#181d1e;
  
    --main-font: "Montserrat", sans-serif; 
	--title-font: "Marcellus", sans-serif; 
}

img.lazy{
	opacity:0;
	transition:all 2s;
}
img.lazy.in-viewport{
	opacity:1;
}

.lazy-content{
	opacity:1;
	transition:all 2s;
}

.lazy-content.outside-viewport{
	opacity:0;
}
.x2column.lazy-content .col.image{
	transform:translateX(0);
	transition:all 1s;

}
.x2column.lazy-content.outside-viewport .col.image{
	transform:translateX(-20%)!important;
}
.x2column.lazy-content.outside-viewport .reverse .col.image{
	transform:translateX(20%)!important;
}

*{
	margin:0;
	padding:0;
	box-sizing: border-box;
}

body{
	font-family: var(--main-font);
	background:var(--dark-body-color);
	-webkit-text-size-adjust: 100%;
	font-size:18px;
}

body.no-scroll{
	overflow:hidden;
}

a{
	text-decoration: none;
	color: var(--teal);
	font-weight:600;
}

a:hover {
	text-decoration: none;
	color: var(--font-color);
}
section.horizontal-rule{
	padding:0 5%;
}
hr{
	display: block;
	margin: 25px 0;
	height: 1px;
	background: #eee;
	width: 100%;
	border: none;
}

.container-fluid {
  max-width: calc(1440px + 8rem);
  padding: 0 4rem;
}

@media screen and (max-width: 960px) {
  .container-fluid {
	max-width: calc(1320px + 4rem);
	padding: 0 2rem;
  }
}

@media screen and (max-width: 540px) {
  .container-fluid {
	max-width: calc(1320px + 2rem);
	padding: 0 1rem;
  }
}

span.nowrap{
	white-space:nowrap;
}

h1{
	font-family: var(--title-font);
	font-weight: 600;
	font-style: normal;
	color:  var(--font-color);
	margin: 30px 0;
	font-size: 2.5em;
	letter-spacing: 0em;
	line-height: 1em;
	position: relative;
	text-transform: uppercase;
}

h2{
	font-family: var(--title-font);
	font-weight: 500;
	font-style: normal;
	color: var(--font-color);
	margin: 15px 0;
	font-size: 2em;
	letter-spacing: @letter-spacing-small;
	line-height:1em;
	text-transform:uppercase;
}

h3{	
	font-family: var(--title-font);
	font-weight: 500;
	font-style: normal;
	color: var(--font-color);
	margin: 15px 0;
	font-size: 1.375em;
	letter-spacing: @letter-spacing-small;
	line-height:1em;
}

h4{
	color: var(--font-color);
	font-size: 1.125em;
}

p{
	line-height: 1.75em;
	margin: 15px 0;
	color:  var(--font-color);
	font-size:1em;
}

ul li {
	color:  var(--font-color);
}

p.button{
	margin-top:30px;
}

p strong{
	font-weight:600;
}



blockquote{
	padding: 15px 5%;
	background: var(--teal);
	position: relative;
	margin: 30px 0;
	border-radius:12px;
}

blockquote:after, blockquote:before{
	content: '\f10e';
	font-family: 'Font Awesome 5 Pro';
	position: absolute;
	bottom: 0;
	right: 5%;
	font-weight: 700;
	font-size: 50px;
	transform: translate(0, 20%);
	color: #fefefe;
}
blockquote:before{
	color: var(--teal);
	transform: translate(5px, calc(20% + 2px));
}
blockquote p{
	font-weight: 500 !important;
	font-size: 1.25em !important;
	line-height: 1.3em !important;
	color: #fff;
	margin-right: 55px;
}
blockquote p:nth-of-type(2){
	font-size: 0.8125em !important;
	color: lighten(@second-color, 40%) !important;
}
blockquote p:nth-of-type(2):before{
	content:'\f178';
	font-family:'Font Awesome 5 Pro';
	margin-right:5px;
}

/* HEADER */

#header-spacer.opaque{
	height:120px;
	background:var(--dark-blue-color);
}

header#main-header.nav-up{
	transform:translateY(-100%);
}

header#main-header.nav-up nav#main-nav li li a, header#main-header.nav-up nav#main-nav li li{
	height:48px;
}

header#main-header.nav-up .bottom-header{
}

/* Top Header */



header#main-header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:800;
	transition:all 0.3s;
}

/* Bottom Header */

header#main-header .bottom-header{
	padding:0 5%;
	background:rgba(0, 128, 128, 0.80);
	position:relative;
	height:auto;
	transition:all 0.3s;
}
header#main-header.transparent-bg .bottom-header{
	background:transparent;
}

header#main-header .bottom-header .wrapper{
	display:flex;
	justify-content: space-between;
	margin: 0 auto;
	position:relative;
	height:120px;
	max-width:1440px;
}

header#main-header.nav-up div.logo a {
	padding: 7px 0 0;
}

header#main-header div.logo{
	width:150px;
	margin-right:20px;
	transition:all 0.3s;
	display: flex;
	align-items: center;
}

header#main-header div.logo .white path {
	fill:var(--body-color)!important;
}

header#main-header div.logo a{
	display:block;
	height:auto;
	width:100%;
	transition:all 0.3s;
}
header#main-header div.logo a svg, header#main-header div.logo a img{
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	transition:all 0.3s;
}

/* MOBILE VIEW */

@media screen and (max-width:1023px){
	header#main-header{
	}

	header#main-header div.logo a svg, header#main-header div.logo a img{
		height: auto;
		transition:all 0.3s;
	}
	header#main-header nav#main-nav li li a, header#main-header nav#main-nav li li{
		height:48px;
	}
	#mobile-burger{
		display:flex;
	}
	nav#main-nav{
		display:none;
	}
	nav#mobile-nav{
		display:block;
	}
}


/* 2 TEXT COLUMNS */
section.two-text-columns ..container-fluid{
	max-width:@max-width;
	margin:0 auto;
}

.title-wrapper{
	max-width:@max-width-blog;
	margin:0 auto;
	text-align:center;
}

.title-wrapper h2, .title-wrapper h1{
	margin-top:0;
}
.title-wrapper p{
	font-weight:500;
}

/* FOOTER */

footer#footer{
	padding:4rem 0 5rem 0;
	background: var(--dark-grey);
	color:var(--body-color);
}

footer#footer .container-fluid{
	max-width:1160px;
	margin:0 auto;
	text-align:center;
}

footer#footer .logo{
	width: 150px;
	margin: 0 auto 20px;
}

footer#footer .logo a{
	display:block;
}

footer#footer .logo a svg, footer#footer .logo a img{
	display:block;
	width:100%;
	height:auto;
}

footer#footer h4{
	margin-top:30px;
	font-size:1.375em;
	display: none;
}

footer#footer p.contact{
	font-size: 1em;
	color: darken(@font-color, 10%);
	font-weight:500;
}

footer#footer p.contact a{
	margin:0 10px;
	
}
footer#footer .address p{
	color: var(--body-color);
	margin:0;
	font-size: 0.875em;
}
footer#footer p.copyright, footer#footer p.terms{
	font-size: 0.875em;
	color: #949bb8;
}

footer#footer p.credit{
	font-size: 0.75em;
	color: #949bb8;
}
	
footer#footer a{
	transition:all 0.3s;
	color:#fff;
	font-weight:500;
}

footer#footer a:hover{
	color:var(--teal);
}

/* FOOTER NAV */

section.footer-nav{
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	height:70px;
	background:rgba(255,255,255,1);
	box-shadow:0 0 24px rgba(0,0,0,0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	transform:translateY(100%);
	transition:all 1s;
	z-index:500;
}
section.footer-nav.visible{
	transform:translateY(0);
}
nav.footer-nav ul{
	list-style:none;
	display:flex;
}
nav.footer-nav ul li{
	margin:0 10px;
}
nav.footer-nav ul li a{
	color:var(--body-color);
	font-weight:500;
	text-align:center;
	font-size:14px;
	display:block;
}
nav.footer-nav ul li a:hover{
	color:var(--teal);
}
nav.footer-nav ul li a i{
	display:block;
	font-size:18px;
}
section.footer-nav .ccm-block-social-links{
	font-size:2em;
}
section.footer-nav .ccm-block-social-links a{
	color:var(--teal);
}
/* YOUTUBE VIDEO */

section.single-video{
	margin:45px 0;
	padding:45px 5%;
	background-color: lighten(--body-color, 10%);
	background-image: @large-diagonals;
	image-rendering: -moz-crisp-edges;
	image-rendering: pixelated;
	border-top:1px solid lighten(--body-color, 20%);
	border-bottom:1px solid lighten(--body-color, 20%);
}

section.single-video .container-fluid{
	max-width:@max-width;
	margin:0 auto;
	filter: saturate(0.2);
}


/* LIST FILTER */

div.list-filter{
	margin-bottom:20px;
}

div.list-filter .inline-wrapper{
	display: flex;
	align-items: flex-end;
	justify-content:center;
}

.list-filter select{
	min-width:200px;
	
}

/* TESTIMONIALS */

section.testimonials{
	background:darken(@body-color, 5%);
}
section.testimonials .container-fluid{
	max-width:1150px;
}
/* SINGLE TESTIMONIAL */

section.single-testimonial{
	padding:0 5%;
	margin:75px 0;
}
section.single-testimonial .testimonial-wrapper{
	border-radius:12px;
	background: var(--purple-color);
	padding: 30px 5%;
	position:relative;
}
section.single-testimonial .testimonial-wrapper:before,
section.single-testimonial .testimonial-wrapper:after{
  content: '\f10e';
  font-family: 'Font Awesome 5 Pro';
  position: absolute;
  bottom: 0;
  right: 5%;
  font-weight: 700;
  font-size: 72px;
  transform: translate(0, 40%);
  color: #fefefe;
}
section.single-testimonial .testimonial-wrapper:before{
	color: var(--purple-color);
	transform: translate(5px, calc(40% + 5px));
}
section.single-testimonial .testimonial-paragraph p{
	font-weight:500;
	font-size:1.25em;
	color:#fff;
	max-width:800px;
}
section.single-testimonial p.author{
	color:#fff;
}


/* YOUTUBE VIDEO */

section.youtube-video{
	margin:75px 0;
	padding:0 5%;
}
section.youtube-video iframe{
	border:none;
}

