/*
Theme Name: Fellsway Child Theme
Template: theme360
Version: 1.0
Author: Made by Unicorn Ltd
Author URI: https://www.madebyunicorn.com
Description: A Theme360 child theme for Fellsway
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

:root {
/* Fonts */
  --fnt_font-family: "DM Sans", sans-serif;
  --fnt_font-size: 17px;
  --fnt_line-height: 1.7em;
  --fnt_font-weight: 400;
  
  --cta_fnt_font-size: 1.04rem;
  --cta_fnt_line-height: 1.3rem;
  --cta_fnt_font-weight: 500;
  --cta_fnt_text-transform: none;
  
  --cta-txt_fnt_font-size: 1rem;
  --cta-txt_fnt_font-weight: 500;
  --cta-txt_fnt_text-transform: uppercase;

  --psh_fnt_font-size: 0.9rem;
  --psh_fnt_line-height: 1.2rem;
  --psh_fnt_font-weight: 500;
  
  --pre_fnt_font-size: 0.8rem;
  --pre_fnt_line-height: 1.2rem;
  --pre_fnt_font-weight: 600;
  --pre_fnt_letter-spacing: 0.15rem;
  
  --hed_fnt_font-weight: 500;
  --hed_fnt_letter-spacing: 0rem;
  
  --h1_fnt_font-size: 4.4rem;
  --h1_fnt_line-height: 4.8rem;
  
  --h2_fnt_font-size: 3rem;
  --h2_fnt_line-height: 3.4rem;

  --h3_fnt_font-size: 2.2rem;
  --h3_fnt_line-height: 2.6rem;

  --h4_fnt_font-size: 1.5rem;
  --h4_fnt_line-height: 1.9rem;

/* Colours */
  --clrshadow: 1px 1px 14px 5px rgba(0, 29, 157, 0.1);
  --clrshadow_lrg: 1px 1px 30px 10px rgba(0, 29, 157, 0.1);
  --clrblack: 11, 20, 67;
  --clrblack_alt: 99, 106, 143;
  --clrwhite: 255, 255, 255;
  --clrwhite_alt: 244, 245, 249;
  --clrgrey: 239, 240, 249;
  --clrgrey_alt: 217, 218, 236;
  /* Name - Primary CTA */
  --clr1: 11, 20, 67;
  --clr1_alt: 0, 29, 157;
  --clr1_txt: 203, 206, 234;
  /* Name - Secondary CTA */
  --clr2: 216, 225, 247;
  --clr2_alt: 187, 202, 237;
  --clr2_txt: 11, 20, 67;
  /* Name */
  --clr3: 0, 29, 157;
  --clr3_alt: 0, 22, 123;
  --clr3_txt: 255, 255, 255;
  /* Name */
  --clr4: 212, 169, 18;
  --clr4_alt: 184, 143, 0;
  --clr4_txt: 255, 255, 255;

/* Corners */
  --radius_sm: 8px;
  --radius_md: 16px;
  --radius_cta: 7px;
  
/* Padding */
  --cntntpad: 80px;
  --cntntpad_slm: 40px;
  --ctapad: 14px 20px;
}

/* Less than Medium */		
@media screen and (max-width: 64em) { 
	:root {
	/* Fonts */
	  --fnt_font-size: 17px;
	  --fnt_line-height: 1.7em;
  
	  --cta_fnt_font-size: 0.9rem;
	  --cta_fnt_line-height: 1.2rem;
  
	  --h1_fnt_font-size: 2.5rem;
	  --h1_fnt_line-height: 2.9rem;
  
	  --h2_fnt_font-size: 2rem;
	  --h2_fnt_line-height: 2.4rem;

	  --h3_fnt_font-size: 1.6rem;
	  --h3_fnt_line-height: 2rem;

	  --h4_fnt_font-size: 1.4rem;
	  --h4_fnt_line-height: 1.8rem;

  
	/* Padding */
	  --cntntpad: 60px;
	  --cntntpad_slm: 40px;
	  --ctapad: 10px 18px;
	}
}

/* Grey Left/Right Gradient */
.clrgrey-bg.clr5-bg {
	background: #F4F5F9;
	background: -webkit-linear-gradient(70deg,rgba(244, 245, 249, 1) 0%, rgba(239, 240, 249, 1) 100%);
	background: -moz-linear-gradient(70deg,rgba(244, 245, 249, 1) 0%, rgba(239, 240, 249, 1) 100%);
	background: linear-gradient(70deg,rgba(244, 245, 249, 1) 0%, rgba(239, 240, 249, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(
	  startColorstr="#F4F5F9",
	  endColorstr="#EFF0F9",
	  GradientType=0
	);
}

/* Grey to White Top/Bottom Gradient */
.clrwhite-bg.clr6-bg {
	background: #ffffff;
	background: -webkit-linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(239, 240, 249, 1) 100%);
	background: -moz-linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(239, 240, 249, 1) 100%);
	background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(239, 240, 249, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(
	  startColorstr="#FFFFFF",
	  endColorstr="#EFF0F9",
	  GradientType=0
	);
}

/* clr1 */
.clr1-bg .box, .clr1-bg .box-in .content-container {
	background: rgba(var(--clrwhite), 0.05);
	border: dashed 1px rgba(var(--clrgrey), 0.2);
}

/* Body */
strong {
	color: rgb(var(--clr1));
}

ul.list-checks li:before {
	background-color: rgb(var(--clr3));
}

body {
	color: rgb(var(--clrblack_alt));
}

	canvas#starfield {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
	}
	
	canvas#parallax {
	  position: fixed;
	  inset: 0;
	  background: url('images/ellipse-1.svg');
	  background-position: -400px 0;
	  background-size: auto 100%;
	  background-repeat: no-repeat;
	  z-index: -2;
	  will-change: transform;
	  aspect-ratio: 923/1305;
	  height: 1500px;
	  width: 100%;
	}
	
	canvas#parallax2 {
	  position: fixed;
	  inset: 0;
	  background: url('images/ellipse-1.svg');
	  background-position: 120% 0;
	  background-size: auto 100%;
	  background-repeat: no-repeat;
	  z-index: -2;
	  will-change: transform;
	  aspect-ratio: 923/1305;
	  height: 1500px;
	  width: 100%;
	  opacity: 1;
	}

/* -- CTAs -- */
	a.cta-text:link, a.cta-text:visited, a.cta-text:active {
		letter-spacing: 0.1em;
		color: rgba(var(--clr1), 1);
	}
	
		a.cta-text svg {
			color: rgb(var(--clr4));
		}
		
		a.cta-text svg {
			top: 0;
		}
		
		a.cta-text:hover svg {
			top: -3px;
			left: 3px;
		}

	.ctas-container {
		margin-top: 30px;
	}
	
	.ctas-container span.pre-title {
		margin: 0 0 40px;
	}
	
	.no-bg .ctas-container .push-text, .clrwhite-bg .ctas-container .push-text {
		color: rgb(var(--clr1));
	}
	a.cta.primary:link, a.cta.primary:active, a.cta.primary:visited, a.cta.primary:hover, a.cta.secondary:link, a.cta.secondary:active, a.cta.secondary:visited, a.cta.secondary:hover {
		border-width: 1px;
	}
	
	a.cta svg {
		color: rgb(var(--clr4));
		margin: 0 0 0 2px;
		position: relative;
		top: 0;
		left: 0;
					-webkit-transition: all 0.5s;
					-moz-transition: all 0.5s;
					-ms-transition: all 0.5s;
					-o-transition: all 0.5s;
					transition: all 0.5s;
	}
	
		a.cta:hover svg {
			left: 3px;
			top: -3px;
		}
		
		a.cta:hover {
			box-shadow: var(--clrshadow_lrg);
		}
	
	/* Override Primary CTA */
	a.cta.primary:link, a.cta.primary:active, a.cta.primary:visited, a.cta.primary:hover {
		color: rgb(var(--clrwhite));
	}
	
	.clr1-bg a.cta.primary, .clr1-bg a.cta.primary:link, .clr1-bg a.cta.primary:visited, .clr1-bg a.cta.primary:active, .clr1-bg button, .clr1-bg input[type="submit"] {
		background: rgba(var(--clr3), 1);
		border-color: rgba(var(--clr3), 1);
		color: rgba(var(--clr3_txt), 1);
	}
	
		.clr1-bg a.cta.primary:hover, .clr1-bg button:hover, .clr1-bg input[type="submit"]:hover {
			background: rgba(var(--clr3_alt), 1);
			border-color: rgba(var(--clr3_alt), 1);
			color: rgba(var(--clr3_txt), 1);
		}
		
	/* Override Secondary CTA */
	.clr1-bg a.cta.secondary, .clr1-bg a.cta.secondary:link, .clr1-bg a.cta.secondary:visited, .clr1-bg a.cta.secondary:active {
		background: none;
		border-color: rgba(var(--clr4), 1);
		color: rgba(var(--clrwhite), 1);
	}
	
		.clr1-bg a.cta.secondary:hover {
			background: rgba(var(--clrwhite), 0.1);
		}
		
/* Forms */
form label {
    display: block;
    text-indent: 0;
    line-height: 1.6rem;
    font-size: 1rem;
    font-weight: 500;
}

form .gform-body label {
    display: block;
    text-indent: -10000px;
    line-height: 0;
    font-size: 0rem;
}

.gform_wrapper h2 {
	display: none;
}

img.gform_ajax_spinner {
	max-width: 30px;
}

.grecaptcha-badge { 
    visibility: hidden;
}
		
/* Headings */
.content-titles {
    padding: 0 0 50px;
}

h1, h2, h3, h4, h5, h6 {
	color: rgb(var(--clrblack));
}

	.heading-xl h1, .heading-xl h2 {
		font-size: 5rem;
		line-height: 5.5rem;
	}
	
	.heading-xs h1, .heading-xs h2 {
		font-size: 2.8rem;
		line-height: 3.2rem;
	}
	
	.banner .content-container h1, .banner .content-container h2 {
		font-size: var(--h1_fnt_font-size);
		line-height: var(--h1_fnt_line-height);
	}

h1 i, h2 i, h3 i {
	color: rgb(var(--clr3));
	font-style: normal;
}

h1 i.break, h2 i.break, h3 i.break {
	display: block;
}

.clr1-bg h1, .clr1-bg h2, .clr1-bg h3, .clr1-bg h4, .clr1-bg h5, .clr1-bg h6 {
	color: rgb(var(--clrwhite));
}

.clr1-bg h1 i, .clr1-bg h2 i, .clr1-bg h3 i {
	color: rgb(var(--clr2));
}

span.pre-title, legend, span.post-meta {
	background: rgba(var(--clrwhite), 0.3);
	display: inline-block;
	padding: 4px 12px 3px;
	border-radius: 50px;
	box-shadow: var(--clrshadow);
	color: rgb(var(--clrblack));
	position: relative;
}

h1.pre-title {
	font-family: var(--fnt_font-family);
    display: block;
    margin: 0 0 1.5rem;
    font-size: var(--pre_fnt_font-size) !important;
    line-height: var(--pre_fnt_line-height) !important;
    font-weight: var(--pre_fnt_font-weight) !important;
    letter-spacing: var(--pre_fnt_letter-spacing);
    color: var(--clrgrey_dark);
    text-transform: uppercase;
	background: rgba(var(--clrwhite), 0.3);
	display: inline-block;
	padding: 4px 12px 3px;
	border-radius: 50px;
	box-shadow: var(--clrshadow);
	color: rgb(var(--clrblack));
	position: relative;
}

	.clr2-bg span.pre-title, .clr2-bg legend, .clr2-bg span.post-meta {
		color: rgb(var(--clr1));
		background: rgba(var(--clrwhite), 0.5);
	}

span.pre-title:before, h1.pre-title:before {
	content: "";
	display: inline-block;
	height: 9px;
	width: 9px;
	background: rgb(var(--clr4));
	border-radius: 50px;
	margin: 0 7px 0 0;
	position: relative;
}

span.pre-title.large {
	font-size: 0.87rem;
	padding: 10px 15px 8px;
}

span.pre-title.large:before {
	height: 10px;
	width: 10px;
	margin: 0 9px 0 0;
}

/* Box In */
.box, .box-in .content-container {
	box-shadow: none;
	border: dashed 1px rgb(var(--clrgrey));
	background: rgba(var(--clrwhite), 0.8);
}	
		
/* Top Bar */
.top-bar {
	background: none;
	padding: 0;
}

	.top-bar .top-bar-container {
		max-width: 1340px;
		margin: auto;
	}
	
		.top-bar .message {
			padding: 12px 0;
			border-radius: 0 0 var(--radius_md) var(--radius_md);
		}
		
	.top-bar a, .top-bar a:link, .top-bar a:active, .top-bar a:visited {
		font-size: 0.95rem;
	}
	
		.top-bar svg {
			color: rgb(var(--clr4));
		}
		
/* Header */
header {
	padding: 25px 0;
	border-bottom: dashed 1px rgb(var(--clrgrey));
}

.header-container .ctas a.login {
    font-size: 0.65rem;
    line-height: 0.65rem;
    font-weight: 500;
}

.header-container .ctas a.login svg {
	color: rgb(var(--clr4));
}

.header-container .nav .primary-menu li a:hover {
	color: rgb(var(--clr3));
}

/* Mobile Nav */
.nav-mobile {
	position: fixed;
}

.nav-mobile .nav-container {
	background: rgb(var(--clrwhite));
	box-shadow: var(--clrshadow);
}

.nav-mobile .nav-container a.mob-menu-item svg {
	color: rgb(var(--clr4));
}

.nav-mobile .nav-container .sub-items, .nav-mobile ul li, .nav-mobile ul ul.sub-menu li {
	border-color: rgb(var(--clrgrey));
}

.nav-mobile ul ul.sub-menu {
	background: rgb(var(--clrwhite));
	border-top: solid 1px rgb(var(--clrgrey));
}

.nav-mobile ul ul.sub-menu li a {
	color: rgb(var(--clrblack_alt));
}

.nav-mobile ul li.cta.primary a {
	color: rgb(var(--clrwhite));
}

.nav-mobile ul li.cta.secondary a {
    background: rgba(var(--clr2), 1);
}

.nav-mobile ul li.cta a svg {
	color: rgb(var(--clr4));
}

/* Large Body */
.banner .content-container, .body-xl {
	font-size: 1.3rem;
	line-height: 2rem;
}

/* Features */
.feature.team-member h3 {
	font-size: 1.8rem;
	line-height: 2.4rem;
}

	.feature.team-member b.position {
		color: rgb(var(--clr3));
		display: block;
		margin: 0 0 10px;
	}

.content-container.feature img, .content-container.feature h3 {
  transition: transform .5s ease;
}

/* when the link inside is hovered */
.content-container.feature:has(a:hover) img {
  transform: translateY(-8px);
}

.content-container.feature:has(a:hover) h3 {
  transform: translateY(-5px);
}

.content-container.feature img {
	box-shadow: var(--clrshadow_lrg);
}

.content-container img.rounded-corners {
	box-shadow: var(--clrshadow_lrg);
	border-radius: var(--radius_md);
}

.content-container.feature .content .icon-container > svg {
	color: rgb(var(--clr4));
	font-size: 22px;
	position: absolute;
	transform: translate(-50%,-50%);
	left: 50%;
	top: 50%;
}

.content-container.feature .content .icon-container {
	width: 50px;
	height: 50px;
	aspect-ratio: 1/1;
	border-radius: var(--radius_sm);
	background: rgb(var(--clrgrey));
	display: block;
	position: relative;
	top: -6px;
}

.content-container.feature.stat {
	padding: 30px 35px;
    font-size: 1.2rem;
    line-height: 1.8rem;
}

.content-container.feature.stat .number-container {
	font-size: 4.3rem;
	line-height: 4.7rem;
	font-weight: 400;
	color: rgb(var(--clr4));
	display: block;
	margin: 0 0 5px;
}

.features-right-container {
	margin-top: 35px;
}

.features-right-container.pre-title-false {
	margin-top: 0;
}

.features-right-container .content-container.feature {
	margin: 35px 0 0;
}

.features-right-container .content-container.feature .content .icon-container > svg {
	font-size: 28px;
}

.features-right-container .content-container.feature .content .icon-container {
	width: 70px;
	height: 70px;
	top: 5px;
}

.features-right-container .content-container.feature .content h3 {
	font-size: 1.9rem;
	line-height: 2.3rem;
	color: rgb(var(--clr4));
	margin: 0 0 5px;
}

.clr2-bg .features-right-container .content-container.feature .content h3 {
	color: rgb(var(--clr1));
}

.content-container.feature .content .icon-container-inline {
	color: rgb(var(--clr1));
	font-weight: 500;
	display: block;
	margin: -4px 0 15px;
}

.content-container.feature .content .icon-container-inline > svg {
	color: rgb(var(--clr3));
	font-size: 21px;
	position: relative;
	top: 1px;
	margin: 0 5px 0 0;
}

.labels-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 30px;      
}

.labels-container .label {
	border-radius: 100px;
	border: dashed 1px rgb(var(--clrgrey_alt));
	background: rgb(var(--clrwhite));
	padding: 14px 25px;
	box-sizing: border-box;
	text-decoration: none;
	font-size: 1.2rem;
	color: rgb(var(--clr1));
	top: 0;
	position: relative;
}

	.labels-container .label:link:hover {
		top: -5px;
		box-shadow: var(--clrshadow_lrg);
	}

	.labels-container .label svg {
		color: rgb(var(--clr4));
		position: relative;
		top: -1px;
		margin: 0 5px 0 0;
	}

/* Scrolling Logos */
.logos.logo-selection .logo-selection-container .logo-item {
	height: 50px;
}
.logos .heading-xs h2, .scrolling-logos .heading-xs h2 {
	margin: 0 0 50px !important;
	font-size: 2rem;
	line-height: 2.6rem;
}

.logo-track-container {
	overflow: hidden;
}

.logo-track {
  display: flex;
  align-items: center;
  gap: 100px;
  /* animation set dynamically via JS */
}

.logo-track img {
  max-height: 50px;     /* fixed height */
  max-width: 150px;      /* auto width to keep aspect ratio */
  width: auto;
  flex-shrink: 0;   /* don't let flexbox squash them */
}

@keyframes logo-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-VAR_WIDTH); } /* replaced by JS */
}

/* Testimonials */
.testimonials h2 {
	margin-bottom: 30px !important;
}

.testimonials.clr1-bg blockquote {
	color: rgba(var(--clrblack_alt), 1);
}

.testimonials .slider {
	margin: 0 auto;
}

.testimonials .slick-dots {
	padding: 20px 0 0;
	bottom: -40px;
}

.testimonials .slick-dots li button {
	background: none;
	min-width: 0;
}

.testimonials .slick-dots li button:before {
	font-size: 40px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: 1;
    color: rgb(var(--clr1));
}

.testimonials.clr1-bg .slick-dots li button:before {
	color: rgba(var(--clrwhite),0.3);
}

.testimonials .slick-dots li.slick-active {
	opacity: 1;
}

.testimonials .slick-dots li.slick-active button:before {
	color: rgb(var(--clr4));
}

.content-container.testimonial {
	border-radius: var(--radius_md);
	border: dashed 1px rgb(var(--clrgrey));
	background: rgb(var(--clrwhite));
	opacity: 1;
	padding: 40px 30px;
	font-size: 1.4rem;
	line-height: 2.2rem;
	position: relative;
}

.content-container.testimonial:before {
	content: url('images/quote.svg');
	display: block;
	position: absolute;
	left: 30px;
	top: 30px;
	height: 60px;
	width: 60px;
}

.content-container.testimonial .content .bio {
	display: block;
	text-align: right;
	color: rgb(var(--clrblack_alt));
	margin: 0 0 20px;
}

.content-container.testimonial .content .bio b {
	font-weight: 500;
	font-size: 0.8rem;
}


/* Footer */
footer#main {
	border-top: none;
}

footer#main .logo img {
    max-width: 150px;
}

footer#main {
	padding-bottom: 0;
}

footer#main .footer-container {
	padding: 60px 40px;
	border-radius: var(--radius_md) var(--radius_md) 0 0;
}

footer#main h4 {
	color: rgb(var(--clr3));
	text-transform: uppercase;
	font-size: 0.95rem;
	letter-spacing: 0.1rem;
	font-weight: 600;
}

footer#main ul li {
	padding: 8px 0;
}

footer#main ul a, footer#main ul a:link, footer#main ul a:active, footer#main ul a:visited {
	color: rgb(var(--clrblack_alt));
}

footer#legal {
	border: 0;
	background: rgb(var(--clrwhite));
	max-width: 1400px;
	padding: 50px 40px;
	margin: auto;
}

.conversion-nav-override footer#legal {
	border-radius: var(--radius_md) var(--radius_md) 0 0;
}

footer#legal, footer#legal a, footer#legal a:link, footer#legal a:active, footer#legal a:visited {
	color: rgb(var(--clrblack_alt));
}

/* More than Medium */		
@media screen and (min-width: 64em) {	
	body {
		padding-top: 92px;
	}
	
	header {
		position: fixed;
		top: 0;
		width: 100%;
		background: none;
					-webkit-transition: all 0.5s;
					-moz-transition: all 0.5s;
					-ms-transition: all 0.5s;
					-o-transition: all 0.5s;
					transition: all 0.5s;
		z-index: 999;
	}
	
	.scrolled-true header {
			background: rgb(var(--clrwhite));
					-webkit-transition: all 0.5s;
					-moz-transition: all 0.5s;
					-ms-transition: all 0.5s;
					-o-transition: all 0.5s;
					transition: all 0.5s;
	}
}
			
/* Less than Medium */		
@media screen and (max-width: 64em) {	
	footer#main .footer-container {
		padding: 40px 0 0;
	}
	
	footer#main.permanent-header .ctas a, footer#main.permanent-header .ctas a:link, footer#main.permanent-header .ctas a:active, footer#main.permanent-header .ctas a:visited, footer#main .social a {
		margin: 0 5px 10px;
	}
	
	.slider {
		width: 100%;
	}
	
	.content-container.testimonial:before {
		left: 10px;
		top: 10px;
		height: 20px;
		width: 20px;
	}
	
	.content-container.testimonial .content .bio {
		text-align: center;
	}
	
	.content-container.testimonial {
		font-size: 1rem;
		line-height: 1.4rem;
	}
}

/* Less than Small */	
@media screen and (max-width: 48em) { 
	footer#legal {
		padding: 50px 0 30px;
	}
	
	.heading-xl h1, .heading-xl h2 {
		font-size: var(--h1_fnt_font-size);
		line-height: var(--h1_fnt_line-height);
	}
	
	h2.h1 {
		font-size: var(--h2_fnt_font-size) !important;
		line-height: var(--h2_fnt_line-height) !important;
	}
	
	.banner .content-container, .body-xl {
		font-size: var(--fnt_font-size);
		line-height: var(--fnt_line-height);
	}
	
	.grid-container.box-in {
		gap: 20px;
	}
	
	.pure-g .pure-u-1, .grid-container, .header-container {
		padding: 0 20px;
	}
	
	.labels-container {
		padding: 0 15px;
		gap: 15px;
	}
	
	.labels-container .label {
		border-radius: 100px;
		padding: 10px 15px;
		font-size: 1rem;
		line-height: 1.4rem;
	}
	
	.content-container.feature.stat .number-container {
		font-size: 3rem;
		line-height: 3.4rem;
	}
	
	.features-right-container .content-container.feature .content .icon-container {
		width: 50px;
		height: 50px;
	}
	

	.features-right-container .content-container.feature .content .icon-container > svg {
		font-size: 22px;
	}
	
	.features-right-container {
		margin: 0;
	}
}