@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(/webfonts/montserrat-normal-500.woff2) format('woff2');
	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url(/webfonts/opensans-italic-400.woff2) format('woff2');
	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
body,
html {
    width: 100%;
	height: 100%;
}

body, p {
	color: #787976; 
	font: 400 1rem/1.5625rem "Open Sans", sans-serif;
}

.p-large {
	font: 400 1.125rem/1.625rem "Open Sans", sans-serif;
}

.p-small {
	font: 400 0.875rem/1.375rem "Open Sans", sans-serif;
}

.p-heading {
	margin-bottom: 3.5rem;
	text-align: center;
}

.li-space-lg li {
	margin-bottom: 0.375rem;
}

.indent {
	padding-left: 1.25rem;
}

h1 {
	color: #484a46;
	font: 700 2.5rem/3rem "Montserrat", sans-serif;
}

h2 {
	color: #484a46;
	font: 700 1.75rem/2.125rem "Montserrat", sans-serif;
}

h3 {
	color: #484a46;
	font: 700 1.375rem/1.75rem "Montserrat", sans-serif;
}

h4 {
	color: #484a46;
	font: 700 1.25rem/1.625rem "Montserrat", sans-serif;
}

h5 {
	color: #484a46;
	font: 700 1.125rem/1.5rem "Montserrat", sans-serif;
}

h6 {
	color: #484a46;
	font: 700 1rem/1.375rem "Montserrat", sans-serif;
}

a {
	color: #787976;
	text-decoration: underline;
}

a:hover {
	color: #787976;
	text-decoration: underline;
}

a.green {
	color: #14bf98;
}

a.white,
.white {
	color: #dfe5ec;
}

.testimonial-text {
	font-style: italic;
}

.testimonial-author {
	font: 700 1rem/1.375rem "Montserrat", sans-serif;
}

strong {
	color: #484a46;
}

.section-title {
	color: #14bf98;
	font: 500 0.8125rem/1.125rem "Montserrat", sans-serif;
}

.btn-solid-reg {
	display: inline-block;
	padding: 1.1875rem 1.875rem 1.1875rem 1.875rem;
	border: 0.125rem solid #14bf98;
	border-radius: 0.25rem;
	background-color: #14bf98;
	color: #fff;
	font: 700 0.75rem/0 "Montserrat", sans-serif;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-solid-reg:hover {
	background-color: transparent;
	color: #14bf98;
	text-decoration: none;
}

.btn-solid-lg {
	display: inline-block;
	padding: 1.375rem 2.125rem 1.375rem 2.125rem;
	border: 0.125rem solid #14bf98;
	border-radius: 0.25rem;
	background-color: #14bf98;
	color: #fff;
	font: 700 0.75rem/0 "Montserrat", sans-serif;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-solid-lg:hover {
	background-color: transparent;
	color: #14bf98;
	text-decoration: none;
}

.btn-outline-reg {
	display: inline-block;
	padding: 1.1875rem 1.875rem 1.1875rem 1.875rem;
	border: 0.125rem solid #787976;
	border-radius: 0.25rem;
	background-color: transparent;
	color: #787976;
	font: 700 0.75rem/0 "Montserrat", sans-serif;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-reg:hover {
	background-color: #787976;
	color: #fff;
	text-decoration: none;
}

.btn-outline-lg {
	display: inline-block;
	padding: 1.375rem 2.125rem 1.375rem 2.125rem;
	border: 0.125rem solid #787976;
	border-radius: 0.25rem;
	background-color: transparent;
	color: #787976;
	font: 700 0.75rem/0 "Montserrat", sans-serif;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-lg:hover {
	background-color: #787976;
	color: #fff;
	text-decoration: none;
}

.btn-outline-sm {
	display: inline-block;
	padding: 1rem 1.625rem 0.9375rem 1.625rem;
	border: 0.125rem solid #787976;
	border-radius: 0.25rem;
	background-color: transparent;
	color: #787976;
	font: 700 0.75rem/0 "Montserrat", sans-serif;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-sm:hover {
	background-color: #787976;
	color: #fff;
	text-decoration: none;
}

.form-group {
	position: relative;
	margin-bottom: 1.25rem;
}

.form-group.has-error.has-danger {
	margin-bottom: 0.625rem;
}

.form-group.has-error.has-danger .help-block.with-errors ul {
	margin-top: 0.375rem;
}

.label-control {
	position: absolute;
	top: 0.8125rem;
	left: 1.375rem;
	color: #787976;
	opacity: 1;
	font: 400 0.875rem/1.375rem "Open Sans", sans-serif;
	cursor: text;
	transition: all 0.2s ease;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {  
	.label-control {
		top: 0.9375rem;
	}
}

.spinner-wrapper {
	position: fixed;
	z-index: 999999;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #113448;
}

.spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3.75rem;
	height: 1.25rem;
	margin: -0.625rem 0 0 -1.875rem;
	text-align: center;
}

.spinner > div {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	border-radius: 100%;
	background-color: #fff;
	-webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
	animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}

.spinner .bounce2 {
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
	0%, 80%, 100% { -webkit-transform: scale(0); }
	40% { -webkit-transform: scale(1.0); }
}

@keyframes sk-bouncedelay {
	0%, 80%, 100% { 
		-webkit-transform: scale(0);
		-ms-transform: scale(0);
		transform: scale(0);
	} 40% { 
		-webkit-transform: scale(1.0);
		-ms-transform: scale(1.0);
		transform: scale(1.0);
	}
}


.navbar-custom {
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
	background-color: #113448;
	box-shadow: 0 0.0625rem 0.375rem 0 rgba(0, 0, 0, 0.1);
	font: 600 0.875rem/0.875rem "Open Sans", sans-serif;
	transition: all 0.2s;
}

.navbar-custom .navbar-brand {
	font-size: 0;
}

.navbar-custom .navbar-brand.logo-image img {
	height: 2rem;
	-webkit-backface-visibility: hidden;
}

.navbar-custom .navbar-brand.logo-text {
	margin-top: 0.25rem;
	margin-bottom: 0.25rem;
	font: 700 2.25rem/1.5rem "Montserrat", sans-serif;
	color: #fff;
	text-decoration: none;
}

.navbar-custom .navbar-nav {
	margin-top: 0.75rem;
	margin-bottom: 0.5rem;
}

.navbar-custom .nav-item .nav-link {
	padding: 0.625rem 0.75rem 0.625rem 0.75rem;
	color: #fff;
	text-decoration: none;
	transition: all 0.2s ease;
}

.navbar-custom .nav-item .nav-link:hover,
.navbar-custom .nav-item .nav-link.active {
	color: #14bf98;
}

.navbar-custom .dropdown:hover > .dropdown-menu {
	display: block;
	min-width: auto;
	animation: fadeDropdown 0.2s;
}

@keyframes fadeDropdown {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.navbar-custom .dropdown-toggle:focus {
	outline: 0;
}

.navbar-custom .dropdown-menu {
	margin-top: 0;
	border: none;
	border-radius: 0.25rem;
	background-color: #113448;
}

.navbar-custom .dropdown-item {
	color: #fff;
	text-decoration: none;
}

.navbar-custom .dropdown-item:hover {
	background-color: #113448;
}

.navbar-custom .dropdown-item .item-text {
	font: 600 0.875rem/0.875rem "Open Sans", sans-serif;
}

.navbar-custom .dropdown-item:hover .item-text {
	color: #14bf98;
}

.navbar-custom .dropdown-items-divide-hr {
	width: 100%;
	height: 1px;
	margin: 0.75rem auto 0.75rem auto;
	border: none;
	background-color: #b5bcc4;
	opacity: 0.2;
}

.navbar-custom .social-icons {
	display: none;
}

.navbar-custom .navbar-toggler {
	border: none;
	color: #fff;
	font-size: 2rem;
}

.navbar-custom button[aria-expanded='false'] .navbar-toggler-awesome.fas.fa-times{
	display: none;
}

.navbar-custom button[aria-expanded='false'] .navbar-toggler-awesome.fas.fa-bars{
	display: inline-block;
}

.navbar-custom button[aria-expanded='true'] .navbar-toggler-awesome.fas.fa-bars{
	display: none;
}

.navbar-custom button[aria-expanded='true'] .navbar-toggler-awesome.fas.fa-times{
	display: inline-block;
	margin-right: 0.125rem;
}
.header {
	background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.5)), url('../images/header-background.jpg') center center no-repeat;
	background-size: cover;
}

.header .header-content {
	padding-top: 8rem;
	padding-bottom: 2.125rem;
	text-align: center;
}

.header .text-container {
	margin-bottom: 3rem;
}

.header h1 {
	margin-bottom: 0.5rem;
	color: #fff;
}

.header .p-large {
	margin-bottom: 2rem;
	color: #dfe5ec;
}

.header .btn-solid-lg {
	margin-right: 0.5rem;
	margin-bottom: 1.25rem;
}

.footer {
	padding-top: 5rem;
	background-color: #113448;
}

.footer .text-container {
	margin-bottom: 2.25rem;
}

.footer h4 {
	margin-bottom: 0.75rem;
	color: #fff;
}

.footer p,
.footer ul {
	font-size: 0.875rem;
	line-height: 1.375rem;
}
.copyright {
	padding-top: 1rem;
	padding-bottom: 0.5rem;
	background-color: #113448;
	text-align: center;
}

.copyright p,
.copyright a {
	color: #dfe5ec;
	text-decoration: none;
}

@media (min-width: 768px) {
	
	.p-heading {
		width: 85%;
		margin-right: auto;
		margin-left: auto;
	}
	.navbar-custom {
		padding: 2.125rem 1.5rem 2.125rem 2rem;
		box-shadow: none;
        background: transparent;
	}
	
	.navbar-custom .navbar-brand.logo-text {
		color: #fff;
	}

	.navbar-custom .navbar-nav {
		margin-top: 0;
		margin-bottom: 0;
	}

	.navbar-custom .nav-item .nav-link {
		padding: 0.25rem 0.75rem 0.25rem 0.75rem;
	}
	
	.navbar-custom .nav-item .nav-link:hover,
	.navbar-custom .nav-item .nav-link.active {
		color: #14bf98;
	}

	.navbar-custom.top-nav-collapse {
        padding: 0.375rem 1.5rem 0.375rem 2rem;
		box-shadow: 0 0.0625rem 0.375rem 0 rgba(0, 0, 0, 0.1);
		background-color: #113448;
	}

	.navbar-custom.top-nav-collapse .navbar-brand.logo-text {
		color: #fff;
	}

	.navbar-custom.top-nav-collapse .nav-item .nav-link {
		color: #fff;
	}
	
	.navbar-custom.top-nav-collapse .nav-item .nav-link:hover,
	.navbar-custom.top-nav-collapse .nav-item .nav-link.active {
		color: #14bf98;
	}

	.navbar-custom .dropdown-menu {
		padding-top: 1rem;
		padding-bottom: 1rem;
		border-top: 0.75rem solid rgba(0, 0, 0, 0);
		border-radius: 0.25rem;
		box-shadow: 0 0.25rem 0.375rem 0 rgba(0, 0, 0, 0.03);
	}
	
	.navbar-custom.top-nav-collapse .dropdown-menu {
		border-top: 0.125rem solid rgba(0, 0, 0, 0);
	}

	.navbar-custom .dropdown-item {
		padding-top: 0.25rem;
		padding-bottom: 0.25rem;
	}

	.navbar-custom .dropdown-items-divide-hr {
		width: 84%;
	}
	.header .header-content {
		padding-top: 13rem;
		padding-bottom: 7.5rem;
	}

	.header h1 {
		font: 700 3.5rem/4rem "Montserrat", sans-serif;
	}

}

@media (min-width: 992px) {
	
	.p-heading {
		width: 65%;
	}

	.navbar-custom .social-icons {
		display: block;
		margin-left: 0.5rem;
	}

	.navbar-custom .fa-stack {
		margin-left: 0.375rem;
		font-size: 0.8125rem;
	}

	.navbar-custom .fa-stack .hexagon {
		width: 1.625rem;
		height: 1.625rem;
		position: absolute;
		background: url('../images/hexagon-green.svg') center center no-repeat;
		background-size: 1.625rem 1.625rem;
		transition: all 0.2s ease;
	}

	.navbar-custom .fa-stack:hover .hexagon {
		background: url('../images/hexagon-white.svg') center center no-repeat;
		background-size: 1.625rem 1.625rem;
	}
	
	.navbar-custom .fa-stack-1x {
		font-size: 0.6875rem;
		line-height: 1.625rem;
		color: #fff;
		transition: all 0.2s ease;
	}

	.navbar-custom .fa-stack:hover .fa-stack-1x {
		color: #14bf98;
	}
	.header .header-content {
		padding-top: 14rem;
		padding-bottom: 15rem;
	}

	.header .text-container {
		margin-top: 6.5rem;
	}
}
@media (min-width: 1200px) {
	.p-heading {
		width: 55%;
	}
	.navbar-custom {
		padding-right: 5rem;
		padding-left: 5rem;
	}

	.navbar-custom.top-nav-collapse {
		padding-right: 5rem;
		padding-left: 5rem;
	}
	.header .header-content {
		padding-top: 14.75rem;
		padding-bottom: 17.5rem;
	}
	.footer .text-container.about {
		margin-right: 5rem;
	}
}
@media (min-width: 1600px) {
	.navbar-custom {
		padding-right: 12rem;
		padding-left: 12rem;
	}

	.navbar-custom.top-nav-collapse {
		padding-right: 12rem;
		padding-left: 12rem;
	}
}
