/* Extended CSS Styles */

/* Text */

body, .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-family: 'Nunito Sans', sans-serif;
	color: #4889EA;
}

body, p {
	font-size: 16px;
	line-height: 28px;
}

h1 {
	font-weight: 700;
	font-size: 48px;
	line-height: 56px;
}

h2 {
	font-weight: 400;
	font-size: 50px;
	line-height: 68px;
	margin: 0;
}

h3 {
	font-weight: 300;
	font-size: 24px;
	line-height: 33px;
	margin: 0;
}

h4 {
	font-weight: 300;
	font-size: 18px;
	line-height: 21px;
	margin: 0;
}

.special {
	font-family: 'Quicksand', sans-serif;
	font-weight: 700;
}

ul {
	list-style: none;
}

a:hover {
	color: #4889EA;
	transition: background-color .25s ease-out,color .25s ease-out;
}

a:focus,
button:focus,
.slick-slide:focus {
	outline: none;
	cursor: pointer;
}

/* Layout */

.section-container.add-padding {
	padding-top: 60px;
}

.section {
	padding: 100px 0;
}

.section-x {
	padding: 150px 0;
}

h2.section-title {
	text-align: center;
	margin-bottom: 80px;
}

h3.section-title {
	margin-bottom: 20px;
}

.centralise-content {
	display: flex;
    justify-content: center;
    align-items: center;
}

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

/* Buttons & Links */

.button,
.wpcf7-submit {
	background: #A046D9;
	border-radius: 10px;
	color: #FFFFFF;
    font-weight: 700;
    min-width: 90px;
    text-align: center;
    padding: 16px 42px;
    margin: 0;
}

.button.white {
	background: #FFFFFF;
	color: #4889EA;
}

.button.white:hover {
	background-color: #A046D9;
	color: #ffffff!important;
}

.button.outline {
	background: none;
	border: 1px solid #FFFFFF;
}
.button.full {
	width: 100%;
}

/* Preloader */

.preloader {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 9999;
   background: transparent linear-gradient(60deg, #A046D9 0%, #4889EA 100%) 0% 0% no-repeat;
}

.preloader-content {
	height: 100%;
}

.preloader h1 {
	color: #FFFFFF;
	text-align: center;
	margin-bottom: 50px;
}

.progress {
	background: #FFFFFF;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    display: flex;
    height: 4px;
    width: 500px;
}

.progress-value {
   	animation: load 10s normal forwards;
    box-shadow: 0 10px 40px -10px #fff;
    background: #B2B2B2;
    height: 4px;
    width: 0;
}

@keyframes load {
  0% { width: 0; }
  100% { width: 98%; }
}

/* Header */

header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
	padding: 40px 0;
	background: transparent linear-gradient(71deg, #A046D9 0%, #4889EA 100%) 0% 0% no-repeat padding-box;
}

header .logo {
	float: left;
	max-width: 130px;
}

header a {
  	color: #fff;
  	font-size: 16px;
  	margin-top: 5px;
}

header .button a {
	padding: 5px!important;
    color: #5a7ee7;
    margin: 0;
}

header .button.white:hover a {
	color: #ffffff;
}

header .menu {
	float: right;
}

.menu li a:hover {
  	color: #4889EA;
}

.menu li:last-child a {
	padding-right: 0;
}

.mobile-menu {
	display: none;
}

.slide-menu {
	display: none;
	float: left;
    width: 100%;
    background-color: #4889EA;
    padding: 60px 0;
    position: absolute;
    top: 100px;
    z-index: 99;
}

.slide-menu nav ul > li {
	width: 100%;
	text-align: center;
}

/* Footer */

footer {
	background: transparent linear-gradient(230deg, #00AAFF 0%, #EA00D4 100%) 0% 0% no-repeat padding-box;
	padding: 60px 0;
}

footer a,
footer p {
	color: #FFFFFF;
	font-size: 14px;
}

footer .menu {
	border-top: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	margin: 20px 0;
}

footer .menu li {
	width: 14%;
	text-align: center;
	padding: 40px 0;
}

footer .menu li a {
	padding: .7rem 0;
}

footer .social {
	display: inline-flex;
	margin: 0;
    float: right;
}

footer .social li a {
	padding-left: 40px;
	font-size: 32px;
}

/* Home */

#hero {
	position: relative;
    height: 90vh;
    background-size: cover!important;
}

#hero .hero--content {
	position: absolute;
    top: 35%;
    width: 40%;
}

#hero .hero--content h1 {
	font-weight: 400;
}
	
#hero .box {
	width: 100%; 
  	height: 50px;  
  	border: solid 30px #FFFFFF;
  	/*border-radius: 50%/100px 100px 0 0;*/
  	border-radius: 100% 100% 0 0;
  	position: absolute;
  	bottom: 0;
}

#hero .overlay {
	background: transparent linear-gradient(241deg, #00AAFF 0%, #EA00D4 100%) 0% 0% no-repeat padding-box;
	opacity: 0.8;
}

#hero .hero--content h1,
#hero .hero--content p {
	color: #FFFFFF;
	margin-bottom: 24px;
}

#hero .hero--content p {
	font-size: 18px;
	line-height: 32px;
}

#hero .hero--content .special {
	font-size: 60px;
}

.hero-slider .slick-arrow {
	position: absolute;
	z-index: 1;
	top: 50%;
	color: #ffffff;
	padding: 0 20px;
}
.hero-slider .slick-arrow.slick-next {
	right: 0;
}
.hero-slider .slick-arrow.slick-disabled {
	display: none!important;
}


/* Content Blocks */

.content--block,
.echo--height {
	min-height: 90vh;
}

.half--block:nth-of-type(odd) .image {
	border-radius: 0 100% 100% 0;
}

.half--block .text-content {
	width: 60%;
}

.content--block .image {
	background-size: cover!important;
}

.content--block h2 {
	color: #A63FD5;
	margin-bottom: 40px;
}

.content--block .button {
	margin-top: 40px;
}

.content--block li {
	padding: 10px 0;
}

.content--block li::before {
	font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f14a";
    font-size: 21px;
    margin-right: 40px;
}

.full--block h2,
.full--block h3 {
	color: #FFF;
}

/* FAQ */

#faqs h2 {
	float: right; 
	width: 35%;
	text-align: right;
	color: #A63FD5;
	margin-bottom: 80px;
}

.accordion {
	background-color: #6697F6;
    color: #FFF;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    text-align: left;
    border: none;
    outline: none;
    transition: 0.4s;
    margin-bottom: 35px;
    border-radius: 12px;
}

.accordion .active, .accordion:hover,
.accordion button:focus {
  	background-color: #A63FD5;
  	background: #A63FD5;
}

.panel {
  padding: 0 18px 18px 18px;
  display: none;
  overflow: hidden;

}

.accordion:after {
  content: '\02795';
  font-size: 13px;
  color: #FFF;
  float: right;
  margin-left: 5px;
}

.active:after {
  content: "\2796";
}

/* Testimonials */

#testimonials .testimonial {
	padding: 0 60px;
}

#testimonials h3 {
	color: #9152DC;
	margin-bottom: 40px;
}

#testimonials p {
	font-size: 24px;
	line-height: 33px;
	font-weight: 300;
}

/* Contact */

.page-template-contact .section-container,
.page-template-contact-income-protection .section-container {
	margin-top: 75px;
	background-size: cover!important;
	background-position: center!important;
}

.page-template-contact .contact--form,
.page-template-contact-income-protection .contact--form {
	background: #FFFFFF;
	border-radius: 100% 0 0 100%;
	padding: 240px 0;
}

.page-template-contact form,
.page-template-contact-income-protection form {
	width: 85%;
    display: table;
    margin: auto;
    float: right;
    min-height: 460px;
}

.page-template-contact form h2,
.page-template-contact form h4,
.page-template-contact-income-protection form h2,
.page-template-contact-income-protection form h4 {
	font-size: 30px;
	line-height: 41px;
	color: #9152DC;
	margin-bottom: 25px;
}

.page-template-contact form .fieldset-cf7mls-wrapper,
.page-template-contact-income-protection form .fieldset-cf7mls-wrapper {
	margin: 0;
} 

.page-template-contact form label,
.page-template-contact-income-protection form label {
	font-size: 12px;
	color: #4889EA;
	margin-bottom: 20px;
}

.page-template-contact form input,
.page-template-contact-income-protection form input {
	box-shadow: none;
	border: 1px solid #9152DC;
	border-radius: 7px;
	margin-bottom: 30px;
}

.page-template-contact form input.mdc-radio__native-control,
.page-template-contact-income-protection form input.mdc-radio__native-control {
	visibility: hidden;
}

.page-template-contact form input.mdc-radio__native-control::before,
.page-template-contact-income-protection form input.mdc-radio__native-control::before {
	content: '';
	color: red;
}

.page-template-contact form input.wpcf7-date,
.page-template-contact-income-protection form input.wpcf7-date {
	color: #4889EA;
    font-size: 12px;
    height: 43px;
}

.page-template-contact form .cf7mls_next.action-button,
.page-template-contact form .wpcf7-submit,
.page-template-contact-income-protection form .cf7mls_next.action-button,
.page-template-contact-income-protection form .wpcf7-submit {
	float: right;
	background: none;
	color: #4889EA;
	border: 1px solid #9152DC;
	border-radius: 7px;
	font-weight: 400;
    font-size: 14px;
}

.cf7mls_back.action-button {
	float: left;
    border: 1px solid #ebebeb;
    font-weight: 400;
    font-size: 14px;
    color: #4889EA;
    background: none;
    border-radius: 7px;
}

.page-template-contact form .wpcf7-radio label,
.page-template-contact form .wpcf7-checkbox label,
.page-template-contact-income-protection form .wpcf7-radio label,
.page-template-contact-income-protection form .wpcf7-checkbox label {
	border: 1px solid #9152DC;
	border-radius: 7px;
    min-width: 110px;
    text-align: center;
    padding: 10px 0;
}

.page-template-contact form .wpcf7-radio label input,
.page-template-contact form .wpcf7-checkbox label input,
.page-template-contact-income-protection form .wpcf7-radio label input,
.page-template-contact-income-protection form .wpcf7-checkbox label input  {
	margin-bottom: 0;
    border: none;
}

.page-template-contact form .wpcf7-checkbox label input[type=checkbox]:checked,
.page-template-contact-income-protection form .wpcf7-checkbox label input[type=checkbox]:checked {
	color: red;
}

.page-template-contact form  span.wpcf7-list-item.first,
.page-template-contact-income-protection form  span.wpcf7-list-item.first {
	margin-left: 0;
}

.page-template-contact form .protect,
.page-template-contact-income-protection form .protect {
	float: left; 
	margin-bottom: 30px;
	width: 100%;
}

.page-template-contact form .protect .wpcf7-radio label,
.page-template-contact-income-protection form .protect .wpcf7-radio label {
	min-width: 140px;
    padding: 10px 30px;
}

.page-template-contact form .checkbox-358,
.page-template-contact-income-protection form .checkbox-358 {
	float: left; 
	width: 100%;
}

.page-template-contact form .checkbox-358 label,
.page-template-contact form .savings label,
.page-template-contact form .employment label,
.page-template-contact-income-protection form .checkbox-358 label,
.page-template-contact-income-protection form .savings label,
.page-template-contact-income-protection form .employment label  {
	min-width: 160px;
	padding: 10px 30px;
}

.wpcf7 form.sent .wpcf7-response-output {
	    border: none;
    text-align: center;
}

input[type="radio"]:checked + label {
    background-color:#bfb;
    border-color: #4c4;
}

.wpcf7 form.init .wpcf7-response-output {
	float: left;
    width: 100%;
    border: none;
    color: white;
    background-color: #A046D9;
    border-radius: 5px;
    padding: 10px 20px;
    margin-left: 0;
    margin-right: 0;
}

/* Home */

.page-template-home header {
	background: none;
}

.page-template-home #hero {
	min-height: 100vh;
	padding-top: 20vh;
	padding-bottom: 20vh;
	height: auto;
}

.page-template-home #hero .hero--content {
	width: 100%;
	position: relative;
}

.page-template-home #hero .hero--content h2,
.page-template-home #hero .hero--content p {
	color: #FFFFFF;
	margin-bottom: 20px;
}

.page-template-home #hero .hero--content h3 {
	margin-bottom: 20px;
}

.page-template-home #hero .hero--content p {
	min-height: 200px;
}

.page-template-home #hero .hero--content p.or {
	min-height: auto;
	margin: 0;
}

.page-template-home #hero .hero--content .button {
	font-size: 18px;
}
.page-template-home #hero .hero--content .button.full {
	width: 100%;
}

.page-template-home #hero .hero--content .block-icon {
	max-width: 80px;
	margin-bottom: 40px;
}

/* Booking */

#booking-overview .row-worker,
#booking-overview .row-price,
#booking-overview .row-location {
	display: none;
}

/* RESPONSIVE */

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

	h1 {
	font-size: 38px;
	line-height: 46px;
	}

	h2 {
		font-size: 22px;
		line-height: 27px;
	}

	h3 {
		font-size: 18px;
		line-height: 24px;
	}

	h4 {
		font-size: 16px;
		line-height: 21px;
	}

	#faqs h2 {
		width: 100%;
		text-align: center;
	}

	#hero .hero--content,
	.page-template-home #hero .hero--content {
		width: 96%;
    	text-align: center;
	}

	header {
		padding: 20px 0;
	}

	.desktop-menu {
		display: none;
	}

	.mobile-menu {
		display: block;
	}

	.hamburger {
		float: right;
	}

	.hamburger-inner, 
	.hamburger-inner:after, 
	.hamburger-inner:before, 
	.hamburger.is-active .hamburger-inner, 
	.hamburger.is-active .hamburger-inner:after, 
	.hamburger.is-active .hamburger-inner:before {
		background-color: #FFF;
	}

	.page-template-contact .section-container {
		margin-top: 65px;
	}

}

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

#hero .hero--content h1 {
	margin-bottom: 0;
}
#hero .hero--content .special {
	font-size: 30px;
}
.hero-slider .slick-arrow {
	bottom: 20%;
	top: auto;
}

}

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

	.section {
		padding: 60px 0;
	}

	#hero {
		min-height: 80vh;
	}

	.content--block, .echo--height {
		min-height: 100%;
	}

	.half--block .image {
		height: 50vh;
		margin-bottom: 60px;
	}

	.full--block, .full--block .echo--height {
		min-height: 60vh;
	}

	footer .logo {
		display: table;
		margin: auto;
	}

	footer .social {
		float: none;
		display: table;
		margin: auto;
		margin-top: 20px;
	}

	footer .social li {
		float: left;
	}

	footer .social li a {
		padding: 0 20px;
	}

	footer p {
		text-align: center;
	}

	.page-template-contact .contact--form,
	.page-template-contact-income-protection .contact--form {
		background: #FFFFFF;
    	border-radius: 0;
    	padding: 60px 0;
	}

	.page-template-contact form {
		width: 100%;
	}

	.wpcf7-form .fieldset-cf7mls {
		padding: 0!important;
	}

	.page-template-contact form .cell,
	.page-template-contact-income-protection form .cell {
		padding: 0;
	}

	span.wpcf7-list-item {
		margin: 0;
		width: 100%;
	}

}

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

	.half--block .text-content {
		width: 80%;
	}

	footer .menu li {
		width: 100%;
		padding: 10px 0;
	}

	.page-template-home #hero .hero--content .button {
		margin-bottom: 20px;
	}

}