/*
Theme Name: GST by Evolution Design Agency 
Theme URI: http://evolutiondesign.com.au
Author: Evolution Design Agency
Author URI: http://evolutiondesign.com.au
Description: Responsive Bootstrap Theme
License: GNU General Public License v3.0 /
License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/

/* -------------------------------------------------------------- 
	WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter, div.aligncenter {
    display:block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float:left;
    margin: 5px 20px 20px 0;
}

.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

a img.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float:left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin:0;
    max-width: 98.5%;
    padding:0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size:0.8em;
    margin:5px 0 0 0;
}

.gallery:after {content:"";display:table;clear:both;}

img.aligncenter, div.aligncenter, figure.aligncenter, img.wp-post-image {display:block;}
img.alignright, div.alignright, figure.alignright {float:right; margin:1em 0 1em 2em;}
img.alignleft, div.alignleft, figure.alignleft, img.wp-post-image.attachment-thumb {float:left; margin:1em 1em 2em 0;}
figure {max-width: 100%; height: auto; margin:1em 0;}
p img.alignright, p img.alignleft {margin-top:0;}


.gallery figure img {max-width:100%; height:auto; margin:0 auto; display:block;}


.gallery figure {float:left; margin:0 2% 1em 0;}


.gallery.gallery-columns-1 figure {width:100%; margin:0 0 1em 0; float:none;}


.gallery.gallery-columns-3 figure {width:32%;}
.gallery.gallery-columns-3 figure:nth-of-type(3n+3) {margin-right:0;}
.gallery.gallery-columns-3 figure:nth-of-type(3n+4) {clear:left;}


.gallery.gallery-columns-2 figure {width:49%;}
.gallery.gallery-columns-2 figure:nth-of-type(even) {margin-right:0;}
.gallery.gallery-columns-2 figure:nth-of-type(odd) {clear:left;}


.gallery.gallery-columns-4 figure {width:23.25%;}
.gallery.gallery-columns-4 figure:nth-of-type(4n+4) {margin-right:0;}
.gallery.gallery-columns-4 figure:nth-of-type(4n+5) {clear:left;}


.gallery.gallery-columns-5 figure {width:18%;}
.gallery.gallery-columns-5 figure:nth-of-type(5n+5) {margin-right:0;}
.gallery.gallery-columns-5 figure:nth-of-type(5n+6) {clear:left;}


.gallery.gallery-columns-6 figure {width:14.2%;}
.gallery.gallery-columns-6 figure:nth-of-type(6n+6) {margin-right:0;}
.gallery.gallery-columns-6 figure:nth-of-type(6n+7) {clear:left;}


.gallery.gallery-columns-7 figure {width:12%;}
.gallery.gallery-columns-7 figure:nth-of-type(7n+7) {margin-right:0;}
.gallery.gallery-columns-7 figure:nth-of-type(7n+8) {clear:left;}


.gallery.gallery-columns-8 figure {width:10.2%;}
.gallery.gallery-columns-8 figure:nth-of-type(8n+8) {margin-right:0;}
.gallery.gallery-columns-8 figure:nth-of-type(8n+9) {clear:left;}


.gallery.gallery-columns-9 figure {width:8.85%;}
.gallery.gallery-columns-9 figure:nth-of-type(9n+9) {margin-right:0;}
.gallery.gallery-columns-9 figure:nth-of-type(9n+10) {clear:left;}


@media (max-width:767px) {
	img.alignright, div.alignright, figure.alignright, img.alignleft, div.alignleft, figure.alignleft, img.wp-post-image.attachment-thumb {display:block; margin:1em auto; float:none;}
	.gallery.gallery-columns-4 figure, .gallery.gallery-columns-5 figure, .gallery.gallery-columns-6 figure, .gallery.gallery-columns-7 figure, .gallery.gallery-columns-8 figure, .gallery.gallery-columns-9 figure {width:100%; margin:0 0 1em 0; float:none;}
}

/* -------------------------------------------------------------- 
	End WordPress Core
-------------------------------------------------------------- */


/* -------------------------------------------------------------- 
	Typography
-------------------------------------------------------------- */

body {
	font-family: 'Outfit', sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: #fff;
	background:#272d30;
}

h1 {
    font-size: 35px;
    font-weight: 700;
	margin-bottom: 20px;
}

h2 {
    font-size: 28px;
    font-weight: 7600;
	margin-bottom: 8px;
}

a, a:hover {
	color: #000000;
}

img {
	max-width: 100%;
}

b, strong {
	font-weight: 700;
}


/* -------------------------------------------------------------- 
	General Styling
-------------------------------------------------------------- */
html {
	scroll-behavior: smooth;
}

body {
	padding: 10px;
}

.container {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

.container-fluid {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
}

.fasc-button {
	color: #000000 !important;
	background-color: #aaaaaa !important;
	padding: 10px 30px !important;
	border-radius: 10px !important;
}

.search-result {
	margin-bottom: 25px;
	width: 100%;
	border-bottom: 1px solid rgba(0, 0, 0, 0.10);
    padding: 10px 0px;
}

@keyframes move-bg {
    to {
    	background-position: 200% 0;
    }
}

.btn .title {
	display:inline-block;
	background:rgba(255,255,255,0.10);
	height: 70px;
	line-height: 70px;
	text-align: center;
	padding:0 50px;
	border-radius:35px;
	color:#fff;
	text-align: center;
	text-decoration: none;
	position: relative;
	vertical-align: middle;
	transition:all 0.4s ease;
}

.btn:hover .title{
	text-decoration: none;
	color: #fff;
	background-color: #6f64ad;
	transition:all 0.4s ease;
}

.btn .arrow{
	width:70px;
	height:70px;
	border-radius:35px;
	background-image:url('images/arrow.svg');
	background-repeat: no-repeat;
	background-size: 21px;
	background-position:center;
	background-color:rgba(255,255,255,0.10);
	display:inline-block;
	vertical-align: middle;
	margin-left:10px;
	transition:all 0.4s ease;
}

.btn:hover .arrow{
	background-color: #6f64ad;
	transition:all 0.4s ease;
}

.btn.dark .title {
	border:1px solid #272d30;
	color:#272d30;
}

.btn.dark:hover .title{
	color:#ebe8f3;
	background:#272d30;
}

.btn.dark .arrow { 
	border:1px solid #272d30;
	background-image:url('images/arrow-dark.svg');
}

.btn.dark:hover .arrow {
	background-color: #272d30;
	background-image:url('images/arrow.svg');
}

.btn.bookbtn span {
	display: inline-block;
}

.btn.bookbtn .bg {
	background:linear-gradient(
	              90deg,
	              rgba(143, 212, 221, 1),
	              rgba(139, 89, 164, 1),
	              rgba(111, 100, 172, 1),
				  rgba(139, 89, 164, 1),
				  rgba(143, 212, 221, 1)
	            ) 0 0 / 200% 100%;
	padding:1px;
	border-radius:35px;
	
}

.btn.bookbtn:hover .bg {
	animation: move-bg 2s infinite linear;
}

.btn.bookbtn .bg:last-child {
	margin-left:10px;
}

.btn.bookbtn .title {
	background:#272d30;
}

.btn.bookbtn .arrow {
	background-color:#272d30;
	margin:0;
}


/* -------------------------------------------------------------- 
	Header & Navigation Styling
-------------------------------------------------------------- */

#header-wrapper {
	position: absolute;
	z-index:101;
	top:40px;
	left:0;
	right:0;
	width:100%;
	transition: all 0.6s ease-in-out;
	min-height: 80px;
	padding:15px 0;
}

.scroll #header-wrapper {
	position: fixed;
	top:0;
	padding:0;
}

#header-wrapper .container {
	min-height: 100px;
	background-color: rgba(235,232,243,0);
	transition: all 0.4s ease-in-out;
}

.scroll #header-wrapper .container {
	border-bottom-left-radius: 40px;
	border-bottom-right-radius: 40px;
	padding-top:15px;
	padding-bottom:15px;
	background-color: rgba(235,232,243,1);
	transition: all 0.4s ease-in-out;
}

.scroll #header-wrapper #header-logo img {
	height:60px;
}

.scroll #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
	line-height: 60px;
    height: 60px;

}

.scroll #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
	color:#fff !important;
}

#header-menu-wrapper {
	width:100%;
}

#header-logo {
	display:none;
}

#mega-menu-wrap-primary #mega-menu-primary li > a.mega-menu-link {
	padding: 0 40px !important;
	color: #ebe8f3 !important;
	transition: all 0.6s ease-in-out;
}

#mega-menu-wrap-primary #mega-menu-primary > li.book {
	border-radius:42px;
	background: #272d30;
	padding: 1px;
	transition: all 0.4s ease;
}

#mega-menu-wrap-primary #mega-menu-primary > li.book:hover {
	background:linear-gradient(
	              90deg,
	              rgba(143, 212, 221, 1),
	              rgba(139, 89, 164, 1),
	              rgba(111, 100, 172, 1),
				  rgba(139, 89, 164, 1),
				  rgba(143, 212, 221, 1)
	            ) 0 0 / 200% 100%;
	animation: move-bg 2.5s infinite linear;
	transition: all 0.4s ease;
}

#mega-menu-primary {
	margin-top: 70px !important;
	background:#272d30 !important;
	border-radius: 40px !important;
	padding:40px 0 !important;
}

.scroll #mega-menu-primary{
	margin-top: 45px !important;
}

.mega-toggle-block button {
	margin-top:30px !important;
}

#header-menu-wrapper img {
	height: 75px;
}

/* -------------------------------------------------------------- 
	Whole Page Search Styling
-------------------------------------------------------------- */
#header-desktop-search-wrapper { 
	display: none; 
}
	
span.dashicons.dashicons-search.search-icon {
	display: none;
}

.search-btn {
	display: flex;
	align-items: center;
	text-align: center;
	cursor: pointer;
    position: absolute;
    right: 0;
    top: 63px;
}

.search-btn span {
	color: #000000;
	font-size: 18px;
}

.home.scroll .search-btn span { 
	color: #000000;
}

.search-overlay {
	position: fixed;
	height: 0px;
	width: 0px;
	border-radius: 100%;
	background: linear-gradient(to right, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 100%);
	transition: all 0.4s linear;
}

.search-overlay.active {
	height: 4000px;
	width: 4000px;
	z-index: 99;
}

.close-btn {
	position: fixed;
	z-index: 999;
	right: 25px;
	top: 25px;
	font-size: 20px;
	color: #000000;
	cursor: pointer;
}

.search-overlay, .search-data {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.search-data {
	position: absolute;
	width: 400px;
	display: flex;
	text-align: center;
}

.search-data input {
	height: 100%;
	width: 100%;
	background: none;
	border: none;
	outline: none;
	font-size: 22px;
	font-weight: 500;
}

.search-data .line {
	position: absolute;
	height: 3px;
	width: 100%;
	background: #000000;
	bottom: 0;
	transform: scaleX(0);
	transition: transform 0.4s 0.3s linear;
}

.search-data .line.active {
	transform: scaleX(1);
}

.search-data label {
	position: absolute;
	top: 50%;
	left: 0;
	font-size: 20px;
	transform: translateY(-50%);
	pointer-events: none;
	color: rgba(255,255,255,0.7);
}

.search-data input:valid ~ label {
	opacity: 0;
}

.search-data span {
	color: #000000;
	position: absolute;
	width: 50px;
	font-size: 22px;
	right: 0;
	top: 0;
	cursor: pointer;
}

.search-data button {
	position: absolute;
	width: 50px;
	height: 50px;
	background-color: transparent;
	right: 0;
	top: 0;
	line-height: 45px;
	cursor: pointer;
	border: none;
	outline: none;
} 

.search-data, .search-data span,
.search-data label, .close-btn {
	display: none;
}


input:-internal-autofill-selected {
	background-color: #ffffff;
}

/* -------------------------------------------------------------- 
	Homepage Styling
-------------------------------------------------------------- */

#home-banner-wrapper {
	min-height: calc(100vh - 30px);
	height: 100%;
	border-radius: 40px;
	background: linear-gradient(45deg,  rgba(143,212,221,1) 10%,rgba(111,100,172,1) 50%,rgba(139,89,164,1) 90%);
	position: relative;
	overflow:hidden;
	padding-bottom: 90px;
	display:flex;
	flex-direction: column;
    justify-content: center;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
	position: relative;
	padding-top: 140px;
}

#home-banner-wrapper:after {
	content:"";
	background-image:url("images/texture.webp");
	background-repeat: no-repeat;
	background-size: cover;
	opacity:0.25;
	display:block;
	width:100%;
	height:100%;
	position: absolute;
	top:0;
	left:0;
	right:0;
	mix-blend-mode:color-burn;
}

#home-banner-wrapper .container {
	z-index:99;
	height: 100%;
	flex-direction: column;
    align-items: center;
	flex-grow: 1;
}

#home-banner-wrapper .video-wrapper {
	width: 100%;
	height: 270px;
	overflow:hidden;
	position: relative;
}

#home-banner-wrapper .video-bg {
	position: absolute;
	bottom:0;
	margin-bottom: 70px;
	z-index:99;
	overflow: hidden;
	width: 101%;
	aspect-ratio: 16/9;
	pointer-events: none;
}

#home-banner-wrapper .video-bg iframe {
	width: 300%;
	height: 100%;
	margin-left: -100%;
}

#home-banner-wrapper .video-bg:before {
	content:"";
	display:block;
	width: 100%;
	height: 100%;
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	left:0;
	background-color: rgba(0,0,0,0.5);
	box-shadow: inset 0px 0px 40px rgba(0, 0, 0, 0.50);
}

#home-banner-wrapper h1 {
	font-size:22px;
	line-height: 120%;
	width: 100%;
	text-align: center;
	max-width: 1000px;
	margin:0 auto;
	position: absolute;
	bottom:30px;
	left:0;
	right:0;
	z-index:1;
}

#home-banner-wrapper h2 {
	width: 100%;
	text-align: center;
	font-size: 18px;
	line-height: 120%;
	max-width: 1000px;
	margin:0 auto 70px;
}

#home-banner-wrapper .book {
	margin-top:220px;
	width:100%;
	background: #272d30;
	border-radius:52px;
	display:flex;
	align-items: center;
    justify-content: space-between;
	padding:15px;
	flex-wrap:wrap;
}

#home-banner-wrapper .book h3 {
	font-size:24px;
	margin-bottom: 24px;
	width:100%;
	text-align: center;
}

#home-banner-wrapper .book a {
	margin:0 auto;
}

#home-main-wrapper {
	background: #ebe8f3;
	margin:30px 0;
	border-radius: 40px;
	padding:150px 0;
}

#home-main-wrapper h2 {
	width: 100%;
	color: #272d30;
	font-size: 36px;
	font-weight:800;
	line-height: 100%;
}

#home-main-wrapper h2 span {
	background:linear-gradient(
	              90deg,
	              rgba(143, 212, 221, 1),
	              rgba(139, 89, 164, 1),
	              rgba(111, 100, 172, 1),
				  rgba(139, 89, 164, 1),
				  rgba(143, 212, 221, 1)
	            ) 0 0 / 200% 100%;
	animation: move-bg 6s infinite linear;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

#home-main-wrapper .copy {
	margin-top: 50px;
}

#home-main-wrapper h3 {
	font-size: 24px;
	margin-bottom: 35px;
	line-height: 100%;
	font-weight: 700;
	background: linear-gradient(to right,  rgba(143,212,221,1) 10%,rgba(111,100,172,1) 50%,rgba(139,89,164,1) 90%);
	-webkit-background-clip: text;
  	background-clip: text;
  	-webkit-text-fill-color: transparent;
  	color: transparent;
}

#home-main-wrapper p, #home-main-wrapper li {
	color: #272d30;
	line-height: 150%;
}

 #home-main-wrapper li {
	margin-bottom: 10px;
 }

#home-main-wrapper h5 {
	width:100%;
	margin:0 auto 150px;
	text-align: center;
	position: relative;
}

#home-main-wrapper h5:after {
	content:"";
	height: 1px;
	width:100%;
	background-color: #272d30;
	position: absolute;
	top:34px;
	left:0;
	right:0;
	z-index:1;
}

#home-main-wrapper h5 span {
	background: #272d30;
	height: 70px;
	line-height: 70px;
	display: inline-block;
	max-width:470px;
	width: 100%;
	border-radius: 45px;
	text-align: center;
	position: relative;
	z-index:2;
	font-size: 36px;
}

#home-main-wrapper .btn {
	margin:120px auto 0;
}

#home-main-wrapper .container {
	align-items: center;
}

#home-main-wrapper .additional {
	padding:42px 0 0;
	width:100%;
	display:flex;
	flex-direction: row;
    flex-wrap: wrap;
	justify-content: space-between;
}

#home-main-wrapper .additional .section {
	width: 100%;
	margin-bottom: 30px;
}

#home-services {
	margin:30px 0;
	padding:150px 0;
}

#home-services h5 {
	width:100%;
	margin:0 auto 150px;
	text-align: center;
	position: relative;
}

#home-services h5:after {
	content:"";
	height: 1px;
	width:100%;
	background-color: #ebe8f3;
	position: absolute;
	top:34px;
	left:0;
	right:0;
	z-index:1;
}

#home-services h5 span {
	background: #ebe8f3;
	color:#272d30;
	height: 70px;
	line-height: 70px;
	display: inline-block;
	max-width:470px;
	width: 100%;
	border-radius: 45px;
	text-align: center;
	position: relative;
	z-index:2;
	font-size: 36px;
}

#home-services .service {
	display:flex;
	justify-content: space-between;
    align-items: center;
	flex-wrap: wrap;
	margin-bottom: 100px;
}

#home-services .number {
	width: 100%;
	max-width: max-content;
	font-size: 120px;
	font-weight: 700;
	color: #272d30;
	background:linear-gradient(
	              90deg,
	              rgba(143, 212, 221, 1),
	              rgba(139, 89, 164, 1),
	              rgba(111, 100, 172, 1),
				  rgba(139, 89, 164, 1),
				  rgba(143, 212, 221, 1)
	            ) 0 0 / 200% 100%;
	animation: move-bg 6s infinite linear;
	line-height: 100%;
	-webkit-background-clip: text;
    -webkit-text-stroke: 4px transparent;
}

#home-services .info {
	width: 100%;
}

#home-services .info h3 {
	font-size:30px;
	font-weight: 700;
}

#home-services .info h4 {
	font-size:24px;
	font-weight: 700;
	background: linear-gradient(to right,  rgba(143,212,221,1) 10%,rgba(111,100,172,1) 50%,rgba(139,89,164,1) 90%);
	-webkit-background-clip: text;
  	background-clip: text;
  	-webkit-text-fill-color: transparent;
  	color: transparent;
}

#home-services .btn {
	margin:50px auto 0;
}

#home-contact {
	background: rgb(235,232,243,0.05);
	border-radius:30px;
	display:flex;
	flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

#home-contact .details {
	width: 100%;
	padding: 60px 24px 0 20px;
}

#home-contact .details h3 {
	color:#ebe8f3;
	font-size:21px;
	line-height:120%;
}

#home-contact .details p, #home-contact .details a {
	width: 100%;
	height: 70px;
	line-height: 100%;
	border-radius:35px;
	border:1px solid #ebe8f3;	
	text-align: center;
	font-size: 18px;
	display:flex;
	justify-content: center;
    align-items: center;
	margin:50px 0;
}

#home-contact .details p, #home-contact .details a {
	color:#ebe8f3;
	text-decoration: none;
	display: flex;
	transition:all 0.4s ease-in-out;
}

#home-contact .details a:hover {
	color:#272d30;
	background-color: #ebe8f3;
	transition:all 0.4s ease-in-out;
}

#home-contact .details .social-wrap {
	display: flex;
	justify-content: space-between;
}

#home-contact .details .social {
	display: inline-block;
	background: #ebe8f3;
	width:48%;
	margin-top:0;
	display:flex;
}

#home-contact .details .social img {
	height: 30px;
	transition:all 0.4s ease;
	transform: scale(1);
}

#home-contact .details .social:hover img {
	transform:scale(1.1);
	transition:all 0.4s ease;
}

#home-contact .form {
	background: rgb(235,232,243,1);
	border-radius:30px;
	height: 100%;
	width: 100%;
	padding: 60px 24px;
}

#home-contact .form h2 {
	font-size: 42px;
	color:#272d30;
	font-weight:900;
	line-height: 120%;
	margin-bottom:24px;
}

#home-contact .form h2 span {
	background:linear-gradient(
	              90deg,
	              rgba(143, 212, 221, 1),
	              rgba(139, 89, 164, 1),
	              rgba(111, 100, 172, 1),
				  rgba(139, 89, 164, 1),
				  rgba(143, 212, 221, 1)
	            ) 0 0 / 200% 100%;
	animation: move-bg 6s infinite linear;
	-webkit-background-clip: text;
  	background-clip: text;
  	-webkit-text-fill-color: transparent;
  	color: transparent;
}

#home-contact .form ul {
	display:flex;
	justify-content: space-between;
}

#home-contact .form ul li {
	width: 48%;
}

#home-contact .form ul li label {
	border:1px solid #272d30;
	height: 70px;
	width: 100%;
	color:#272d30;
	border-radius: 35px;
	margin:0!important;
	text-align: center;
	display: flex;
	align-items: center;
    justify-content: center;
}

#home-contact .form input, 
#home-contact .form textarea {
	border:none;
	border-bottom:1px solid #272d30;
	background:none;
	height: 50px;
	padding:12px 0;
	color:#272d30;
}

#home-contact .form ::placeholder {
	color:#272d30;
}

#home-contact .form input[type=radio] {
	height: 0px;
	width: 0px;
}

#home-contact .form ul li label:before,
#home-contact .form ul li label:after {
	display:none !important;
}

#home-contact .form input.nf-checked ~ label {
	background-color: #272d30;
	color:#ebe8f3;
}

#home-contact .form .nf-form-fields-required {
	display:none;
}

#home-contact .form .nf-label-span {
	font-size:24px;
	color:#6f64ad;
	font-weight:700;
	margin: 50px 0 !important;
}

#home-contact .form input[type="submit"] {
	background: #272d30;
	color:#ebe8f3;
	border-radius:35px;
	height: 70px;
	width: 230px;
	padding:0 90px;
}

#home-contact .form .submit-wrap .nf-field-element {
	padding-right: 80px;
	position:relative;
	width:310px;
	margin:0 auto;
}

#home-contact .form .submit-wrap .nf-field-element:after {
	content:"";
	background-image:url("images/arrow-dark.svg");
	background-repeat: no-repeat;
    background-size: 21px;
    background-position: center;
	display:block;
	width: 70px;
	height: 70px;
	border:1px solid; 
	border:1px solid #272d30;
	position:absolute;
	right:0;
	top:0;
	border-radius: 35px;
}

/* -------------------------------------------------------------- 
	Internal Pages Styling
-------------------------------------------------------------- */

#banner-wrapper {
	border-radius: 40px;
	background: linear-gradient(45deg,  rgba(143,212,221,1) 10%,rgba(111,100,172,1) 50%,rgba(139,89,164,1) 90%);
	position: relative;
	overflow:hidden;
	padding: 65px 0;
	display:flex;
	flex-direction: column;
    justify-content: center;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
}

#banner-wrapper:after {
	content:"";
	background-image:url("images/texture.webp");
	background-repeat: no-repeat;
	background-size: cover;
	opacity:0.25;
	display:block;
	width:100%;
	height:100%;
	position: absolute;
	top:0;
	left:0;
	right:0;
	mix-blend-mode:color-burn;
}

#page-wrapper {
	width: 100%;
	background: #ebe8f3;
    margin: 30px 0;
    border-radius: 40px;
    padding: 100px 0;
	color: #272d30;
}

#page-wrapper h1 {
	width: 100%;
    margin: 0 auto 60px;
    text-align: center;
    position: relative;
}

#page-wrapper h1 span {
	background: #272d30;
	color:#fff;
    height: 70px;
    line-height: 70px;
    display: inline-block;
    max-width: 470px;
    width: 100%;
    border-radius: 45px;
    text-align: center;
    position: relative;
    z-index: 2;
    font-size: 36px;
}

#page-wrapper h1:after {
	content: "";
    height: 1px;
    width: 100%;
    background-color: #272d30;
    position: absolute;
    top: 34px;
    left: 0;
    right: 0;
    z-index: 1;
}
 
#page-header {
	width: 100%;
}

#page-content {
	width: 100%;
}

#page-wrapper.service-page {
	margin-bottom:0;
	position: relative;
	z-index:99;
}

#page-services {
	background: #31373A;
	margin-top:-40px;
	padding:100px 15px;
	border-bottom-left-radius: 40px;
	border-bottom-right-radius: 40px;
	position: relative;
	z-index: 2;
}

#page-services h2 {
	width:100%;
	text-align: center;
	border-bottom: 1px solid #fff;
	padding-bottom: 25px;
	margin-bottom: 30px;
}

#page-services .service {
	border-radius: 40px;
	padding:24px 0px;
	width:100%;
	margin-bottom: 30px;
	position: relative;
}

#page-services .service .number {
	width: 100%;
	max-width: max-content;
	font-size: 36px;
	font-weight: 700;
	color: #31373A;
	background:linear-gradient(
	              90deg,
	              rgba(143, 212, 221, 1),
	              rgba(139, 89, 164, 1),
	              rgba(111, 100, 172, 1),
				  rgba(139, 89, 164, 1),
				  rgba(143, 212, 221, 1)
	            ) 0 0 / 200% 100%;
	animation: move-bg 6s infinite linear;
	line-height: 100%;
	-webkit-background-clip: text;
    -webkit-text-stroke: 2px transparent;
}

#page-services .service.assessment h3 {
	display:inline-block
}

#page-services .service .info {
	position: relative;
	z-index:1;
} 

#page-services .service .info h3 {
	font-size: 24px;
	line-height: 110%;
	margin: 15px 0 30px;
}

#page-services .service .info h4 {
	font-size: 21px;
	line-height: 120%;
	margin:24px 0;
}

#page-services .service .img {
	height: 170px;
	overflow:hidden;
	margin-bottom: 15px;
	position: relative;
}

#page-services .service img {
	position: absolute;
	bottom:0;
	left:0;
	right:0;
}

#page-services .solution {
	margin-bottom: 60px;
}

#page-services .solution h2 {
	border-bottom: 1px solid #fff;
	padding-bottom: 15px;
	margin-bottom: 30px;
}

#page-services .sequence{
	width:100%;
	display:flex;
	flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
}

#page-services .sequence .service{
	text-align: center;
	width:100%;
}

#assess-additional {
	background-color: #ebe8f3;
    padding: 100px 15px;
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
	color:#212529;
	position: relative;
	z-index:1;
	text-align: center;
	margin:-40px auto 0;
}

#assess-additional h2 {
	width: 100%;
}

#assess-additional p {
	width:100%;
}

#assess-additional ul {
	display: flex;
	flex-direction: row;
    justify-content: flex-start;
	flex-wrap: wrap;
	margin:0;
	padding:0;
	list-style: none;
}

#assess-additional ul li {
	margin:15px 10px;
	text-align: center;
	width: 43%;
}

#assess-additional img {
	text-align: center;
	margin:60px auto 0;
}

#contact-details {
	width: 100%;
}

#contact-form {
	width: 100%;
}

#contact-form ul {
	display:flex;
	justify-content: space-between;
}

#contact-form ul li {
	width: 48%;
}

#contact-form ul li label {
	border:1px solid #272d30;
	height: 70px;
	width: 100%;
	color:#272d30;
	border-radius: 35px;
	margin:0!important;
	text-align: center;
	display: flex;
	align-items: center;
    justify-content: center;
}

#contact-form input, 
#contact-form textarea {
	border:none;
	border-bottom:1px solid #272d30;
	background:none;
	height: 50px;
	padding:12px 0;
	color:#272d30;
}

#contact-form ::placeholder {
	color:#272d30;
}

#contact-form input[type=radio] {
	height: 0px;
	width: 0px;
}

#contact-form ul li label:before,
#contact-form ul li label:after {
	display:none !important;
}

#contact-form input.nf-checked ~ label {
	background-color: #272d30;
	color:#ebe8f3;
}

#contact-form .nf-form-fields-required {
	display:none;
}

#contact-form .nf-label-span {
	font-size:24px;
	color:#6f64ad;
	font-weight:700;
	margin: 50px 0 !important;
}

#contact-form input[type="submit"] {
	background: #272d30;
	color:#ebe8f3;
	border-radius:35px;
	height: 70px;
	width: 230px;
	padding:0 90px;
}

#contact-form .submit-wrap .nf-field-element {
	padding-right: 80px;
	position:relative;
	width:310px;
	margin:0 auto;
}

#contact-form .submit-wrap .nf-field-element:after {
	content:"";
	background-image:url("images/arrow-dark.svg");
	background-repeat: no-repeat;
    background-size: 21px;
    background-position: center;
	display:block;
	width: 70px;
	height: 70px;
	border:1px solid; 
	border:1px solid #272d30;
	position:absolute;
	right:0;
	top:0;
	border-radius: 35px;
}

#contact-map {
	width: 100%;
	border-radius: 40px;
	overflow:hidden;
	height: 420px;
}

#team .member {
	display:flex;
	justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
}

#team .member .image {
	width:100%;
	height: auto;
}

#team .member .bio {
	width:100%;
}

#team .member .bio h3 {
	margin-bottom: 42px;
}

/* -------------------------------------------------------------- 
	Footer Styling
-------------------------------------------------------------- */

#footer-wrapper {
	padding-top:175px;
}

#footer-wrapper .footer-logo {
	width:100%;
	text-align: center;
	padding: 60px 0;
	border-bottom: 1px solid rgba(255,255,255,0.5);
}

#footer-wrapper .blurb {
	width: 100%;
}

#footer-wrapper .blurb h6 {
	font-size: 36px;
	color:#fff;
	font-weight:900;
	text-align: center;
	line-height: 100%;
}

#footer-wrapper .blurb h6 span {
	background: linear-gradient(to right,  rgba(143,212,221,1) 10%,rgba(111,100,172,1) 50%,rgba(139,89,164,1) 90%);
	-webkit-background-clip: text;
  	background-clip: text;
  	-webkit-text-fill-color: transparent;
  	color: transparent;
}

#footer-menu-wrapper {
	width:100%;
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
	max-width: 1080px;
	margin: 100px auto 0;
}

#footer-menu-wrapper ul {
	list-style: none;
	margin:0;
	padding:0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	width:100%;
}

#footer-menu-wrapper ul li {
	width: 100%;
	height: 70px;
	display: flex;
	background: linear-gradient(90deg, rgba(143, 212, 221, 1), rgba(139, 89, 164, 1), rgba(111, 100, 172, 1), rgba(139, 89, 164, 1), rgba(143, 212, 221, 1)) 0 0 / 200% 100%;
    padding: 1px;
    border-radius: 35px;
	margin-bottom: 30px;
}

#footer-menu-wrapper ul li:hover {
	animation: move-bg 2s infinite linear;
}

#footer-menu-wrapper ul li a {
	background: #272d30;
	display:block;
	width: 100%;
	height: 100%;
	color:#ebe8f3;
	border-radius: 35px;
	display: flex;
	text-align: center;
    justify-content: center;
    align-items: center;
	line-height: 100%;
}

#footer-menu-wrapper ul li a:hover {
	text-decoration: none;
}

#footer-menu-wrapper .social {
	width: 100%;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}

#footer-menu-wrapper .social a {
	margin-bottom: 30px;
	width:48%;
	height: 70px;
	background: linear-gradient(90deg, rgba(143, 212, 221, 1), rgba(139, 89, 164, 1), rgba(111, 100, 172, 1), rgba(139, 89, 164, 1), rgba(143, 212, 221, 1)) 0 0 / 200% 100%;
	border-radius:35px;
	display: flex;
    align-items: center;
    justify-content: center;
}

#footer-menu-wrapper .social a img {
	height: 30px;
}

#footer-menu-wrapper .social a:hover {
	animation: move-bg 2s infinite linear;
}

#footer-credits-wrapper {
	padding: 60px 0 30px;
	text-align: center;
	width:100%;
	color:rgba(255,255,255,0.5);
}

#footer-credits-wrapper a {
	color:rgba(255,255,255,0.5);
}

/* -------------------------------------------------------------- 
	Mobile First Media Queries
-------------------------------------------------------------- */

@media all and (min-width:576px) {
	
	.container {
		max-width: 540px;
	}

	.btn .title {
		padding:0 80px;
	}	

	#page-services .sequence .service {
		width: 48%;
	}

	#footer-menu-wrapper ul li {
		width: 48%;
	}

	#footer-menu-wrapper .social a {
		width: 48%;
	}
}

@media all and (min-width:768px) {
	body {
		padding: 24px;
	}

	.container {
		max-width: 720px;
		padding-right: 15px;
		padding-left: 15px;
	}

	#home-banner-wrapper {
		min-height: calc(100vh - 48px); 
	}

	#home-banner-wrapper .video-wrapper {
		height: 360px;
	}

	#home-banner-wrapper h1 {
		font-size:50px;
	}

	#home-banner-wrapper h2 {
		font-size: 26px;
	}

	#home-banner-wrapper .book h3 {
		width:50%;
	}

	#home-banner-wrapper .book a {
		margin:0;
	}

	#header-wrapper {
		top:42px;
	}

	#header-wrapper #header-logo img {
		height: 100px;
		width:auto;
	}

	#home-banner-wrapper .book h3 {
		margin-bottom: 0;
	}

	#banner-wrapper {
		padding: 80px 0;
	}

	#home-main-wrapper .additional .section {
		width: 48%;
	}

	#home-contact .form h2 {
		font-size: 64px;
	}

	#page-services .service {
		width: 48%;
		padding: 24px;
	}

	#team .member .image {
		width:32%;
	}

	#team .member .bio {
		width: 66%;
	}

	#assess-additional ul li {
		width: 30%;
	}

	#footer-menu-wrapper {
		flex-wrap: nowrap;
	}

	#footer-menu-wrapper ul {
		width:74%;
	}

	#footer-menu-wrapper .social {
		width: 29%;
		padding-left:1%;
	}

	#footer-menu-wrapper .social a {
		width: 100%;
	}
	
}

@media all and (min-width:992px) {
	body {
		padding:30px;
	}

	.container {
		max-width: 960px;
		padding-left:30px;
		padding-right:30px;
	}

	#header-logo {
		display:block;
	}

	#home-banner-wrapper {
		min-height: calc(100vh - 60px); 
	}

	#header-menu-wrapper {
		width:75%;
	}

	#mega-menu-primary {
		margin-top: 0 !important;
		background:transparent !important;
		padding:0 !important;
	}

	#mega-menu-wrap-primary #mega-menu-primary li > a.mega-menu-link {
		padding: 0 10px !important;
	}

	#header-wrapper {
		top:42px;
	}

	#header-wrapper #header-logo img {
    	height: 100px;
	}

	.scroll #header-wrapper #header-logo img {
    	height: 60px;
	}
	
	.scroll #mega-menu-wrap-primary #mega-menu-primary li > a.mega-menu-link {
		color:#272d30 !important;
	}

	.scroll #mega-menu-wrap-primary #mega-menu-primary li#mega-menu-item-93 > a.mega-menu-link {
        color: #ebe8f3 !important;
	}

	.scroll #mega-menu-primary {
    	margin-top: 0 !important;
	}	

	#header-desktop-search-wrapper { 
		display: block; 
	}

	#mega-menu-wrap-primary #mega-menu-primary li#mega-menu-item-93 > a.mega-menu-link {
		color: #ebe8f3 !important;
		transition: all 0.6s ease-in-out;
	}
		
	.mega-search.mega-search-closed input[type=text] {
		display: none;
	}

	.mega-search.mega-search-open input[type=text] {
		display: none;
	}

	#home-banner-wrapper .video-wrapper {
		height: 480px;
	}

	#home-banner-wrapper h1 {
		font-size:70px;
	}

	#home-banner-wrapper h2 {
		font-size: 30px;
	}

	#home-main-wrapper h2 {
		width: 48%;
		font-size: 70px;
	}

	#home-main-wrapper .copy {
		width: 48%;
	}

	#banner-wrapper {
		padding: 72px 0;
	}

	#home-contact .details {
		width: 39%;
		padding: 200px 75px 0 40px;
	}

	#home-contact .details h3 {
		font-size:30px;
	}

	#home-contact .form {
		height: 100%;
		width: 59%;
		padding: 115px 100px;
	}

	#home-contact .form h2 {
		font-size: 70px;
	}
	
	#contact-details {
		width: 49%;
	}

	#contact-form {
		width: 49%;
	}

	#home-services .number {
		width: 42%;
		font-size: 235px;
	}

	#home-services .info {
		width: 58%;
	}

	#page-services .solution {
		width: 48%;
	}

	#page-services .sequence .service {
		width: 32%;
	}

	#assess-additional ul li {
		width: 15%;
	}

	#footer-wrapper .blurb h6 {
		font-size: 50px;
	}

}

@media all and (min-width:1200px) {
	.container {
		max-width: 1140px;
	}

	#mega-menu-wrap-primary #mega-menu-primary li > a.mega-menu-link {
		padding: 0 20px !important;
	}

	#home-banner-wrapper .video-wrapper {
		height: 540px;
	}

	#home-services .number {
		width: 32%;
	}

	#home-services .info {
		width: 67%;
	}
}

@media all and (min-width:1366px) {
	.container {
		max-width: 1300px;
	}

	#mega-menu-wrap-primary #mega-menu-primary li > a.mega-menu-link {
		padding: 0 25px !important;
	}

	#mega-menu-wrap-primary #mega-menu-primary > li:last-child > a.mega-menu-link {
		padding: 0 54px !important;
	}

	#header-menu-wrapper {
		width:76%;
	}

	#home-services .number {
		width: 25%;
	}

	#home-services .info {
		width: 72%;
	}
}


/* -------------------------------------------------------------- 
	End Mobile First Media Queries
-------------------------------------------------------------- */
