html {
  height: 100%;
  scroll-behavior: smooth;
}

/************************************************ Background ************************************************/
body {
	/*background:#F4F4D5;*/
	background:#fff;
}

input[type='submit']
{
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none; 
}

/************************************************ Format ************************************************/

body, select, input, textarea {
	font-size:62.5%;
	font-family: "circe", Arial, Helvetica, sans-serif;
	color:#343434;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,h2,h3,h4 {
	display: block;
	width: 100%;
	font-weight: bold;
}

.title80 {
	font-size:80px!important;
	line-height: 1.2!important;
	margin: 0 0 25px!important;
}

.title45 {
	font-size:45px!important;
	line-height: 1.2!important;
	margin: 0 0 25px!important;
}

.title56 {
	font-size:54px!important;
	line-height: 1.1em!important;
}

.title35 {
	font-size:35px!important;
	margin: 0 0 15px!important;
	line-height: 1.1em!important;
}

h1 {
	font-size:30px;
	font-weight: 700;
	font-style: normal;
}

h2.large {
	font-size:30px;
	font-weight: 700;
	font-style: normal;
	width: 100%;
}

h2 {
	font-size:28px;
	line-height: 1.5;
	margin: 0 0 10px;
}

h3 {
	font-size:26px;
	line-height: 1.5;
	margin: 0 0 10px;
}

h4 {
	font-size:14px;
	line-height: 1.5;
	margin: 0 0 10px;
	color: #5BC5F2;
	text-transform: uppercase;
	font-weight: bold;
}

h5 {
	font-size:13px;
	font-weight: bold;
}

h6 {
	font-size:10px;
}

p {
	font-size:22px;
	line-height:1.4;
	padding:0 0 15px;
	margin: 0;
}

p.large {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
	padding:0 0 15px;
}

a {
	color:#5BC5F2;
	text-decoration:underline;
	transition: all 0.3s ease-out;
}

a:hover {
	color:#5BC5F2;
	text-decoration:none;
}

a.btn {
	color:#fff;
	padding: 20px 45px;
	margin: 10px 0 15px;
	font-size: 22px;
	display: inline-block;
	font-weight: bold;
	text-decoration: none;
	background: #5BC5F2;
	border-radius: 30px;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}

 a.btn span {
	font-weight: 900;
	color: #fff;
	position: relative;
	z-index: 2;
}

 a.btn:before {
	content: "";
	width: 0;
	aspect-ratio: 1;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: -100%;
	background: linear-gradient(90deg, rgb(91, 197, 242) 30%,rgb(71, 46, 92) 55%,rgb(71, 46, 92) 56%);
	border-radius: 50%;
	transition: width 1s;
}
a.btn:hover:before,
a.btn:focus:before,
a.btn:active:before{
	width: 300%;
}


a.btn.blue {
	border-bottom: 4px solid #373f53;
	color:#373f53;
}

a.btn.blue:hover {
	border-bottom: 4px solid #373f53;
	color:#373f53;
	opacity: .8;
}

a.btn i {
	margin-left:5px;
}

a.btn.outline {
	color:#fff;
	padding: 20px 45px;
	margin: 10px 0 15px;
	font-size: 22px;
	display: inline-block;
	font-weight: bold;
	text-decoration: none;
	background: transparent;
	border-radius: 30px;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	border: 2px solid #fff;
}

img, object, embed, video {
	max-width: 100%;
}

img {
	height:auto;	
}

strong {
	font-weight:bold;	
}

em {
	font-style:italic;	
}

hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #E1E1E1;
 }

.clearfix:after {
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;	
}

a.openmenu {
	display:none;	
}

.overlay {
	height:0;
	opacity:0;
	position: fixed;
}

.nav_surround {
	display: none;
}

.video_wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	margin: 0 0 20px;
}
.video_wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.mob_show {
	display: none!important;
}

.mob_hide {
	display:;
}

.centeralign {
	text-align: center;
}

/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.row {
display: flex;
flex-wrap: wrap;
width: 100%;
margin-top: 10em;
}
.row.nomarg {
margin-top: 0;
}
.justify-content-between {
justify-content: space-between !important;
}
.justify-content-center {
justify-content: center !important;
}
.justify-content-end {
justify-content: end !important;
}
.align-items-center {
align-items: center !important;
}
.align-items-end {
align-items: end !important;
}
.align-content-center {
align-content: center !important;
}
.textaligncenter {
	text-align: center;
}

.col-1 {
flex:0 0 auto;
width:8.3333333333%
}
.col-2 {
flex:0 0 auto;
width:16.6666666667%
}
.col-3 {
flex:0 0 auto;
width:25%
}
.col-4 {
flex:0 0 auto;
width:33.3333333333%
}
.col-5 {
flex:0 0 auto;
width:41.6666666667%
}
.col-6 {
flex:0 0 auto;
width:50%
}
.col-7 {
flex:0 0 auto;
width:58.3333333333%
}
.col-8 {
flex:0 0 auto;
width:66.6666666667%
}
.col-9 {
flex:0 0 auto;
width:75%
}
.col-10 {
flex:0 0 auto;
width:83.3333333333%
}
.col-11 {
flex:0 0 auto;
width:91.6666666667%
}
.col-12 {
flex:0 0 auto;
width:100%
}

.col_marg1 {
margin-left:8.3333333333%
}
.col_rightmarg1 {
margin-right:8.3333333333%
}
.col_marg2 {
margin-left:16.6666666667%
}
.col_marg3 {
margin-left:25%
}
.col_marg4 {
margin-left:33.3333333333%
}
.col_marg5 {
margin-left:41.6666666667%
}
.col_marg6 {
margin-left:50%
}

.blog_pic{
	width: 100%;
	margin: 20px 0 -180px;
}

.minusright5 {
	margin-right: -5%;
	position: relative;
}

/************************************************ Layout ************************************************/

section {
	width:100%;
	display: block;
	box-sizing: border-box;
	padding: 0 5%;
	position: relative;
}
section.grey {
	background:#FAFAFA;
}
section.intro {
	background:url("../images/intro-wave.png") no-repeat top right;
	background-size:650px;
	padding: 30px 5% 0;
}
section.nopaddleft {
	padding-left:0;
}
section.nopaddright {
	padding-right:0;
}
section.light {
	background:#f9e8cd;
}
section.blue {
	background:#D9E8ED;
}

.section_inner {
	margin: 0 auto;
	max-width: 1420px;
	width: 90%;
	position: relative;
	padding-top: 7vw;
	padding-bottom: 7vw;
}
.section_inner.full {
	max-width: 100%;
	width: 100%;
}
.section_inner.line {
	border-top: 2px solid #D9E8EF;
}

.section_inner.flex {
	display:flex;
	flex-flow:row wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.section_inner.paddtop1 {
	padding-top:1px;
}
.section_inner.paddtop7 {
	padding-top:7em;
}
.section_inner.paddbottom7 {
	padding-bottom:7em;
}
.section_inner.paddtop10 {
	padding-top:10em;
}
.section_inner.paddtop15 {
	padding-top:15em;
}
.section_inner.paddbottom15 {
	padding-bottom:15em;
}

.section_inner.paddtop0 {
	padding-top: 0;
}
.section_inner.paddbottom0 {
	padding-bottom: 0;
}
.section_inner.nopaddtopbottom {
	padding-top: 0;
	padding-bottom: 0;
}
.section_inner.nopaddleft {
	margin-left: 0;
}
.paddtop {
	padding-top: 7vw;
}

section.intro img,
.slide img,
img.round {
	border-radius: 5px;
}

img.round {
	border-radius: 5px;
	overflow: hidden;
}

header {
	width:100%;
	float:left;
	box-sizing: border-box;
	position: relative;
	z-index: 4;
	padding: 0 5%;
	padding-bottom: 30px;
	background: url("../images/header-top-wave.svg") no-repeat top left;
	background-size:149px;
}

.main_nav_surround {
	display: flex;
	max-width: 65%;
	min-width: 900px;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-end;
	float: right;
	margin: 30px 0 0;
}

#logo {
	width:270px;
	margin:50px 0 0;
	float: left;
}

#logo a:hover {
	opacity:.8;
}

#logo img {
	width:100%;
}

.top_nav {
	width: 100%;
	text-align: right;
	margin: 0 0 10px;
}
.top_nav ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	list-style-type: none;
	padding:10px 0;
	margin: 0;
}
.top_nav ul li {
	font-size:17px;
	color:rgba(255,250,250,.75);
	margin: 0;
	margin-left: 20px;
}
.top_nav ul li i {
	font-size:16px;
	margin-right: 3px;
}

nav {
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	justify-content: end;
	padding: 10px 0 0;
	box-sizing: border-box;
}

nav ul {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	margin: 0;
}

nav ul li {
	font-size:20px;
	list-style-type: none;
	position: relative;
	padding: 0;
	margin: 0 13px;
}
nav ul li:last-child {
	margin: 0 0 0 13px;
}

nav ul li a {
	color:#fff;
	text-decoration: none;
	padding: 0 0 20px;
  	display: block;
	opacity: .8;
}

nav ul li a.header_btn {
	border:2px solid #fff;
	border-radius:30px;
	padding: 5px 25px 3px;
	color: #fff;
	text-transform: uppercase;
	font-size: 16px;
	font-weight: bold;
	margin: -5px 0 0;
	opacity: 0.7;
}

nav ul li a.header_btn:hover {
	border:2px solid #fff;
	color: #fff;
	opacity: 1;
}

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

nav ul li a.current-menu-item,
nav ul li.current-menu-ancestor a,
nav ul li.current-menu-ancestor ul li a,
nav ul li.current-page-ancestor a {
	color:#fff;
	opacity: 1;
}

nav ul li.drop ul {
    display: none;
    position: absolute;
    background-color: #fff;
    width: 250px;
    box-shadow: 1px 1px 10px rgba(211,211,211,1.00);
    z-index: 999;
	margin:0px 0 0;
	padding:0;
	left: 50%;
  	transform: translateX(-50%);
	border-radius:7px;
	transition: all 0.3s ease-out;
}

nav ul li.drop ul:before {
    content:"";
    position: absolute;
    right: 0;
	left:0;
	margin:0 auto;
    top: -15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 25px 20px 25px;
    border-color: transparent transparent #ffff transparent;
    z-index:9999;
}

nav ul li.drop:hover ul {
    display: table;
	table-layout:fixed;
}

nav ul li.drop ul li {
	width:100%;
	float:left;
	text-align:center;
	margin: 0;
	padding: 0;
}

nav ul li.drop ul li a {
	width:100%;
	color:#101010;
	padding:9px 0;
	float:left;
	font-size:17px;
	letter-spacing:normal;
	box-sizing:border-box;
	border-bottom:1px solid #f4f5fa;
}

nav ul li.drop i {
	font-size:13px;
	margin-left: 1px;
}

nav ul li.drop ul li:last-child a {
	border-bottom:none;
}

nav ul li.drop ul li a:hover,
nav ul li.drop ul li.selected a,
nav ul li.drop ul li a.current-menu-item {
	color:#5BC5F2;
}

nav ul li.drop ul li.selected a,
nav ul li.drop ul li a.current-menu-item {
	font-weight:400;
}

nav ul li.drop ul li a:hover:after {
	width:0;
}

nav ul li.current-menu-item ul li a:after,
nav ul li.current-menu-ancestor ul li a:after,
nav ul li.current-menu-ancestor ul li.current_page_item a:after {
	width:0;
}

/************************************************ Homepage ************************************************/

.hero {
	width:100%;
	padding: 0;
	box-sizing: border-box;
	text-align: left;
	position: relative;
	min-height: 900px;
	background: linear-gradient(120deg,  rgba(91,197,242,1) 1%,rgba(71,46,92,1) 56%,rgba(71,46,92,1) 56%);
}
.hero.small {
	min-height: inherit;
	display: flex;
	flex-flow: row wrap;
}
.hero_wave {
	position: absolute;
	z-index: 1;
	width: 500px;
	right: 0;
	bottom: 0;

}
.hero_content {
	width: 90%;
	position: relative;
	z-index: 2;
	display: flex;
	flex-flow: row wrap;
	color: #fff;
	align-items: center;
	margin: 0 5%;
	box-sizing: border-box;
  	padding: 150px 0 100px 2%;
	border-top: 1px solid rgba(255,255,255,0.4);
	justify-content: space-between;
}
.hero_grad {
	background: rgba(5,16,50,0.25);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.hero_content h1,
.hero_content h2 {
	font-size:64px;
	margin: 0 0 0.2em;
	line-height: 1.2em;
}
.hero_content_inner {
	width:52%;
}
.hero_content ul {
	font-size:26px;
	list-style-type: none;
	width: 80%;
	margin: 30px 0 0;
}
.hero_content ul li {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 10px;
}
.hero_content ul li span {
	width:44px;
	height: 44px;
	border-radius: 50%;
	background: #472E5C;
	font-size: 16px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hero_content ul li p {
	padding:0 0 10px;
	margin: 0;
	font-size:26px;
	color: #fff;
	width: 86%;
	border-bottom: 1px solid rgba(255,255,255,0.4);
}
.hero_content a.btn:hover {
	text-decoration:none;
	border-bottom: 4px solid #fff;
}
.hero_content a.btn {
	color:#fff;
	border-bottom: 4px solid #fff;
}
.hero_content a.btn:hover {
	text-decoration:none;
	border-bottom: 4px solid #fff;
}

.hero_boxes {
	width:47%;
	display: flex;
	justify-content: space-between;
	margin-right: -2%;
}
.hero_box {
	width:47%;
	border-radius: 5px;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	box-shadow: 7px 8px 0 rgba(255, 255, 255, .7);
}
.hero_box.offset {
	top:-100px;
}
.hero_box.offsetbottom {
	bottom:-50px;
}
.hero_box img {
	width:100%;
	border-radius: 5px;
	transition: transform .8s;
}
.hero_box:hover img {
	transform: scale(1.1);
}
.hero_box a {
	width:100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 2;
}
.hero_box .gradient {
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgb(54, 37, 77) 100%,rgb(51, 34, 74) 53%);
	position: absolute;
	left: 0;
	width: 100%;
	bottom: 0;
	padding: 50px 5% 25px 8%;
	box-sizing: border-box;
	color: #fff;
	font-size:22px;
	font-weight: bold;
	z-index: 1;
}

.hp_blog {
	width: 70%;
	background:#D9E8ED;
	padding: 2.5em 4em;
	box-sizing: border-box;
	position: absolute;
	bottom: -11em;
	right: 5%;
	z-index: 2;
	animation: fadein 1s;
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	align-items: center;
}
.hp_blog p.small {
	font-size: 1.4em;
	text-transform: uppercase;
	font-weight: bold;
	margin: 0 0 2em;
	padding: 0 0 1em;
	border-bottom: 2px solid #fff;
	width: 100%;
}
.hp_blog p.large {
	font-size: 2.8em;
	font-weight: 500;
	margin: 0;
	width: 75%;
}
.hp_blog a.btn {
	color:#373f53;
	border-bottom: 2px solid #373f53;
	padding: 0 0 0.25em;
	margin: 0;
	font-size: 1.8em;
	display: inline-block;
	position: relative;
	font-weight: bold;
	text-decoration: none;
	transition: all 0.3s ease-out;
}
.hp_blog a.btn:hover {
	color:#373f53;
	border-bottom: 2px solid #373f53;
}
.hp_blog a.btn .far {
	padding: 0;
	transition: all 0.3s ease-out;
}
.hp_blog a.btn:hover .far {
	padding: 0 0 0 .25em;
	transition: all 0.3s ease-out;
}

.hero .slick-track {
    display: flex !important;
}

.hero .slick-slide{
    height: auto !important;
}
.hero .slide{
    height: 100% !important;
}
.hero .slick-slide > div{
    height: 100% !important;
}


/************************************************ Main Content ************************************************/

.services_area {
	width:100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

.service_box {
	width:92%;
	border-radius: 5px;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	margin: 0 0 30px;
}
.top50 {
	margin-top:50px;
}
.top100 {
	margin-top:100px;
}
.offsettop100 {
	margin-top:-200px;
}
.offsettop200 {
	margin-top:-300px;
}
.service_box img {
	width:100%;
	border-radius: 5px;
	transition: transform .8s;
}
.service_box:hover img {
	transform: scale(1.1);
}
.hero_box i,
.service_box i {
	font-size: 18px;
	margin-left: 5px;
	transition:.5s ease-in-out;
}
.hero_box:hover i,
.service_box:hover i {
	margin-left: 8px;
}
.service_box a {
	width:100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 2;
}
.service_box .gradient {
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgb(54, 37, 77) 100%,rgb(51, 34, 74) 53%);
	position: absolute;
	left: 0;
	width: 100%;
	bottom: 0;
	padding: 50px 5% 25px 8%;
	box-sizing: border-box;
	color: #fff;
	font-size:22px;
	font-weight: bold;
	z-index: 1;
}

.review_intro {
	width:91.6666666667%;
	display: flex;
	align-items: center;
}
.reviews_slider {
	margin: 0 0 80px -60px!important;
}
.reviews_slider .slick-track
{
    display: flex !important;
}

.reviews_slider .slick-slide,
.reviews_slider .slick-slide .slide
{
    height: inherit !important;
}

.reviews_slider .slick-slide > div { height: 100%!important; }

.reviews_slider .review_block {
	width:100%;
	border: none;
	margin-bottom: 0;
	background: #F4F4F4;
	border-radius: 5px;
	padding: 30px;
	box-sizing: border-box;
	height: 100%;
}
.reviews_slider .slick-slide {
	margin-left: 26px;
}
.reviews_slider .slick-list {
    margin-left:-26px;
}

.reviews_slider .review_block:hover {
	border: none;
}

.services_container {
	margin:3em 0 0;
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.services_container::after {
	content: "";
	width:31%;
}
.review_block {
	width:31%;
	padding: 20px;
	border: 5px solid transparent;
	box-sizing: border-box;
	margin-bottom: 2em;
	position: relative;
	transition: all 0.3s ease-out;
}
.review_block a {
	width:100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
}
.review_block a:hover {
	background-color: rgba(255,255,255,0.15);
}
.review_block:hover {
	border: 5px solid #5BC5F2;
}
.review_block p.small{
	font-size:16px;
	padding: 0;
	line-height: 1.2;
}
.review_block p.small strong.purple{
	font-size:14px;
	color: #8F79A3;
}
.review_block p{
	font-size:17px;
	padding: 0 0 10px;
}
.stars {
	width:100%;
	color: #8F79A3;
	font-size: 17px;
	margin: 0 0 15px;
}
.stars i {
	margin-right:5px;
}

.grey_boxes {
	display: flex;
	flex-flow: row wrap;
	margin: 100px 0 0;
	justify-content: center;
}
.grey_boxes_inner {
	display: flex;
	width: 100%;
	flex-flow: row wrap;
	justify-content: space-between;
	margin: 0 0 10px;
}
.grey_box {
	width:32%;
	background: #FAFAFA;
	border-radius: 5px;
	padding: 30px;
	box-sizing: border-box;
	margin: 0 0 2%;
}
.grey_box h3 {
	font-size:26px;
	line-height: 1.2;
  	margin: 0 0 10px;
}
.grey_box p {
	font-size:18px;
	padding: 0;
	line-height: 1.3;
}

.grad_box {
	background: linear-gradient(135deg,  #8f79a3 0%,#8f79a3 48%,#5bc5f2 100%);
	width: 100%;
	border-radius: 5px;
	padding: 50px 5% 50px;
	box-sizing: border-box;
	color: #fff;
}
.grad_box.flex {
	display: flex;
	justify-content: space-between;
	padding: 100px 5%;
}
.grad_box.topmarg {
	margin:80px 0 0;
}
.grad_box h4 {
	color: #fff;
	text-align: center;
}
.grad_box.flex h4 {
	color: #fff;
	text-align: left;
}
.grad_box_inner {
	width: 90%;
	margin: 50px auto 20px;
	display: flex;
	justify-content: center;
}
.grad_item:nth-child(2n) {
	margin:0 5% 0;
}
.grad_item {
	width: 30%;
	text-align:center;
	margin: 0;
}
.grad_item span {
	font-size:30px;
	background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	padding: 0;
	margin: 0 auto 20px;
	width: 64px;
	height: 64px;
	color: #472E5C;
}
.grad_item p {
	font-size:26px;
	padding: 0;
}

.faq_list.inner {
	width:100%;
	float:left;
	text-align: left;
	margin: 15px 0 40px;
}
.faq_list.inner .question {
	border-bottom:1px solid #707070;
	width: 100%;
	float: left;
}
.faq_list.inner .q_surround {
	width:100%;
	float:left;
	padding:15px 0 15px;
	box-sizing:border-box;
	position:relative;	
}
.faq_list.inner p.large {
	width:100%;
	font-size:22px;
	font-weight:300;
	padding:0 0 0;
	box-sizing:border-box;
}
.faq_list.inner p.large span {
	float:left;
	width:90%;
}
.faq_list.inner p.large i {
	float:right;
	margin:5px 0 0 5px;
	font-size:14px;
}
.faq_list.inner .q_surround i.fa-chevron-up {
	display:none;
}
.faq_list.inner .q_surround.close i.fa-chevron-up {
	display:block;
}
.faq_list.inner .q_surround.close i.fa-chevron-down {
	display:none;
}
.faq_list.inner .q_surround i.fa-chevron-down {
	display:block;
}
.q_surround:hover {
	cursor:pointer;
}
.faq_list .answer {
	width:100%;
	float:left;
	display:none;
	padding:0px 0 0;
	box-sizing:border-box;
}
.faq_list .answer p {
	font-size:20px;
}

.gallery {
	width:100%;
	display: flex;
	margin: 50px 0 30px;
}
.gallery_slider {
	width:100%;
	display: flex;
}
/* the slides */
.gallery_slider .slick-slide {
	margin: 0 15px;
}

/* the parent */
.gallery_slider .slick-list {
	margin: 0 -15px;
}

img.rounded {
	border-radius:10px;
}

.heading h1 {
	font-size:55px;
	color:#812E6E;
	margin: 0 0 20px;
}

.single-post .heading h1 {
	font-size: 40px;
	color: #812E6E;
	margin: 0 0 20px;
}

.heading h2 {
	font-size:22px;
	color:#812E6E;
	margin: 0 0 30px;
	font-weight: 500;
}

.heading h4.uppercase {
	font-size:13px;
	text-transform: uppercase;
	font-weight: bold;
	margin: 10px 0 20px;
}

.heading p {
	font-size:22px;
	margin: 0;
}

.heading_sub_links {
	width:80%;
	background: #A4338A;
	color:#F4F4D5;
	border-radius:3em;
	font-size: 20px;
	padding: 14px 25px;
	display: flex;
	flex-flow: row wrap;
	position: relative;
	font-weight: bold;
	border: 3px solid #fff;
	line-height: 1.5em;
}

.heading_sub_links strong {
	margin: 0 10px 5px 0;
}

.heading_sub_links ul {
	width:auto;
	display: flex;
	flex-flow: row wrap;
	margin: 0;
}

.heading_sub_links ul li {
	list-style-type:none;
	margin: 0 10px 0 0;
	font-size: 18px;
}

.heading_sub_links ul li a {
	text-decoration: underline;
	color: #fff;
	font-weight: normal;
}

.heading_sub_links ul li a:hover {
	text-decoration: none;
	color: #fff;
}

.section_title {
	width:100%;
	float: left;
	margin: 0 0 30px;
}

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

.section_title.white {
	color:#fff;
}
.section_title.blue {
	color:#55C2E4;
}
.section_title.green {
	color:#CDD500;
}

.section_title h2,
.section_title h3 {
	font-size:5em;
	font-family: "roboto-slab", serif;
	margin: 0 0 10px;
}

/************************************************ Contact ************************************************/

.heading_left ul.footer_social_icons {
	margin: 0;
	justify-content: flex-start;
}

.contact_form {
	width:100%;
	padding: 60px 30px 30px;
	border-radius:10px;
	background: #fff;
	box-sizing: border-box;
}

.contact_form.border {
	border:5px solid #A4338A;
}


/************************************************ Gallery ************************************************/

.gallery_list {
	width:100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	margin-top: 3em;
}

.gallery_list .gal_item {
	width:22%;
	position: relative;
	margin-right: 2%;
	margin-bottom: 2em;
}

.gallery_list .gal_item a {
	width:100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.gallery_list .gal_item a:hover {
	background: rgba(255,255,255,0);
}

.gallery_list .gal_item:hover img {
	border-color: #A4338A;
}

.gallery_list .gal_item img {
	width:100%;
	border-radius:10px;
	margin: 0 0 10px;
	border: 5px solid #fff;
	transition: all 0.3s ease-out;
}

.gal_item span {
	font-size:20px;
	font-weight: bold;
	line-height: 1.5em;
}



/************************************************ About ************************************************/

.team_area {
	width:100%;
	display:flex;
	flex-flow: row wrap;
	margin: 15px 0 20px;
	justify-content: space-between;
}
.team_area:after {
	content: "";
	width: 31%;
}

.team_item {
	width:31%;
	position: relative;
	margin-right: 0;
	margin-bottom: 2.3%;
}

.team_item a {
	width:100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.team_item a:hover {
	background: rgba(255,255,255,.3);
}

.team_item img {
	width:100%;
	margin: 0 0 10px;
}

.team_detail {
	width: 100%;
	padding: 10px 0 0;
	position: relative;
	bottom: 0;
	left: 0;
	box-sizing: border-box;
}

.team_item p {
	font-size:20px;
	font-weight: normal;
	padding: 0;
	width: 100%;
}

.team_item span {
	font-size:16px;
	line-height: 1.3;
	width: 100%;
	display: block;
	font-weight: bold;
}


/************************************************ People Modal ************************************************/


.modal {
  display: none;
}
.team_member_surround {
	width:100%;
	padding: 0;
}
.modal_left {
	width:100%;
	float: left;
	display: flex;
}
.modal_right {
	width:50%;
	float: left;
	position: relative;
}
.modal .no-gutters > .col,
.modal .no-gutters > [class*=col-] {
  padding: 0;
}
.modal.team-member {
	padding: 0 !important;
	width: 100%;
	max-width: 1200px;
}
.modal.team-member .team-image {
  position: relative;
  object-fit: cover;
  object-position: top;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 35%;
}
.modal.team-member .modal-header,
.modal.team-member .modal-body {
  padding: 30px 5%;
	width: 65%;
}
.modal.team-member p.large {
	font-size: 24px;
	font-weight: normal;
}
.modal.team-member p {
	font-size: 18px;
	font-weight: normal;
}
.modal.team-member p.large strong {
	font-size: 20px;
	font-weight: bold;
}
.modal.team-member .modal-header {
  background-color:#CDD500;
  border: none;
  border-radius: 0;
	color: #fff;
  display: block;
}
.modal.team-member .modal-header * {
  margin: 0;
}
.modal.team-member .modal-body {
  background-color: #fff;
}
.fancybox-button :hover,
button.fancybox-button:hover{
	text-decoration:none;
	background:none;
	color:#5BC5F2; 
}

/*.fancybox-button[data-fancybox-close] {
  width: 60px;
  height: 60px;
}*/

@media only screen and (max-width: 667px) {
  .modal.team-member .modal-header,
.modal.team-member .modal-body {
    padding: 1.5rem;
  }
}
.popup {
  display: none;
  width: 50%;
  max-width: 600px;
}

@media only screen and (max-width: 1024px) {
  .popup {
    max-width: none;
    width: 90%;
  }
}




/************************************************ Form Elements and General Styling ************************************************/

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	background:none;
	font-size:24px;
	text-transform:uppercase;
	color:#373f53;
	border: none;
	border-bottom: 4px solid #5BC5F2;
	padding: .5em 0 .75em 0;
	margin: 10px 0 15px;
	display: inline-block;
	position: relative;
	font-weight: bold;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease-out;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover{
	text-decoration:none;
	border-color:#373f53;
	color:#373f53; 
}


/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
	height: 68px;
	padding: 10px 20px;
	background-color: #fff;
	border: none;
	box-shadow: none;
	box-sizing: border-box;
	width: 100%;
	border-radius:10px;
	font-size: 20px; 
}
/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
textarea {
	height: 200px;
	padding: 10px 20px;
	background-color: #fff;
	border: none;
	box-shadow: none;
	box-sizing: border-box;
	width: 100%;
	border-radius:10px;
	font-size: 20px; 
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 2px solid #33C3F0;
  outline: 0; }
label,
legend {
  display: block;
  margin-bottom: .5rem;
text-transform: uppercase;
font-weight: bold;
font-size: 13px;}
fieldset {
  padding: 0;
  border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
  display: inline; }
label > .label-body {
  display: inline-block;
  margin-left: .5rem;
  font-weight: normal; }


/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
  list-style: disc inside; }
ol {
  list-style: decimal inside; }
ol, ul {
  padding-left: 0;
  margin-top: 0; }
ul ul,
ul ol,
ol ol,
ol ul {
  margin: 1.5rem 0 1.5rem 3rem;
  font-size: 90%; }
li {
margin-bottom: 0.5rem;
font-size:20px;
line-height: 1.5em;
margin-left: 20px;
list-style-position: outside;}

ol {
  counter-reset: number-list-counter;
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
ol li {
  counter-increment: number-list-counter;
  position: relative;
  padding-left: 25px;
  margin-bottom: 1rem;
  font-weight: 500;
	font-size: 20px;
}
ol li:before {
  content: counter(number-list-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
}


/* Code
–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
  padding: .2rem .5rem;
  margin: 0 .2rem;
  font-size: 90%;
  white-space: nowrap;
  background: #F1F1F1;
  border: 1px solid #E1E1E1;
  border-radius: 4px; }
pre > code {
  display: block;
  padding: 1rem 1.5rem;
  white-space: pre; }

blockquote {
  position: relative;
  background-color: #5BC5F2;
  padding: 30px;
  margin: 0 0 40px 0;
	color: #3A4152;
font-size: 20px;
	line-height: 1.5em;
}
blockquote p {
  font-size:20px;
}
@media only screen and (max-width: 768px) {
  blockquote p {
    font-size: 18px;
  }
}

cite {
  display: block;
  font-style: normal;
  font-weight: 700;
  color: #fff;
  font-size: 18px;
}
cite:before {
  content: "- ";
}
@media only screen and (max-width: 768px) {
  cite {
    font-size: 16px;
  }
}


/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
th,
td {
  padding: 12px 15px;
  text-align: left;
  border-bottom: 1px solid #E1E1E1; }
th:first-child,
td:first-child {
  padding-left: 0; }
th:last-child,
td:last-child {
  padding-right: 0; }
  tr:nth-child(odd) {
	background:#f4f4f4;  
  }


/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input,
textarea,
select,
fieldset {
  margin-bottom: 0; }
pre,
blockquote,
dl,
figure,
table,
ul,
ol,
form {
  margin-bottom: 0; }


/************************************************ Contact Form Elements ************************************************/


.form_area {
	width:100%;
	border-radius:5px;
	background:#FAFAFA;
	padding: 50px 8%;
	box-sizing: border-box;
}

.form_item {
    display: inline-block;
    margin:0 0 5px;
    vertical-align: top;
    width: 100%;
}

.form_item label,
.form_item_message label{
   display:block;
   font-size:20px;
   margin:10px 0 10px;
	text-transform: none;
	font-weight: normal;
}

.quote_box .form_item {
	margin:0 0 8px;	
}

.form_item input {
    border:1px solid #CECECE;
	box-sizing: border-box;
    float: left;
    font-size: 20px;
    height: 65px;
    margin: 0 0 5px;
    padding: 12px 0 10px 10px;
    width: 100%;
	border-radius: 5px;
}

.form_item textarea {
	font-size: 20px;
	border:1px solid #CECECE;
	height:120px;
	width:100%;
	padding: 12px 0 10px 10px;
	box-sizing: border-box;
	margin:0 0 20px;
	border-radius: 5px;
}

.contact_col1 .form_item input {
	height: 60px;
	margin:0 0 10px;
}

.contact_col2 .form_item textarea {
	height:180px;
}

.form_item.select {
	width:100%;
	position:relative;
}

.form_item.select select {
	-webkit-appearance: none; 
	-moz-appearance: none;
	appearance: none;/* remove default arrow */
	width:100%;
	height:60px;
	border:2px solid #eaf0f2;
	border-radius:3px;
	box-sizing:border-box;
	font-size:16px;
	padding:8px 15px 8px 15px;
	position:relative;
	box-shadow:none;
	background:url(../images/downarrow.png) no-repeat center right #fff;
	background-size:30px;
}
.form_item input:focus,
.form_item textarea:focus {
	border:1px solid #5BC5F2!important;
}

.form_item label.warning,
.form_item_message label.warning {
	color:#F00;	
}

.submit {
	color:#fff;
	padding: 20px 60px;
	margin: 10px 0 15px;
	font-size: 22px;
	display: inline-block;
	font-weight: bold;
	text-decoration: none;
	background: #5BC5F2;
	border-radius: 50px;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	border: none;
	text-transform: none;
	min-width: 40%;
}

 .submit span {
	font-weight: 900;
	color: #fff;
	position: relative;
	z-index: 2;
}

 .submit:before {
	content: "";
	width: 0;
	aspect-ratio: 1;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: -100%;
	background: linear-gradient(90deg, rgb(91, 197, 242) 30%,rgb(71, 46, 92) 55%,rgb(71, 46, 92) 56%);
	border-radius: 50%;
	transition: width 1s;
}
.submit:hover:before {
	width: 300%;
}

#mapholder {
	width:100%;
	float:left;
	height:500px;
}

#mapholder img, #mapholder object, #mapholder embed, #mapholder video {
	max-width:none;
	width:auto;
}

#mapholder img {
	height:auto;	
}

#mapholder p {
	color:#000;	
	font-size:14px;
	padding:0;
}

#mapholder p strong {
	font-weight:bold;
}

.honey {
	display:none;	
}

.g-recaptcha {
    margin: 0 0 20px;
}

.form_item label.warning {
	color:#F00;	
}

.green_text {
	display:flex;
	flex-direction:row;
	flex-wrap:no-wrap;
	justify-content:center;
	align-items:stretch;
}

.green_check {
	padding:30px;
	font-size:50px;
	background:#f9d233;
	align-items: center;
	display:flex;
}

.green_message {
	padding:30px;
	font-size:20px;
	line-height:1.5em;
	background:#fbfdfe;
}

.red_text {
	display:flex;
	flex-direction:row;
	flex-wrap:no-wrap;
	justify-content:center;
	align-items:stretch;
}

.red_check {
	padding:30px;
	font-size:50px;
	background:#fb0a0a;
	color:#fff;
	align-items: center;
	display:flex;
}

.red_message {
	padding:30px;
	font-size:20px;
	line-height:1.5em;
	background:#fbfdfe;
}

/************************************************ CTA ************************************************/

.cta_bottom {
	display: flex;
	width: 100%;
	padding: 0;
	background: url("../images/cta-1.jpg") no-repeat top center;
	background-size: cover!important;
	min-height: 700px;
	justify-content: center;
	align-items: center;
}
.cta_bottom.alternate {
	background: url("../images/cta-2.jpg") no-repeat top center;
}

.cta_bottom_inner {
	display: flex;
	width: 100%;
	align-items: center;
}
.cta_bottom_inner.blue {
	background:#d9e8ed;
}

.cta_block {
	width: 50%;
	padding: 5em 5%;
	align-items: center;
	text-align: center;
	color: #fff;
}
.cta_block p {
	font-size:25px;
	padding: 0 0 25px;
}

aside.orange_large ul.social_icons {
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	list-style-type: none;
	justify-content:flex-start;
	align-items: center;
	margin: 0;
}

aside.orange_large ul.social_icons li {
	font-size:20px;
	margin: 0 10px 0 0;
	width: auto;
}

aside.orange_large ul.social_icons li a {
	color:#3A4152;
	width: 42px;
	height: 42px;
	border-radius:50%;
	border: 2px solid #3A4152;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

aside.orange_large ul.social_icons li a:hover {
	color:#5BC5F2;
	background: #3A4152;
	border-color: #3A4152;
}


/************************************************ Footer ************************************************/

.mailing_surround {
	background: #A4338A;
	border-radius:10px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	padding: 80px 5% 50px;
	box-sizing: border-box;
	color: #fff;
	max-width: 1420px;
	margin: 0 auto -80px;
	text-align: center;
	position: relative;
}

.mailing_surround .person {
	width:285px;
	position: absolute;
	right: 2%;
	top: -200px;
}

.mailing_surround h6 {
	font-family: "roboto-slab", serif;
	font-size:50px;
	margin: 0 0 10px;
	width: 100%;
}

.mailing_surround p {
	margin: 0;
	font-weight: 500;
}

.mailing_surround .frm_message p {
	color: #101010;
	padding: 0;
}

.frm_error_style {
	color: red;
	font-size: 13px;
}

.mail_signup {
	width:75%;
	background: #fff;
	padding: 15px;
	border-radius: 30em;
	margin: 20px 0 0;
}

.mail_signup .frm_combo_inputs_container, .mail_signup .frm_grid_container, .mail_signup .frm_form_fields .frm_section_heading, .mail_signup .frm_form_fields .frm_fields_container {
	display: inherit!important;
}

.mail_signup form,
.mail_signup fieldset {
	margin: 0!important;
}

.mail_signup input {
	width: 69%;
	border-radius: 3em;
	background: #fff;
	float: left;
	font-size: 20px;
	color: #010101;
	font-weight: 500;
	padding: 24px 30px;
	box-sizing: border-box;
	line-height: 1.5em;
	margin: 0;
	height: auto;
	border: 1px solid transparent;
}

.mail_signup button {
	float: right;
	border-radius: 3em;
	font-size: 17px;
	line-height: 1.5em;
	padding: 24px 20px;
	display: inline-block;
	height: auto;
	margin: 0;
	font-weight: bold;
	vertical-align: top;
	color: #fff;
	position: relative;
	border: none;
	cursor: pointer;
	width: 30%;
	box-sizing: border-box;
	background: #CDD500;
	transition: all 0.3s ease-out;
	text-transform: uppercase;
}

.mail_signup button i {
	margin-right:5px;
}

.mail_signup button:hover {
	background: #A4338A;
}

footer {
	width:100%;
	float:left;
	padding: 100px 5% 30px;
	box-sizing: border-box;
	background:url("../images/hero-wave-bg.svg") no-repeat top 50px right #472E5C;
	color: #fff;
	margin: 1px 0 0;
}

footer a {
	color: #fff;
	text-decoration: underline;
}

footer a:hover {
	color: #fff;
	text-decoration: none;
}

footer img {
	width:196px;
}

footer p.uppercase {
	font-size:1.3em;
	font-weight: bold;
	letter-spacing: 1px;
	padding: 0;
	text-transform: uppercase;
}
footer p {
	font-size:1.8em;
}

.footer_inner {
	margin: 0 auto;
	max-width: 1420px;
	width: 90%;
	position: relative;
}

.footer_cols {
	display: flex;
	flex-flow:row wrap;
}

.footer_col {
	width:30%;
}

.footer_col.large {
	width:50%;
}

.footer_col.large img {
	width:70%;
	border-radius: 5px;
	margin: 0 0 20px;
}

.contact_block {
	width:100%;
	display: flex;
	margin: 0 0 20px;
	align-items: center;
}
footer .contact_block {
	color: #fff;
}
.c_icon {
	width:52px;
	height: 52px;
	color: #8F79A3;
	border: 2px solid #8F79A3;
	text-align: center;
	border-radius: 50%;
	display: flex;
	align-content: center;
	align-items: center;
	font-size:21px;
	justify-content: center;
	margin-right:20px; 
}
.footer_col h6,
.contact_block h6 {
	font-size:14px;
	text-transform: uppercase;
	font-weight: bold;
}
.contact_block h6 {
	margin: 0 0 5px!important;
}
.footer_col h6 {
	margin: 0 0 15px;
}

.contact_block p {
	font-size:20px;
	padding: 0;
}

ul.footer_links {
	display: flex;
	flex-flow: row wrap;
	list-style-type: none;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 30px;
}

ul.footer_links li {
	font-size:20px;
	margin: 0 0 5px 0;
	width: 48%;
}

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

ul.footer_links li a:hover {
	color:#5BC5F2;
}

ul.footer_social_icons {
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	list-style-type: none;
	justify-content: flex-start;
	align-items: center;
	margin: 0 10% 0 0;
}

ul.footer_social_icons li {
	font-size:2em;
	margin: 0 10px 0 0;
}

ul.footer_social_icons li a {
	color:#fff;
	width: 42px;
	height: 42px;
	border-radius:50%;
	border: 2px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

ul.footer_social_icons li a:hover {
	color:#373f53;
	background: #5BC5F2;
	border-color: #5BC5F2;
}

.footer_bottom {
	display: flex;
	flex-flow: nowrap;
	border-top: 1px solid rgba(255,255,255,.4);
	padding: 25px 0 0;
	margin: 40px 0 0;
	align-items: center;
}

.footer_bottom a,
.copyright a {
	color: #fff;
	text-decoration: underline;
}
.footer_bottom a:hover,
.copyright a:hover{
	color: #fff;
	text-decoration: none;
}

.footer_left {
	width:82.5px;
	margin-right: 4em;
}

.footer_right {
	width:80%;
	color: #B4B4B2;
}

.footer_right p {
	font-size:1.4em;
}

.copyright {
	width:100%;
	font-size:16px;
	line-height: 1.5em;
	color: #fff;
}

.copyright a.small {
	font-size:16px;
}


/************************************************ Smaller screens ************************************************/

@media only screen and (max-width: 1299px) {

header {
	display: flex;
}	
	
#logo {
  width: 270px;
}
	
nav ul li {
  font-size: 19px;
}
	
.hero.large {
	min-height: 660px;
}
	
.hero_content {
	padding: 100px 0 80px;
}
.hero_content h1,	
.hero_content h2 {
	font-size: 50px;
}
	
.review_intro {
	width:91.6666666667%;
	display: flex;
	align-items: center;
	flex-flow: row wrap;
	margin: 50px 0 0;
}
	
.review_intro .col-6 {
	width:90%;
}
	
.review_intro .col-4 {
	width:90%;
	margin-bottom: 25px;
}
	
}

@media only screen and (max-width: 1200px) {

header {
	display: flex;
}	
	
#logo {
  width: 270px;
}
	
nav ul li {
  font-size: 19px;
}
	
}

@media only screen and (max-width: 1199px) {

header {
	display: block;
}
	
#logo {
	width: 270px;
	margin: 30px 0 0;
}
	
.title45 {
	font-size: 38px !important;
}
.hero_content ul li p {
	padding: 0 0 10px;
	margin: 0;
	font-size: 22px;
	width: 83%;
}
.section_inner {
  width: 100%;
}
section.intro {
	background-size: 450px;
}
	
.cta_bottom {
  min-height: 500px;
}
.cta_block {
	width: 90%;
}
.footer_inner {
	margin: 0 auto;
	max-width: 100%;
	width: 100%;
	position: relative;
}
.footer_col {
	width: 40%;
}
	
/* Mobile menu */

a.openmenu {
	position:absolute;
	right:5%;
	font-size:22px;
	color:#fff;
	z-index:100;
	top:80px;
	display:block;
	width: 56px;
	height: 56px;
}

a.openmenu.fixed {
	position:fixed;
	font-size:22px;
	color:#fff;
	z-index:100;
}

#nav-icon1, #nav-icon2, #nav-icon3, #nav-icon4 {
  width: 50px;
  height: 30px;
  position: relative;
  margin: 0 auto;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
	margin-top: 15px;
}

#nav-icon1 span, #nav-icon3 span, #nav-icon4 span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #fff;
  border-radius: 0;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

#nav-icon1 span:nth-child(1) {
  top: 0px;
}

#nav-icon1 span:nth-child(2) {
  top: 10px;
}

#nav-icon1 span:nth-child(3) {
  top: 20px;
}

#nav-icon1.openstate span:nth-child(1) {
  top: 10px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}

#nav-icon1.openstate span:nth-child(3) {
  opacity: 0;
  left: -60px;
}

#nav-icon1.openstate span:nth-child(2) {
  top: 10px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index:99;
	background: linear-gradient(120deg, rgba(91,197,242,1) 1%,rgba(71,46,92,1) 56%,rgba(71,46,92,1) 56%);
	overflow-y: auto;
	overflow-x: hidden;
	padding: 80px 0;
	box-sizing: border-box;
}
	
.top_left_icon {
	position: absolute;
	width: 149px;
	height: 90px;
	top: 0;
	left: 0;
	z-index:1;
	background: url("../images/header-top-wave.svg") no-repeat top left;
	background-size: 149px;
}

/* Overlay closing cross */
.overlay .overlay-close {
	width: 80px;
	height: 80px;
	position: absolute;
	right: 20px;
	top: 20px;
	overflow: hidden;
	border: none;
	background: url(../img/cross.png) no-repeat center center;
	text-indent: 200%;
	color: transparent;
	outline: none;
	z-index: 100;
}

/* Menu style */
.overlay .nav_surround {
	width:100%;
	text-align:center;
	float:left;
	padding:10px 0 20px;
	height:auto;
	overflow-y:auto;
	box-sizing:border-box;
	display: block;
}

.overlay ul {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: inline-block;
	height: 100%;
	position: relative;
	width:100%;
}
.overlay ul li {
	display: block;
	/*height: 20%;
	height: calc(100% / 5);*/
	line-height:1.7;
	font-size:32px;
	width:100%;
	float:left;
	margin: 0;
}
.overlay ul li i {
	font-size:18px;
}
.overlay ul li ul {
	display: none;
	margin: 0 0 8px;
	float: left;
	width: 100%;
}
.overlay ul li a {
	display: block;
	color: #fff;
	-webkit-transition: color 0.2s;
	transition: color 0.2s;
	float:left;
	width:100%;
	text-decoration: none;
	padding: 0 5%;
	box-sizing: border-box;
	text-align: left;
	opacity: 0.8;
}
	
 .overlay ul li a {
	margin: 0 8%;
	border-bottom: 1px solid rgba(255,255,255,0.4);
	width: 84%;
	padding: 7px 0;
}
	
 .overlay ul li ul li a {
	border-bottom: none;
}
.overlay ul li ul li {
	margin-bottom: 0;
}
	
.overlay ul li ul li {
	font-size:26px;
}

.overlay ul li a:hover,
.overlay ul li a:focus {
	color: #5BC5F2;
}
.overlay ul li a.current-menu-item,
.overlay ul li a.current-menu-ancestor,
.overlay ul li a.current-page-ancestor {
	color: #fff;
	opacity: 1;
	text-decoration:none;
}

.overlay ul li ul.sub-menu li a.current-menu-item,
.overlay ul li.current-menu-ancestor ul.sub-menu li a,
.overlay ul li.current-page-ancestor ul.sub-menu li a {
	color: #5BC5F2;
	text-decoration:none;
}
	
.overlay ul li ul.sub-menu li a:hover,
.overlay ul li ul.sub-menu li.selected a,
.overlay ul li ul.sub-menu li.current_page_item a {
	color:#5BC5F2;
}

.overlay ul li ul.sub-menu li.selected a,
.overlay ul li ul.sub-menu li.current_page_item a {
	font-weight:400;
}

/* Effects */
.overlay {
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 0.5s, visibility 0s 0.5s;
	transition: opacity 0.5s, visibility 0s 0.5s;
}

.overlay.open {
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}

.overlay .nav_surround {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.overlay ul {
	opacity: 0.4;
	-webkit-transform: translateY(-25%) rotateX(35deg);
	transform: translateY(-25%) rotateX(35deg);
	-webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
	transition: transform 0.5s, opacity 0.5s;
}

.overlay.open ul {
	opacity: 1;
	-webkit-transform: rotateX(0deg);
	transform: rotateX(0deg);
}

.overlay.close ul {
	-webkit-transform: translateY(25%) rotateX(-35deg);
	transform: translateY(25%) rotateX(-35deg);
}
	
.overlay_links {
	width: 100%;
	float: left;
	padding: 20px 8%;
	color: #fff;
	box-sizing: border-box;
}
	
.overlay_links a {
	color:#fff;
}
	
.overlay_links p {
	font-size:21px;
}

.overlay_social {
	width: 100px;
	display: flex;
	flex-flow: row nowrap;
	list-style-type: none;
	align-items: center;
	float: left;
}

.overlay_social a {
	font-size: 24px;
	margin: 0 20px 0 0;
	color:#fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.overlay_social a:hover {
	color:#F4F4D5;
}
	
/*Menu*/	
.main_nav_surround {
	min-width: 0;
	width: 100%;
}
	
nav {
	display: none;
}	
	
.row {
	margin-top: 80px;
}	
	
p {
	font-size: 19px;
}
	
li {
font-size:19px;}
}

@media only screen and (max-width: 1023px) {	

a.openmenu {
	top:30px;
}	
	
header {
	background: none;
}
	
.section_inner.paddtop15 {
	padding-top: 10em;
}	
	
.main_nav_surround {
	display: none!important;
}
	
.hero_content_inner {
	width: 100%;
}
.hero_boxes.mob_show {
	width:80%;
	display: flex!important;
	margin: 80px 0 50px;
}
.hero_box.offset {
	top:-50px;
}
.hero_content ul {
	width: 100%;
}
.hero_content ul li p {
    width: 90%;
}
.hero_content {
	padding: 50px 0 80px;
}
	
.col-1.full,.col-2.full,.col-3.full,.col-4.full,.col-5.full,.col-6.full,.col-7.full,.col-8.full,.col-9.full,.col-10.full,.col-11.full,.col-12.full {
	width:100%;
}
	
.services_area.mob_show {
	width:100%;
	overflow-x: scroll;
}
.services_area_inner {
	width: auto;
	white-space:nowrap;
	padding-bottom: 30px;
}
.service_box {
	width:35%;
	margin-right: 3%;
	margin-bottom: 0;
	display: inline-block;
}
footer {
	background: url("../images/hero-wave-bg.svg") no-repeat bottom 0 right #472E5C;
	background-size: 50%;
}
.footer_col {
	margin-right: 0;
	width: 100%;
	margin-bottom: 20px;
	display: flex;
	justify-content: space-between;
	flex-flow: row wrap;
}
.contact_block {
	width: 48%;
	display: flex;
	margin: 0 0 20px;
	align-items: center;
}
.footer_col.large.col_marg1 {
	width: 100%;
	margin: 0;
}
	
.title56 {
	font-size: 38px !important;
}
.cta_bottom {
	min-height: 550px;
}
.cta_block p {
	font-size: 24px;
	padding: 0 0 5px;
	line-height: 1.2;
}
	
.grey_box {
	width: 100%;
	margin: 0 0 15px;
}
	
img.full_pic{
  width: 100%;
  margin: 0 0 50px;
}

.minusright5 {
	margin-right: -5%;
	position: relative;
}
	
.cta_bottom_inner{
  flex-flow: row wrap;
}
	
.team_area {
	justify-content: space-between;
}
	
.service_block{
  width: 48%;
}
	
.hero_content h1 br {
	display: none;
}
#mapholder{
	height: 300px;
}
	
.mail_signup {
	width: 100%;
}
	
footer {
  padding: 80px 5% 50px;
}
	
.footer_cols {
	flex-flow: row wrap;
}
	
.footer_col {
	margin-right: 0;
	width: 100%;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom:1px solid rgba(255,255,255,.4)
}
.footer_col.large {
	border-bottom:none;
	padding-bottom: 0;
	margin-bottom: 0;
}
	
.mob_show {
	display: block!important;
}

.mob_hide {
	display: none!important;
}
	
.marg30 {
	margin-bottom: 30px;
}
.form_area {
	padding: 15px 5%;
	margin: 30px 0 0;
}
	
}


/************************************************ Mobile ************************************************/

@media handheld, only screen and (max-width: 767px) {

#logo {
	width: 245px;
}
	
 a.openmenu {
    top: 28px;
}
	
section.intro {
	background: none;
}
	
.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12 {
	width:100%;
}
.col_marg1,.col_marg2,.col_marg3,.col_marg4,.col_marg5,.col_marg6 {
	margin-left:0;
}
	
section.nopaddleft,
section.nopaddright {
	padding-left: 5%;
	padding-right: 5%;
}
	
.row {
  margin-top: 40px;
}
	
ul.footer_social_icons {
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	list-style-type: none;
	justify-content: center;
	align-items: center;
	margin: 0 10% 0 0;
}
h1, h2, h3, h4, h5 {
  margin: 0 0 15px;
}
	
 .contact_block {
    width: 100%;
}
	
.grad_box.flex {
  padding: 50px 5%;
  flex-flow: row wrap;
}
	
.grad_box_inner {
  width: 90%;
  margin: 50px auto 20px;
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
}
	
.grad_item {
  width: 100%;
  text-align: center;
  margin: 0;
}
.grad_item:nth-child(2n) {
  margin: 50px 0;
}
	
.faq_list.inner p.large {
  width: 100%;
  font-size: 19px;
}
	
.section_inner.paddtop15 {
	padding-top: 6em;
}
	
.grey_boxes {
  margin: 50px 0 0;
}
	
.grad_box.topmarg {
  margin: 30px 0 0;
}
	
.grad_item p {
  font-size: 22px;
  padding: 0;
}
.reviews_slider {
  margin: 0 0 80px 0 !important;
}
	
.footer_col.large img {
	width: 100%;
	border-radius: 5px;
	margin: 0;
}
	
.footer_col h6, .contact_block h6 {
	font-size: 13px;
}
.contact_block p {
	font-size: 19px;
	padding: 0;
}
	
ul.footer_links li {
	font-size: 19px;
	margin: 0 0 5px 0;
	width: 48%;
}

}

@media handheld, only screen and (max-width: 600px) {

section {
	padding: 20px 8%;
}
section.intro {
	padding: 20px 8%;
}
section.nopaddleft, section.nopaddright {
	padding-left: 8%;
	padding-right: 8%;
}
	
h4 {
	font-size: 13px;
}
	
#logo {
	width: 220px;
}
	
.overlay ul li {
	font-size: 27px;
}
.overlay ul li ul li {
    margin-bottom: 0;
}
.overlay ul li ul li a {
    padding:0;
}
	
 .overlay_links {
    width: 100%;
    float: left;
    padding: 20px 8%;
    color: #fff;
  }
	
.hero_boxes.mob_show {
	width: 100%;
}
	
.hero_box {
	width: 50%;
	border-radius: 5px;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	box-shadow: 3px 4px 0 rgba(255, 255, 255, .7);
	margin-right: -2%;
}
.hero_box.offset {
	top: -50px;
	left: -2%;
}
.hero_box .gradient {
	font-size: 22px;
}
	
.service_box {
	width: 70%;
	margin-right: 3%;
	margin-bottom: 0;
	display: inline-block;
	white-space: wrap;
}	
	
.review_intro .col-6 {
	width: 100%;
}
.review_intro {
	margin: 0;
}
	
.gallery {
  width: 100%;
  display: flex;
  margin: 20px 0 30px;
}
	
.team_item {
	width: 100%;
	position: relative;
	margin-bottom: 50px;
}
.team_item:last-child {
	margin-bottom: 0;
}
	
.form_area {
	padding: 15px 5%;
}
	
.title45 {
	font-size: 34px !important;
}
.hero_content h1,
.hero_content h2 {
	font-size: 45px;
	text-align: center;
}
.hero_content ul li p {
	width: 80%;
}
.hero_content {
	padding: 50px 0;
}
	
.title80 {
  font-size: 50px !important;
}
.title60 {
	font-size:42px!important;
}
.title50 {
	font-size:36px!important;
}
.title35 {
	font-size:30px!important;
}
h1 {
	font-size:28px;
	line-height: 1.3;
}
h2.large {
	font-size:28px;
}
h2 {
	font-size:24px;
}
h3 {
	font-size:22px;
}
h5 {
	font-size:13px;
}
h6 {
	font-size:10px;
}
p {
	font-size:18px;
}
p.large {
	font-size: 26px;
}
.testimonials_block p{
  font-size: 18px;
}
.services_slider{
	margin: 0 0 40px !important;
}
	
.hero {
	min-height: 384px;
}
.hero.large{
	padding-bottom: 0;
}
	
.modal_left {
	flex-flow: row wrap;
}	
.modal.team-member .team-image{
  width: 100%;
}
.modal.team-member .modal-header, .modal.team-member .modal-body {
  padding: 30px 5%;
  width: 100%;
}
.service_block{
	width: 100%;
	}
	
.contact_form {
  width: 100%;
  padding: 40px 20px 20px;
}

footer {
	padding: 50px 5% 50px;
}
	
}

/* ========================================== */
/* ! Provide higher res assets for iPhone 4   */
/* ========================================== */

@media only screen and (-webkit-min-device-pixel-ratio: 2) { 


}