/*
	======================================================
	General
	======================================================
*/
	body{
		background-color: #fff;
		font-weight: 400;
	    font-family: 'Montserrat', sans-serif;
		color: #282828;
		overflow-x: hidden !important;
	}
	main{
		overflow: hidden;
	}
	a{
		color: #282828;
		text-decoration: none;
		transition: all .4s ease;
	}
	a:hover{
		color: #007fbc;
		filter: brightness(85%);
		text-decoration: none;
	}
	#to-top{
		padding: .5rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background-color: #007fbc;
		color: #fff;
		width: 40px;
		height: 40px;
		text-align: center;
		position: fixed;
		bottom: 30px;
		right: 30px;
		transition: all .4s ease;
		opacity: 0;
		visibility: hidden;
		box-shadow: 0 0 10px rgba(0,0,0,.2);
		z-index: 1000;
	}
	#to-top img{
		max-height: 20px;
	}
	#to-top:hover {
		cursor: pointer;
		background-color: #99c0e9;
	}
	#to-top.show {
		opacity: 1;
		visibility: visible;
	}
	.h1, h1, .h2, h2, .h3, h3, .h4, h4, .h5, h5, .h6, h6{
		font-weight: 800;
		line-height: 1.5;
	}
	.h1, h1 {
	    font-size: 2.25rem;
	}
	.h6, h6{
		font-size: 1.35rem;
	}
	b, strong{
		font-weight: bold;
	}
	.mb-30{
		margin-bottom: 30px;
	}
	.mt-40{
		margin-top: 40px;
	}
	.py-30{
		padding-top: 30px !important;
		padding-bottom: 30px !important;
	}
	.text-blue{
		color: #007fbc;
	}
	.text-lightblue{
		color: #99c0e9;
	}
	.text-bordered{
		color: #fff;
  		-webkit-text-stroke: 2px #007fbc;
	}
	.bg-image{
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.bg-lightblue{
		background-color: #eaf2fb;
	}
	.bg-blue{
		background-color: #007fbc;
	}
	.font-bold{
		font-weight: 600 !important;
	}
	.font-black{
		font-weight: 900 !important;
	}
	.font-regular{
		font-weight: 400 !important;
	}
	.font-light{
		font-weight: 300 !important;
	}
/*
	======================================================
	Forms
	======================================================
*/
	.btn{
		display: inline-flex;
		align-items: center;
		transition: all .4s ease;
		text-transform: uppercase;
		font-weight: 600;
		font-size: 1.25rem;
		padding: .75rem 2rem;
		position: relative;
		text-transform: uppercase;
		transition: all .4s ease;
	}
	.btn:hover{
		filter: brightness(85%);
	}
	.btn-primary{
		background-color: #80f9b7;
		border-color: #80f9b7;
	}
	.btn-primary:hover,
	.btn-primary:focus,
	.btn-primary:not(:disabled):not(.disabled):active{
		background-color: #007fbc;
		border-color: #007fbc;
		box-shadow: 0 2px 6px rgba(0,0,0,.4);
		color: #fff;
		filter: none;
	}
	.form-control{
		padding: .5rem 1rem;
		border-color: #000;
		border-radius: 0;
		border-width: 2px;
		border-color: #d9d9d9;
		font-weight: 400;
		height: calc(1.5em + 1.5rem + 2px);
	}
	textarea.form-control{
		min-height: 150px;
	}
	.form-control:focus{
		border-color: #007fbc;
		box-shadow: none;
	}
	.form-control::placeholder{
		color: #282828;
	}
	.custom-input input[type=checkbox],
	.custom-input input[type=radio]{
		visibility: hidden;
		opacity: 0;
		position: absolute;
		left: -9999999;
	}
	.custom-input .input-label{
		display: flex;
		align-items: center;
		cursor: pointer;
    	font-size: 1rem;
	}
	.custom-input .input-label span{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 20px;
		height: 20px;
		min-height: 20px;
		min-width: 20px;
		margin-right: .75rem;
		border: 2px solid #d9d9d9;
	}
	.custom-input .input-label b{
		color: #007fbc;
		margin-left: 5px;
	}
	.custom-input .input-label .radio{
		border-radius: 50%;
	}
	input[type=checkbox]:checked + .input-label span:before,
	input[type=radio]:checked + .input-label span:before{
		content: '';
		display: block;
		height: 12px;
		width: 12px;
	}
	input[type=checkbox]:checked + .input-label span:before,
	input[type=radio]:checked + .input-label span:before{
		background-color: #007fbc;
	}
	input[type=radio]:checked + .input-label span:before{
		border-radius: 50%;
	}
	input[type=radio]:checked + .input-label span,
	input[type=checkbox]:checked + .input-label span{
		border-color: #007fbc;
	}
	@media (min-width: 992px){
		.custom-input .input-label{
	    	font-size: 1.35rem;
		}
	}
/*
	======================================================
	Sections
	======================================================
*/
	section,
	.section{
		padding: 100px 0;
		position: relative;
	}
	main section:last-child,
	main .section:last-child{
		padding-bottom: 50px;
	}
	section .container,
	.section .container,
	section .container-fluid,
	.section .container-fluid{
		position: relative;
		z-index: 2;
	}
	section img,
	.section img{
		display: block;
		max-width: 100%;
	}
	.section-header{
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 1rem;
	}
	.section-title{
		font-weight: 800;
		line-height: 1;
		margin-bottom: 1.5rem;
	}
	.section-header .section-title{
		margin-bottom: 0;
	}
	.section-subtitle{
		font-size: 1rem;
		font-weight: 400;
		margin-bottom: 0;
	}
	.section-description{
		font-size: 18px;
	}
	.section-description h5{
		margin-bottom: 1.5rem;
	}
	.section-description p{
		margin-bottom: 0;
	}
	.section-description p:not(:last-child){
		margin-bottom: 1.5rem;
	}
	@media (min-width: 992px){
		.h1, h1 {
		    font-size: 3.5rem;
		}
		.h2, h2 {
		    font-size: 3rem;
		}
		.h3, h3 {
		    font-size: 2.5rem;
		}
		.h4, h4 {
		    font-size: 2rem;
		}
		.h5, h5 {
		    font-size: 1.75rem;
		}
	}
/*
	======================================================
	Header
	======================================================
*/
	header{
		z-index: 2;
	}
	.navbar{
		padding: .5rem;
		background-color: rgba(255,255,255,.9);
		box-shadow: 0px 5px 6px rgba(0,0,0,.1);
	}
	.navbar-brand{
		color: #007fbc;
		font-weight: 600;
	}
	.navbar-brand img{
		display: block;
		height: 100px;
		margin: -1rem 0;
	}
	.navbar-expand-lg .navbar-nav .nav-item:not(:last-child){
		margin-bottom: .5rem;
	}
	.navbar .nav-link,
	.navbar-expand-lg .navbar-nav .nav-link{
		color: #999999;
		font-size: 14px;
		font-weight: 700;
		padding: .35rem 0;
		text-transform: uppercase;
		filter: none;
	}
	.navbar .nav-link:hover,
	.navbar-expand-lg .navbar-nav .nav-link:hover,
	.navbar .nav-link.active,
	.navbar-expand-lg .navbar-nav .nav-link.active{
		color: #007fbc;
	}
	.navbar .featured-link,
	.navbar-expand-lg .navbar-nav .featured-link{
		display: inline-flex;
		border: 2px solid #007fbc;
		border-radius: 5px;
		color: #007fbc;
		padding: .25rem .75rem;
	}
	.navbar .featured-link:hover,
	.navbar-expand-lg .navbar-nav .featured-link:hover,
	.navbar .featured-link.active,
	.navbar-expand-lg .navbar-nav .featured-link.active{
		background-color: #007fbc;
		color: #fff !important;
	}
	.navbar-toggler svg{
		height: 20px;
		width: auto;
	}
	.navbar-toggler svg rect{
		fill: #999999;
		transition: all .4s ease;
	}
	.navbar-toggler:hover svg rect{
		fill: #007fbc;
	}
	.navbar-toggler:focus{
		outline: none;
	}
	@media (min-width: 992px){ 
		.navbar-nav{
			align-items: center;
			margin-bottom: -4px;
		}
		.navbar-expand-lg .navbar-nav .nav-item:not(:last-child){
			margin-right: 30px;
			margin-bottom: 0;
		}
	}
	@media (min-width: 1200px){ 
		.navbar .nav-link,
		.navbar-expand-lg .navbar-nav .nav-link{
			font-size: 15px;
		}
	}
	@media (max-width: 991px){
		#main-navbar .navbar-nav{
			margin: 2rem 0;
		}
		.navbar-expand-lg .navbar-nav .nav-item:last-child{
			margin-top: 8px;
		}
		#main-navbar .navbar-nav .nav-link:not(:featured-link){
			padding-left: 0;
			padding-right: 0;
		}
		.navbar .nav-link:hover{
			color: #fff;
			filter: none;
		}
	}
/*
	======================================================
	Hero
	======================================================
*/
	.hero{
		display: flex;
		align-items: center;
		min-height: 500px;
		background-color: #eaf2fb;
	}
	.hero:before{
		content: '';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		clip-path: polygon(100% 0, 100% 90%, 30% 100%, 0 90%, 0 0);
	}
	.big-hero{
		min-height: 100vh;
	}
	.hero-title{
		font-size: 6rem;
		font-weight: 900;
		line-height: 1;
		margin-bottom: 0;
	}
	.hero-subtitle{
		font-size: 2.75rem;
		line-height: 1;
		margin-bottom: 0;
	}
	.hero-text-box{
		display: inline-block;
		background-color: #007fbc;
		color: #fff;
		font-weight: 400;
		line-height: 1;
		padding: 5px 10px;
	}
	.hero img{
		display: block;
		margin: auto;
	}
	.big-hero img{
		max-height: 700px;
	}
	@media (min-width: 992px){
		.hero:before{
			clip-path: polygon(100% 0, 100% 85%, 30% 100%, 0 85%, 0 0);
		}
		.hero-subtitle {
		    font-size: 4rem;
		}
		.hero-title {
		    font-size: 8rem;
		}
	}
/*
	======================================================
	Why
	======================================================
*/
	.step-img{
		display: block;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		height: 100%;
		width: 100%;
		min-height: 300px;
	}
	.sv-img-grid{
		display: flex;
		justify-content: space-between;
		height: 100%;
	}
	.sv-small{
		min-height: 200px;
		width: 45%;
	}
	@media (max-width: 767px) and (min-width: 576px){
		.step-img{
			min-height: 510px;
		}
		.sv-small{
			min-height: 199.5px;
		}
	}
	@media (max-width: 991px) and (min-width: 768px){
		.step-img{
			min-height: 690px;
		}
		.sv-small{
			min-height: 310.5px;
		}
	}
	@media (min-width: 992px){
		.sv-img-grid{
			flex-direction: column;
			margin-top: 0;
		}
		.sv-small{
			height: 45%;
			min-height: initial;
			width: initial;
		}
	}
/*
	======================================================
	About us
	======================================================
*/
	.about-us{
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%);
		padding-bottom: 200px;
		margin-bottom: -100px;
	}
	@media (min-width: 992px){
		.about-us{
			clip-path: polygon(0 0, 100% 0, 100% 100%, 0 85%);
		}
	}
/*
	======================================================
	Google Map
	======================================================
*/
	.google-map{
		min-height: 340px;
		margin-bottom: 30px;
		position: relative;
	}
	.google-map #gmap_canvas{
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
	}
/*
	======================================================
	Join Us
	======================================================
*/
	.join-us{
		clip-path: polygon(30% 5%, 100% 0, 100% 100%, 0 100%, 0 0);
		padding-top: 150px;
		margin-top: -50px;
	}
	.join-us-link img{
		width: 100%;
		height: 150px;
		max-width: 300px;
	}
	@media (min-width: 992px){
		.join-us{
			clip-path: polygon(30% 15%, 100% 0, 100% 100%, 0 100%, 0 0);
			padding-top: 200px;
		}
	}
/*
	======================================================
	Footer
	======================================================
*/
	.footer{
		background-color: #007fbc;
		color: #fff;
		padding-bottom: 0;
	}
	.copyright{
		padding: 1.5rem 0;
	}
	.copyright p{
		margin-bottom: 0;
		font-size: 15px;
		color: #fff;
	}
	.copyright img{
		display: inline-flex;
		max-height: 20px;
		margin-right: .5rem;
	}
	.copyright p a{
		color: #fff;
		font-weight: 600;
	}
	.copyright p a:hover{
		color: #fff;
	}
	@media (min-width: 992px){
		.footer-header{
			margin-bottom: 2rem;
		}
	}