@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito&display=swap');
:root {
	--primary: #131D26;
	--secondary:  #EBFAFF;
	--btn-colour:  #46bbfc;
	--text-light: #6a6a6a;
	--text-dark: #131D26;
	--bg-light:  #FDFDFD;
	--v-padding: 6rem;
	--h-padding: 12rem;

	--title: 4rem;
	--subtitle: 2.2rem;
	--text: 1.6rem;
	--link: 1.6rem;
	--small: 1.2rem;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
	font-family: 'Nunito', sans-serif;
}

body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

header, footer {
	flex-shrink: 0;
}

header {
	position: sticky;
	top: 0;
	width: 100%;
	background: white;
	z-index: 2;
	-webkit-transition: box-shadow 0.3s ease-in-out 0.3s, opacity 0.3s ease-in-out;
	-moz-transition: box-shadow 0.3s ease-in-out 0.3s, opacity 0.3s ease-in-out;
	-ms-transition: box-shadow 0.3s ease-in-out 0.3s, opacity 0.3s ease-in-out;
	transition: box-shadow 0.3s ease-in-out 0.3s, opacity 0.3s ease-in-out;
}

header.hide-header {
	opacity: 0;
}

header.shadow {
	-webkit-box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
	-moz-box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
	box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
	-webkit-transition: all 0.3s ease-in-out 0.1s;
	-moz-transition: all 0.3s ease-in-out 0.1s;
	-ms-transition: all 0.3s ease-in-out 0.1s;
	transition: all 0.3s ease-in-out 0.1s;
}

.app-download-img {
	height: 8rem;
	-webkit-filter: drop-shadow(0px 0px 5px #46bbfc);
	-moz-filter: drop-shadow(0px 0px 5px #46bbfc);
	-moz-filter: drop-shadow(0px 0px 5px #46bbfc);
	-ms-filter: drop-shadow(0px 0px 5px #46bbfc);
	-o-filter: drop-shadow(0px 0px 5px #46bbfc);
	filter: drop-shadow(0px 0px 5px #46bbfc);
	-webkit-transition: 0.2s -webkit-filter linear;
	-moz-transition: 0.2s -moz-filter linear;
	-moz-transition: 0.2s filter linear;
	-ms-transition: 0.2s -ms-filter linear;
	-o-transition: 0.2s -o-filter linear;
	transition: 0.2s filter linear, 0.2s -webkit-filter linear;
}

.app-download-img:hover {
	-webkit-filter: drop-shadow(0px 0px 10px #46bbfc);
	-moz-filter: drop-shadow(0px 0px 10px #46bbfc);
	-moz-filter: drop-shadow(0px 0px 10px #46bbfc);
	-ms-filter: drop-shadow(0px 0px 10px #46bbfc);
	-o-filter: drop-shadow(0px 0px 10px #46bbfc);
	filter: drop-shadow(0px 0px 10px #46bbfc);
}

.btn-primary {background:#5286FF;border:none;padding:15px 30px;}
.btn-primary:hover {background:#5286FF;border:none;}

.main-content {
	flex-grow: 1;
}

.main-content > div:not(.banner, .home-banner, .banner-dark, .full-width-banner-image, .form-section) {
	max-width: 1440px;
	margin: auto;
}

ul:not(.nav-menu, .nav-sub-menu, .slick-dots) {
	margin-left: 3rem;
	text-align: start;
	line-height: 2em;
}

li:not(.nav-item) {
	padding-left: 1rem;
	list-style: unset;
}

a {
	text-decoration: none;
	transition: all .3s ease-in-out;
	color: inherit;
}

p {
	margin-bottom: 1em;
	line-height: 2em;
}

img {
	max-width: 100%;
	max-height: 35rem;
}

.navbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem var(--h-padding);
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	background: white;
}

.navbar.shrink {
	padding: 0 var(--h-padding);
}

.hamburger {
	display: none;
}

.bar {
	display: block;
	width: 25px;
	height: 3px;
	margin: 5px auto;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	background-color: #101010;
}

.nav-menu {
	display: flex;
	gap: 2rem;
	justify-content: center;
	align-items: center;
}

.nav-item {
	list-style: none;
	padding: 1rem;
	position: relative;
}

.nav-link {
	font-family: 'Urbanist', sans-serif;
	font-weight: bold;
	font-size: clamp(1.2rem, 1vw, 1.6rem);
	color: var(--text-light);
}

.nav-link:hover {
	color: var(--text-dark);
}

.nav-logo img {
	max-width: clamp(10rem, 12vw, 25rem);
	margin-top: 0.6rem;
	width: 6rem;
}

.flex-column {
	flex-direction: column;
}

.banner {
	display: flex;
	justify-content: space-between;
	color: black;
	background: linear-gradient(180deg, #CDF0FD, #ECFAFE);
	background-size: 400% 400%;
	-webkit-animation: gradient 8s ease infinite;
	animation: gradient 8s ease infinite;
}

.banner-dark {
	display: flex;
	justify-content: space-between;
	color: white;
	background: linear-gradient(180deg, #4893B3, #5DBBE4);
	background-size: 400% 400%;
	-webkit-animation: gradient 8s ease infinite;
	animation: gradient 8s ease infinite;
}

.home-banner {
	text-align: center;
	color: white;
	background: linear-gradient(180deg, #131D26, #1D2939);
	background-size: 400% 400%;
	-webkit-animation: gradient 8s ease infinite;
	animation: gradient 8s ease infinite;
}

.banner-text-column {
	display: flex;
	flex-direction: column;
	justify-content:  center;
	gap: 3rem;
	padding: var(--v-padding) var(--h-padding);
}

.banner-image {
	background-size: cover;
	background-position: center;
	min-height: 50rem;
	width: 55%;
}

.home-banner-image {
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 25rem;
}

.banner-title {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(2rem, 2.2vw, 4rem);
}

.banner-subtitle {
	font-family: 'Nunito', sans-serif;
	color: var(--text-light);
	font-size: clamp(1.6rem, 1.4vw, 2.2rem);
}

.banner-subtitle p {
	line-height: inherit;
}

.banner-link {
	font-family: 'Urbanist', sans-serif;
	font-weight: bold;
	color: #46bbfc;
	font-size: clamp(1.4rem, 1.2vw, 2rem);
}

.banner-link-wrapper {
	display: flex;
	justify-content: center;
	gap: var(--h-padding);
}

.link {
	font-family: 'Urbanist', sans-serif;
	font-weight: bold;
	color: #46bbfc;
}

.section {
	color: var(--text-light);
	display: flex;
	justify-content: space-between;
	padding: var(--h-padding);
	gap: var(--h-padding);
}

.section-img {
	background-size: cover;
	background-position: center;
	width: 50%;
}

.section-slider {
	width: 50%;
	margin: auto;
}

.section-slider .slick-slider {
	background: transparent;
}

.section-slider img {
	margin: auto;
	max-height: 50vw;
}

.justify-center {
	justify-content: center;
}

.full-width-img {
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 50rem;
}

.text-column {
	width: 50%;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	justify-content: space-around;
}

.column-title {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(2rem, 2.5vw, 4rem);
	font-weight: bold;
	margin-bottom: 1em;
}

.column-title span {
	color: var(--primary);
}

.column-title span.tm-span {
	color: var(--text-light);
}

.tm-span {
	font-size: 50%;
	vertical-align: top;
}

.column-subtitle {
	font-family: 'Nunito', sans-serif;
	font-size: clamp(1.6rem, 1.4vw, 2rem);
}

.column-text {
	font-family: 'Nunito', sans-serif;
	font-size: clamp(1.3rem, 1.1vw, 1.6rem);
	color: var(--text-light);
	line-height: 2em;
}

.full-width-text {
	text-align: center;
	color: var(--text-light);
	padding: var(--h-padding);
	margin: auto;
	width: 60%;
}

.pb-0 {
	padding-bottom: 0;
}

.column-link {
	font-family: 'Urbanist', sans-serif;
	font-weight: bold;
	font-size: clamp(1.3rem, 1.1vw, 1.6rem);
}

.column-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	color: var(--text-dark);
}

.column-grid-subtitle {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(1.6rem, 1.4vw, 2rem);
}

.testimonials {
	color: var(--text-light);
	padding: var(--v-padding) var(--h-padding);
}

.services {
	color: var(--text-light);
	padding: var(--v-padding) var(--h-padding);
}

.services-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 3rem;
	text-align: center;
}

.services-image {
	max-width: 30%;
	max-height: 10rem;
}

.services-title {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(2rem, 2.5vw, 4rem);
	font-weight: bold;
	padding-bottom: 4rem;
	text-align: center;
}

.services-subtitle {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(1.6rem, 1.4vw, 2rem);
	font-weight: bold;
	padding-top: 2rem;
}

.services-text {
	font-family: 'Nunito', sans-serif;
	font-size: clamp(1.3rem, 1.1vw, 1.6rem);
}

.case-studies-index {
	color: white;
	padding: 0 0 var(--v-padding) 0;
}

.case-studies-index-grid {
	display: grid;
	grid-template-rows: 1fr 1fr;
	grid-template-columns: 1fr 1fr;
	padding: var(--v-padding) 0 0 0;
}

.case-studies-wrapper {
	overflow: hidden;
	position: relative;
	display: inline-block;
	cursor: pointer;
}

.case-studies-wrapper:hover .case-studies-image {
	-ms-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.case-studies-wrapper:hover .case-studies-content {
	opacity: 1;
	transition: opacity 0.3s ease-in-out;
}

.case-studies-image {
	background-size: cover;
	background-position: center;
	min-height: 30vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	-webkit-transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
	-moz-transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
	-ms-transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
	-o-transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
	transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.case-studies-image:hover {
	box-shadow: inset 0 0 0 1000px rgba(0,0,0,.3);
}

.case-studies-content {
	opacity: 0;
	-webkit-transition: opacity 0.3s ease-in-out;
	-moz-transition: opacity 0.3s ease-in-out;
	-ms-transition: opacity 0.3s ease-in-out;
	-o-transition: opacity 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out;
}

.case-studies-title {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(2rem, 3.8vw, 6rem);
	font-weight: bold;
	padding-bottom: 4rem;
	text-align: center;
}

.case-studies-subtitle {
	font-family: 'Nunito', sans-serif;
	font-size: clamp(1.6rem, 2vw, 3rem);
	text-align: center;
}

.industries {
	padding: var(--v-padding) var(--h-padding);
}

.industries-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 2rem;
}

.industries-image {
	max-width: 50%;
	max-height: 10rem;
  	margin: auto;
  	display: block;
}

.industries-title {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(2rem, 2.5vw, 4rem);
	font-weight: bold;
	padding-bottom: 8rem;
	text-align: center;
}

.industries-subtitle {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(1.6rem, 1.4vw, 2rem);
	font-weight: bold;
	text-align: center;
	margin-top: 1rem;
}

.form-section {
	color: black;
	display: grid;
	grid-template-columns: 60% 1fr;
	padding-top: var(--v-padding);
}

.form-image {
	background-size: cover;
	background-position: center;
}

.form-wrapper {
	background: var(--secondary);
	color: var(--text-dark);
	display: flex;
	flex-direction: column;
	gap: 4rem;
	padding: var(--v-padding);
	justify-content: center;
	border-radius: 1.5rem;
}

.form-button, .banner-link, .column-link {
	font-size: clamp(1.4rem, 1.2vw, 2rem);
}

.form-button, .banner-link, .column-link, .link {
	font-family: 'Urbanist', sans-serif;
	font-weight: bold;
	border: none;
	background: transparent;
	width: fit-content;
	cursor: pointer;
	-webkit-transition: transform 0.3s ease-in-out;
	-moz-transition: transform 0.3s ease-in-out;
	-ms-transition: transform 0.3s ease-in-out;
	-o-transition: transform 0.3s ease-in-out;
	transition: transform 0.3s ease-in-out;
}

.form-button:hover, .banner-link:hover, .column-link:hover, .link:hover {
	-ms-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.image-link {
  	-webkit-transition: transform 0.3s ease-in-out;
	-moz-transition: transform 0.3s ease-in-out;
	-ms-transition: transform 0.3s ease-in-out;
	-o-transition: transform 0.3s ease-in-out;
	transition: transform 0.3s ease-in-out;
}

.image-link:hover {
	-ms-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.banner .form-wrapper {
	width: 40%;
	background: var(--secondary);
	display: flex;
	flex-direction: column;
	gap: 4rem;
	padding: var(--v-padding);
	margin: var(--v-padding) var(--h-padding);
	border-radius: 1.5rem;
}

.banner .form-field {
	width: 100%;
}

.form-fields {
	display: flex;
	flex-direction: column;
	gap:  2rem;
}

.form-fields input, .form-fields textarea {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(1rem, 1vw, 2rem);
	border: none;
	background: white;
	border-radius: 1.5rem;
	padding: 2rem;
	height: 4rem;
	border: 2px solid transparent;
	-webkit-transition: border-color 0.3s ease-in-out;
	-moz-transition: border-color 0.3s ease-in-out;
	-ms-transition: border-color 0.3s ease-in-out;
	-o-transition: border-color 0.3s ease-in-out;
	transition: border-color 0.3s ease-in-out;
}

.form-fields textarea {
	resize: none;
	height: auto;
}

::placeholder {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(1rem, 1vw, 2rem);
}

.message-form-field {
	font-size: clamp(1rem, 1vw, 2rem);
	border: none;
	background: white;
	border-radius: 1.5rem;
	padding: 2rem;
	border: 2px solid white;
	-webkit-transition: border-color 0.3s ease-in-out;
	-moz-transition: border-color 0.3s ease-in-out;
	-ms-transition: border-color 0.3s ease-in-out;
	-o-transition: border-color 0.3s ease-in-out;
	transition: border-color 0.3s ease-in-out;
	resize: none;
	font-family: inherit;
}

.form-field:focus {
	outline: none;
	border: 2px solid var(--primary);
}

.form-title {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(2rem, 2.2vw, 4rem);
	font-weight: bold;
}

.form-subtitle {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(1.2rem, 1vw, 2rem);
	font-weight: bold;
	margin-top: 1rem;
}

.card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--text-light);
	-webkit-transition: box-shadow 0.3s ease-in-out;
	-moz-transition: box-shadow 0.3s ease-in-out;
	-ms-transition: box-shadow 0.3s ease-in-out;
	-o-transition: box-shadow 0.3s ease-in-out;
	transition: box-shadow 0.3s ease-in-out;
	box-shadow: 0 0 11px rgba(33,33,33,.2);
	border: none;
}

.card:hover {
  box-shadow: 0 0 11px rgba(33,33,33, .6);
}

.card-date {
	position: absolute;
	margin: 1rem;
	padding: 0.5rem 1rem;
	border-radius: 0.5rem;
	background-color: rgba(0,0,0, 0.3);
	color: white;
	font-size: 1.2rem;
}

.card-image {
	background-size: cover;
	background-position: center;
	height: 30rem;
}

.bg-image-contain {
	min-height: 30rem;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-origin: content-box;
}

.card-title {
	font-family: 'Urbanist', sans-serif;
	color: var(--text-light);
	font-size: clamp(1.6rem, 2vw, 3rem);
	font-weight: bold;
	padding: 2rem;
	text-align: center;
}

.card-subtitle {
	font-family: 'Urbanist', sans-serif;
	color: var(--text-light);
	font-size: clamp(1.4rem, 1.3vw, 2.5rem);
	font-weight: bold;
	padding: 0rem 2rem;
	text-align: center;
}

.card-title p, .card-subtitle p {
	margin-bottom: 0;
}

.card-text {
	font-family: 'Nunito', sans-serif;
	color: var(--text-light);
	font-size: clamp(1.2rem, 1vw, 2rem);
	text-align: center;
	padding: 1rem 2rem 2rem 2rem;
}
.card .button {
	margin-top: auto;
}

.button {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(1.2rem, 1vw, 2rem);
	font-weight: bold;
	background-color: var(--btn-colour);
	padding: 1.2rem 6rem 1.2rem 6rem;
	color: white;
	margin: 2rem;
	cursor: pointer;
	align-self: center;
	position: relative;
	overflow: hidden;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: ease;
}

.button:hover {
	text-decoration: none;
}

.button:after {
	background: #fff;
	content: "";
	height: 155px;
	left: -75px;
	opacity: 0.2;
	position: absolute;
	top: -50px;
	transform: rotate(35deg);
	transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
	width: 50px;
}

.button:hover:after {
	left: 120%;
	transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.button-sm {
	padding: 0.8rem 3rem;
}

.blog-posts {
	padding: var(--h-padding) var(--h-padding);
	background-color: var(--bg-light);
}

.blog-posts-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 4rem;
}

.blog-posts-title {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(2rem, 2.2vw, 4rem);
	font-weight: bold;
	padding-bottom: 4rem;
}

.blog-post-card {
	grid-column: span 2;
}

.blog-post-card:nth-child(5n+4), .blog-post-card:nth-child(5n+5) {
	grid-column: span 3;
}

.footer {
	color: white;
	background: linear-gradient(180deg, #131D26, #1D2939);
	background-size: 400% 400%;
	-webkit-animation: gradient 8s ease infinite;
	animation: gradient 8s ease infinite;
	padding: var(--v-padding) var(--h-padding);
}

.footer-flex {
	display: flex;
	justify-content: space-between;
	width: 75%;
}

.footer-about-us {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 25%;
}

.footer-quick-links {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.footer-legal {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.footer-title {
	font-family: 'Urbanist', sans-serif;
	font-weight: bold;
	font-size: clamp(1.4rem, 1.5vw, 2.2rem);
	font-weight: bold;
	padding-bottom: 2rem;
}

.footer-link {
	font-family: 'Urbanist', sans-serif;
	color: white;
	font-size: clamp(1.2rem, 1vw, 2rem);
	width: max-content;
	position: relative;
}

.footer-flex .footer-link:after {
	position: absolute;
	transition: all ease-in-out .3s;
	background: none repeat scroll 0 0 #46bbfc;
	content: "";
	display: block;
	height: 2px;
	width: 0;
}

.footer-flex .footer-link:hover:after {
	width: 100%;
}

.footer-text {
	font-size: clamp(1.1rem, 0.9vw, 2rem);
}

.footer-image {
	display: flex;
	justify-content: flex-end;
	grid-column: 1/4;
	padding-bottom: 2rem;
	border-bottom: 1px solid white;
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	grid-column: 1/4;
	padding-top: 3rem;
}

.footer-socials {
	display: flex;
	gap: 1rem;
	align-items: center;
}

.footer-socials img {
	width: clamp(2rem, 1.8vw, 3rem);
	-webkit-transition: transform 0.3s ease-in-out;
	-moz-transition: transform 0.3s ease-in-out;
	-ms-transition: transform 0.3s ease-in-out;
	-o-transition: transform 0.3s ease-in-out;
	transition: transform 0.3s ease-in-out;
}

.footer-socials img:hover {
	-ms-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.team-grid {
	display: grid;
	gap: 3rem;
	grid-template-columns: repeat(3, 1fr);
	padding: var(--v-padding) var(--h-padding);
}

.team-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}

.team-image-wrapper {
	overflow: hidden;
	position: relative;
	display: inline-block;
	cursor: pointer;
}

/*.team-image-wrapper:hover .team-image {
	-ms-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}*/

.team-image-wrapper:hover .team-image-content {
	opacity: 1;
	transition: opacity 0.3s ease-in-out;
}

.team-image-content {
	opacity: 0;
	display: flex;
	justify-content: center;
	gap: 1rem;
	-webkit-transition: opacity 0.3s ease-in-out;
	-moz-transition: opacity 0.3s ease-in-out;
	-ms-transition: opacity 0.3s ease-in-out;
	-o-transition: opacity 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out;
}

.team-image-content a {
	width: 25%;
	height: 100%;
	-webkit-transition: transform 0.3s ease-in-out;
	-moz-transition: transform 0.3s ease-in-out;
	-ms-transition: transform 0.3s ease-in-out;
	-o-transition: transform 0.3s ease-in-out;
	transition: transform 0.3s ease-in-out;
}

.team-image-content .larger-icon {
	width: 35%;
}

.team-image-content a:hover {
	-ms-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.team-image-content a img {
	width: 100%;
	height: 100%;
}

.team-image {
	background-size: cover;
	background-position: top center;
	height: 14rem;
	width: 14rem;
	border-radius: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	-webkit-transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
	-moz-transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
	-ms-transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
	-o-transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
	transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.team-image:hover {
	box-shadow: inset 0 0 0 1000px var(--primary);
}

.team-title {
	font-family: 'Nunito', sans-serif;
	font-size: clamp(1.2rem, 1.2vw, 2rem);
	font-weight: bold;
	text-align: center;
}

.team-subtitle {
	font-family: 'Nunito', sans-serif;
	font-size: clamp(1rem, 0.9vw, 1.6rem);
	text-align: center;
}

.form-text-column {
	width: 60%;
	display: flex;
	flex-direction: column;
	justify-content:  center;
	gap: 6rem;
	padding: var(--v-padding) var(--h-padding);
}

.contact {
	padding: var(--h-padding) var(--h-padding);
	color: var(--text-light);
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	justify-items: center;
}

.contact-panel {
	display: flex;
	gap: 2rem;
}

.contact-image {
	max-width: 40%;
	max-height: 12rem;
	margin: auto;
}

.contact-title {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(1.6rem, 1.6vw, 3rem);
	font-weight: bold;
}

.contact-subtitle {
	font-family: 'Nunito', sans-serif;
	font-size: clamp(1rem, 1.2vw, 2rem);
	margin-top: 1rem;
}

.blog-banner {
	background-color: var(--bg-light);
	padding: var(--v-padding) var(--h-padding);
	text-align: center;
}

.blog-wrapper {
	padding-bottom: var(--v-padding);
}

.blog-search-form {
	position: relative;
	width: 60%;
	border-radius: 1.5rem;
	text-align: start;
	margin-inline: auto;
	margin-top: 2rem;
}

.blog-search-form input, .blog-search-form button {
	border: 0;
	font-size: clamp(1rem, 1vw, 2rem);
	height: 4rem;
}

.blog-search-form input[type=search] {
	background: white;
	border: 2px solid #cdcdcd;
	outline: 0;
	width: 100%;
	padding: 0 2rem;
	border-radius: 1.5rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: all 0.3s ease-in-out;
	transition-property: width, border-radius, border-color;
	z-index: 0;
	position: relative;
}

.blog-search-form input[type=search]:focus {
	outline: none;
	border: 2px solid var(--primary);
}

.blog-search-form button {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	width: 6rem;
	font-weight: bold;
	background: var(--primary);
	border-radius: 0 1.5rem 1.5rem 0;
	color: white;
	cursor: pointer;
}

.blog-search-form input:not(:-moz-placeholder-shown) {
	border-radius: 1.5rem 0 0 1.5rem;
	width: calc(100% - 6rem);
	border: 2px solid var(--primary);
}

.blog-search-form input:not(:-ms-input-placeholder) {
	border-radius: 1.5rem 0 0 1.5rem;
	width: calc(100% - 6rem);
	border: 2px solid var(--primary);
}

.blog-search-form input:not(:placeholder-shown) {
	border-radius: 1.5rem 0 0 1.5rem;
	width: calc(100% - 6rem);
	border: 2px solid var(--primary);
}
.blog-search-form input:not(:-moz-placeholder-shown) + button {
	display: block;
}
.blog-search-form input:not(:-ms-input-placeholder) + button {
	display: block;
}
.blog-search-form input:not(:placeholder-shown) + button {
	display: block;
}

.blog-search-form label {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	padding: 0;
	border: 0;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.blog-text-column {
	margin: auto;
	max-width: 70rem;
	font-size: clamp(1rem, 1.2vw, 1.4rem);
	padding: var(--v-padding) var(--h-padding);
}

.blog-author-info {
	display: flex;
	padding: 2rem 0;
	gap: 2rem;
	align-items: center;
}

.blog-author-info .team-title, .blog-author-info .team-subtitle {
	text-align: start;
}

.blog-author-info .team-image {
	width: 8rem;
	height: 8rem;
}

.blog-quote {
	background: #EBFAFF;
	margin: 3rem auto 3rem;
}

.solutions, .case-studies {
	padding: var(--h-padding) var(--h-padding);
	background-color: var(--bg-light);
}

.solutions-grid, .case-studies-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4rem;
}

.flex-center {
	justify-content: center;
}

.custom-list > li::marker {
	color: var(--primary);
	content: '✔';
}

.custom-list > li:hover::marker {
	color: #46bbfc;
}

ol {
	margin: 0 0 2rem;
	padding: 0;
	counter-reset: item;
	text-align: start;
}

ol > li {
	margin: 0;
	padding: 0 0 0 2rem;
	text-indent: -2rem;
	list-style-type: none;
	counter-increment: item;
}

ol > li:not(.nav-item) {
	list-style: none;
}

ol > li:before {
	display: inline-block;
	padding-right: 2rem;
	font-weight: bold;
	font-style: italic;
	text-align: left;
	content: counters(item, ".") ". ";
}

ol > ol {
	margin-bottom: 0;
	margin-left: 2rem;
}

ol + li:before {
	content: counters(item, ".") ". ";
}

.pt-2 {
	padding-top: 0.5rem;
}

.pt-3 {
	padding-top: 1rem;
}

.py-2 {
	padding-block: 0.5rem;
}

#CookielawBanner {
	position: fixed;
	bottom: 0;
	color: white;
	background: linear-gradient(180deg, #131D26, #1D2939);
	background-size: 400% 400%;
	-webkit-animation: gradient 8s ease infinite;
	animation: gradient 8s ease infinite;
	width: 100%;
	z-index: 1;
}

.cookie-content {
	padding: 2rem 3rem 2rem 3rem;
}

.cookie-buttons {
	display: flex;
	gap: 2rem;
}

.cookie-button {
	margin: 0;
}

.alert-text {
	color: red;
	font-size: 5rem;
}

.highlight {
	background-color: #EEF43B;
}

.free-demo-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.free-demo-image {
	max-height: 7rem;
  	margin: auto;
  	display: block;
}

.free-demo-subtitle {
	font-family: 'Urbanist', sans-serif;
	font-size: clamp(1.4rem, 1.5vw, 2rem);
	font-weight: bold;
	text-align: center;
	margin-top: 1rem;
}

.free-demo-section {
	margin-top: var(--v-padding);
	background: linear-gradient(180deg, #4893B3, #5DBBE4);
}

.color-white {
	color: white;
}

/* FAQ Styles Start */
.faq-wrapper {
	margin-block: 1rem;
}

.question {
	position: relative;
	font-size: clamp(1.4rem, 1.3vw, 1.8rem);
	padding: 1rem 3rem 1rem 6rem;
	color: white;
	background: linear-gradient(180deg, #131D26, #1D2939);
	background-size: 400% 400%;
	-webkit-animation: gradient 8s ease infinite;
	animation: gradient 8s ease infinite;
	display: block;
	cursor: pointer;
}

/* FAQ Answer */
.answers {
	font-size: clamp(1.3rem, 1.2vw, 1.6rem);
	background: var(--secondary);
	color: var(--text-dark);
	height: 0;
	opacity: 0;
	-webkit-transition: .3s ease;
	-moz-transition: .3s ease;
	-o-transition: .3s ease;
	transition: .3s ease;
}

.questions:checked ~ .answers {
	height: auto;
	opacity: 1;
	padding: 2rem;
}

/* FAQ Toggle */
.plus {
	color: white;
	pointer-events: none;
	position: absolute;
	margin-top: 1rem;
	margin-left: 2rem;
	font-size: 3rem;
	z-index: 1;
	-webkit-user-select: none;    
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
	-webkit-transition: .3s ease;
	-moz-transition: .3s ease;
	-o-transition: .3s ease;
	transition: .3s ease;
}

.questions:checked ~ .plus {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.questions {
	display: none;
}
/* FAQ Styles End */

::-webkit-scrollbar {
	width: 1.6rem;
}

::-webkit-scrollbar-thumb {
	background-color: var(--text-light);
}

::-webkit-scrollbar-track {
	background-color: #eaeaea;
	border-left: 1px solid var(--text-light);
}

::selection {
	color: #fff;
	background: rgba(0, 0, 0, 0.5);
}

/* Mobile menu */
@media only screen and (max-width: 991px) {

	.nav-sub-menu {
		display: none;
	}

	.nav-menu {
		position: fixed;
		gap: 0rem;
		left: -100%;
		top: 9rem;
		flex-direction: column;
		background-color: var(--primary);
		color: white;
		width: 100%;
		text-align: center;
		transition: 0.3s;
		box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05);
		border-bottom: 1px solid white;
	}

	.slick-images .slick-prev {
		left: -25px;
	}

	.slick-images .slick-next {
		right: -25px;
	}

	.nav-menu.active {
		left: 0;
		-webkit-box-shadow: 0 3px 5px rgb(57 63 72 / 30%);
		-moz-box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
		box-shadow: 0 3px 5px rgb(57 63 72 / 30%);
	}

	.nav-item {
		margin: 1rem 0;
	}
	
	.nav-link {
		color: white;
	}

	.header .nav-logo {
		flex: 1;
	}

	.hamburger {
		display: block;
		cursor: pointer;
	}

	.hamburger.active .bar:nth-child(2) {
		opacity: 0;
	}

	.hamburger.active .bar:nth-child(1) {
		-webkit-transform: translateY(8px) rotate(45deg);
		transform: translateY(8px) rotate(45deg);
	}

	.hamburger.active .bar:nth-child(3) {
		-webkit-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) rotate(-45deg);
	}
}

/* Hover nav menu */
@media only screen and (min-width: 992px) {
	.nav-menu > li:hover ul div, .nav-menu > li:hover ul {
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		transform: translate(0, 0);
		-webkit-transition: all 0.3s ease-in-out 0.1s;
		-moz-transition: all 0.3s ease-in-out 0.1s;
		-ms-transition: all 0.3s ease-in-out 0.1s;
		transition: all 0.3s ease-in-out 0.1s;
	}

	.nav-menu > li:hover ul {
	  	-webkit-box-shadow: 0 3px 5px rgb(57 63 72 / 30%);
		-moz-box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
		box-shadow: 0 3px 5px rgb(57 63 72 / 30%);
	}

	.nav-menu > li a {
		position: relative;
	}

	.nav-menu > li a:after {
		position: absolute;
		transition: all ease-in-out .3s;
		background: none repeat scroll 0 0 #46bbfc;
		content: "";
		display: block;
		height: 2px;
		width: 0;
	}

	.nav-menu > li a:hover:after {
		width: 100%;
	}

	.nav-sub-menu {
		overflow: hidden;
		list-style: none;
		position: absolute;
		width: max-content;
		left: 0;
		top: 6.2rem;
		z-index: -1;
		margin-left: -1rem;
		-webkit-transform: translate(0, -100%);
		-moz-transform: translate(0, -100%);
		-ms-transform: translate(0, -100%);
		transform: translate(0, -100%);
		-webkit-transition: all 0.3s ease-in-out 0.3s;
		-moz-transition: all 0.3s ease-in-out 0.3s;
		-ms-transition: all 0.3s ease-in-out 0.3s;
		transition: all 0.3s ease-in-out 0.3s;
	}

	.nav-sub-menu div {
		position: relative;
		-webkit-transform: translate(0, -100%);
		-moz-transform: translate(0, -100%);
		-ms-transform: translate(0, -100%);
		transform: translate(0, -100%);
		-webkit-transition: all 0.3s ease-in-out 0.3s;
		-moz-transition: all 0.3s ease-in-out 0.3s;
		-ms-transition: all 0.3s ease-in-out 0.3s;
		transition: all 0.3s ease-in-out 0.3s;
	}

	.nav-sub-menu .nav-item {
		display: block;
		width: 100%;
		background: white;
		padding-inline: 2rem;
		padding-block:  1.25rem;
	}
}

@media only screen and (max-width: 500px) {
	.cookie-buttons {
		flex-direction: column;
	}
}

@media only screen and (max-width: 599px) {
	:root {
		--v-padding: 3rem;
		--h-padding: 2rem;
		--title: 4rem;
		--subtitle: 2.2rem;
		--text: 1.6rem;
		--link: 1.6rem;
		--small: 1.2rem;
	}

	.section {
		flex-direction: column;
	}

	.section-img {
		min-height: 50vw;
	}

	.full-width-img {
		height: 30rem;
	}

	.section-img, .text-column {
		width: 100%;
	}

	.full-width-text {
		width: 100%;
	}

	.solutions-grid, .case-studies-grid, .blog-posts-grid {
		gap: 2rem;
		grid-template-columns: 1fr;
	}

	.services-grid {
		gap: 2rem;
		grid-template-columns: 1fr 1fr;
	}

	.industries-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.column-grid {
		gap: 1rem;
	}

	.app-download-img {
		height: 4rem;
	}

	.home-banner-image {
		min-height: 15rem;
	}

	.banner-image {
		min-height: 50vw;
	}

	.footer-about-us {
		width: unset;
	}

	.footer-flex {
		width: 100%;
		flex-direction: column;
		text-align: center;
		gap: 4rem;
		padding-bottom: 2rem;
	}

	.footer-bottom {
		flex-direction: column;
		gap: 2rem;
	}

	.industries-title {
		padding-bottom: 4rem;
	}

	.full-width-banner-image {
		min-height: 60vw;
	}

	.quote-container .quote {
		padding: 0 0 1rem 0;
	}

	.quote-container .quote p {
		padding: 3rem 0rem 0rem 4rem;
	}

	.quote-container .quote cite {
		padding-left: 4rem;
		padding-bottom: 2rem;
	}

	.quote-container .quote p:first-child:before {
		top: 0;
		left: 0;
	}

	.slick-prev, .slick-next {
		height: 1rem;
		width: 4rem;
	}

	.slick-prev {
		right: 6rem;
	}

	.form-banner {
		flex-direction: column;
	}

	.banner .form-banner .form-text-column, .banner .form-banner .form-wrapper {
		width: 100%;
	}

	.form-text-column {
		width: 100%;
		gap: 0;
	}

	.form-banner .form-wrapper {
		margin: 0;
		border-radius: 0;
	}

	.banner .form-wrapper {
		width: 100%;
	}

	.form-section {
		grid-template-columns: 0% 1fr;
	}

	.form-section .form-field {
		width: 100%;
	}

	.button {
		padding: 1.2rem 4rem 1.2rem 4rem;
	}

	.contact-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.free-demo-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.contact-panel {
		display: flex;
		gap: 2rem;
		width: 20rem;
	}

	.contact-image {
		max-width: 50%;
		max-height: 6rem;
		margin: auto 0;
	}

	.team-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.cookie-button {
		padding: 1.2rem 3rem 1.2rem 3rem;
	}

	.footer-quick-links, .footer-legal {
		align-items: center;
	}
}

@media only screen and (min-width: 600px) and (max-width: 767px) {
	:root {
		--v-padding: 3rem;
		--h-padding: 2rem;
		--title: 4rem;
		--subtitle: 2.2rem;
		--text: 1.6rem;
		--link: 1.6rem;
		--small: 1.2rem;
	}

	.section {
		flex-direction: column;
	}

	.section-img {
		min-height: 50vw;
	}

	.full-width-img {
		height: 40rem;
	}

	.section-img, .text-column {
		width: 100%;
	}

	.full-width-text {
		width: 100%;
	}

	.solutions-grid, .case-studies-grid, .blog-posts-grid {
		gap: 2rem;
		grid-template-columns: 1fr;
	}

	.services-grid {
		gap: 2rem;
	}

	.industries-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.app-download-img {
		height: 6rem;
	}

	.home-banner-image {
		min-height: 20rem;
	}

	.banner-image {
		min-height: 50vw;
	}

	.footer-about-us {
		width: unset;
	}

	.footer-flex {
		width: 100%;
		flex-direction: column;
		text-align: center;
		gap: 4rem;
		padding-bottom: 2rem;
	}

	.footer-bottom {
		flex-direction: column;
		gap: 2rem;
	}

	.industries-title {
		padding-bottom: 4rem;
	}

	.full-width-banner-image {
		min-height: 60vw;
	}

	.quote-container .quote {
		padding: 0 0 1rem 0;
	}

	.quote-container .quote p {
		padding: 3rem 0rem 0rem 6rem;
	}

	.quote-container .quote cite {
		padding-left: 6rem;
	}

	.quote-container .quote p:first-child:before {
		top: 0;
		left: 0;
	}

	.slick-prev, .slick-next {
		height: 1rem;
		width: 4rem;
	}

	.form-banner {
		flex-direction: column;
	}

	.banner .form-banner .form-text-column, .banner .form-banner .form-wrapper {
		width: 80%;
		margin: auto;
	}

	.form-text-column {
		gap: 0;
		width: 100%;
	}

	.banner .form-wrapper {
		width: 80%;
		margin-inline: auto;
	}

	.form-section {
		grid-template-columns: 40% 1fr;
	}

	.form-section .form-field {
		width: 100%;
	}

	.button {
		padding: 1.2rem 4rem 1.2rem 4rem;
	}

	.contact-panel {
		display: flex;
		gap: 1rem;
	}

	.contact-image {
		max-width: 50%;
		max-height: 6rem;
		margin: auto;
	}

	.footer-quick-links, .footer-legal {
		align-items: center;
	}
}

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

	:root {
		--v-padding: 3rem;
		--h-padding: 2rem;
		--title: 4rem;
		--subtitle: 2.2rem;
		--text: 1.6rem;
		--link: 1.6rem;
		--small: 1.2rem;
	}

	.full-width-text {
		width: 100%;
	}

	.solutions-grid, .case-studies-grid {
		gap: 2rem;
	}

	.industries-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.banner .form-banner .form-text-column, .banner .form-banner .form-wrapper {
  		width: 50%;
  	}

  	.banner .form-wrapper {
  		width: 60%;
  	}

  	.form-section {
  		grid-template-columns: 50% 1fr;
  	}

  	.form-section .form-field {
  		width: 70%;
  	}

  	.button {
  		padding: 1.2rem 4rem 1.2rem 4rem;
  	}

  	.contact-image {
		max-width: 50%;
		max-height: 9rem;
		margin: auto;
  	}

	.slick-images .slick-prev {
		left: 0;
	}

	.slick-images .slick-next {
		right: 0;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	:root {
		--v-padding: 3rem;
		--h-padding: 2rem;
		--title: 4rem;
		--subtitle: 2.2rem;
		--text: 1.6rem;
		--link: 1.6rem;
		--small: 1.2rem;
	}

	.full-width-text {
		width: 80%;
	}

	.form-section {
  		grid-template-columns: 50% 1fr;
  	}

  	.form-section .form-field {
  		width: 70%;
  	}
}

@media only screen and (min-width: 1200px) and (max-width: 1609px) {
	:root {
		--v-padding: 3rem;
		--h-padding: 6rem;
		--title: 3rem;
		--subtitle: 1.6rem;
		--text: 1.3rem;
		--link: 1.3rem;
		--small: 1rem;
	}

	.banner-title {
		font-size: 4rem;
	}
}

@media only screen and (min-width: 1610px) {
	:root {
		--v-padding: 4rem;
		--h-padding: 8rem;
		--title: 4rem;
		--subtitle: 2.2rem;
		--text: 1.6rem;
		--link: 1.6rem;
		--small: 1.2rem;
	}
}
