* {
  margin: 0;
  padding: 0;
  font-family: "Montserrat", sans-serif;
}

html.lenis, html.lenis body {
  height: auto;
}

a {
	text-decoration: none;
	color:#000;
}
a:hover {
	color: #6667CE;
}
a.disabled {
    opacity: 0.5;
}

img {
    user-drag: none;
    -webkit-user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

#cookies-container {
	position: fixed;
    top: 0;
    z-index: 9999;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgb(0 0 0 / 96%);
	display: flex;
	align-items: center;
	justify-content: center;
}
#cookies-container .content {
	padding: 2rem;
	max-width: 500px;
	text-align: center;
	color:#fff;
}
#cookies-container .title {
	font-size: min(38px, 2vw);
    font-weight: 800;
	margin-bottom: 0.5rem;
}
#cookies-container .sub-title {
	font-size: min(29px, 1.5vw);
    margin-bottom: 2rem;
}
#cookies-container .content a.decline {
	margin-top: 2rem;
	color:#fff;
	display: block;
	font-style: italic;
	opacity: 0.7;
}
#cookies-container .content a.accept {
	margin-top: 2rem;
	padding: 1rem 2rem;
	border: 1px solid #fff;
	display: block;
	border-radius: 20px;
	transition: all .3s ease;
	color:#000;
	background:#fff;
}
#cookies-container .content a.accept:hover {
	color:#fff;
	background: transparent;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

body {
	background: #e0e0e0;
	overflow-y: scroll;
	overflow-x: hidden;
}
body.fixed {
	padding-top: 100px;
}

header {
	height: 100px;
	display: flex;
	align-items: center;
	padding: 0 3rem ;
	transition: all .2s ease;
	top: -100px;
	color: #000;
	font-size: 16px;
}
header svg {
	transition: all .2s ease;    
}
header.light, header.menu {
	color:#fff;
}
header.light svg, header.menu svg {
	stroke:#fff;
}
header .right {
	gap: 2rem;
}
header .logo-light {
	display: none;
}
header .logo-dark {
	display: block;
}
header.light .logo-light, header.menu .logo-light {
	display: block;
}
header.light .logo-dark, header.menu .logo-dark {
	display: none;
}
header .right span.strong {
	font-weight: 800;
}
header .right .weather {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	position: relative;
}
header .right .weather .temperature {
    position: absolute;
    top: 35px;
    width: 100%;
    text-align: center;
	display: none;
}
header .right .weather .temperature.open {
    display: block;
}
header .right .weather .temperature div {
    display: none;
}
body.fixed header, header.fixed {
	position: fixed;
	top: 0px;
	width: 100%;
	background: rgba(255, 255, 255, 0.1);
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
header {
	z-index: 50;
}

body.fixed.top header, body.top header.fixed {
	background: transparent;
}

header .logo {
	height: 61px;
	color:#000;
}

#hero {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	max-width: 100%;
}
#header-text {
	position: absolute;
	top: calc(10% + 100px);
	color:#fff;
	left: 50%;
	transform: translate(-50%, 0%);
	z-index: 9;
}
#sky {
	width: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}
#birds {
	width: auto;
	position: absolute;
	top: 85vh;
	left: 40%;
	mix-blend-mode: difference;
	z-index: 8;
}
#lake {
	width: 100%;
	object-fit: cover;
	position: absolute;
	top: 400px;
	left: 0;
	z-index: 4
}
#lake video {
	width: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4
}
#meteor {
	z-index: 3;
	position: absolute;
	top: 20%;
	right: -50px;
}
#light-mist {
	z-index: 4;
	position: absolute;
	top: 100vh;
	left: 0;
}
#vision {
	z-index: 3;
	position: absolute;
	top: 2000px;
	left: 0;
	transform: scale(1.1);
}
#mountains {
	z-index: 3;
	position: absolute;
	top: 90vh;
	left: 0;
}
#beach {
	z-index: 6;
	position: absolute;
	bottom: -100vh;
	left: 0;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#beach img {
	width: 63%;
}
#leaf-left {
	z-index: 6;
	position: absolute;
	width: 9%;
	bottom: 0;
	left: 0;
	transform: rotate(292deg);
	left: -55px
}
#leaf-right {
	z-index: 6;
	position: absolute;
	width: 9%;
	bottom: 0;
	right: -55px;
	transform: rotate(63deg);
}
#man {
	z-index: 6;
	position: absolute;
	width: 30px;
	bottom: -100vh;
	left: 50%;
	transform: translate(-50%, 0%);
}


#header-text h1 {
	font-family: "Montserrat", sans-serif;
	font-size: 8vw;
	color:#fff;
	font-weight: 700;
	line-height: 90%;
}
#header-text h1 span {
	font-family: "Montserrat", sans-serif;
	display: block;
	color:#6667ce;
	font-weight: 700;
	line-height: 90%;
}
#header-text .left p {
	margin-top: 2rem;
	font-family: "Montserrat", sans-serif;
	font-size: 22px;
	font-weight: 300;
	color: #fff;
}
#header-text .left p span {
	font-weight: 500;
}
#header-text .right p {
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-weight: 500;
	color: #fff;
}
#header-text {
	padding: 3rem;
}
.project-numbers {
	background: #000;
	padding: 15rem 0;
	color:#fff;
}
.project-numbers h1 {
	font-family: "Montserrat", sans-serif;
	font-size: 62px;
	font-weight: 900;
	background: #000;
}
.project-numbers p {
	font-size: 26px;
}
.project-numbers .numbers {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem;
}
.project-numbers .numbers span {
	font-size: 62px;
	font-weight: 900
}

.text-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
    opacity: 0.7;
	transform-origin: center right;
	display: block;
}
#change-resolution {
	position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 9999;
    background: rgb(0 0 0 / 95%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
	font-size: 25px;
}
#change-resolution a{
	color:#6667ce;
}


.home-page .services, .why-us {
    padding: 15rem 0;
}
.home-page.careers-page .services {
    padding-top: 0;
}
.home-page .why-us {
	padding-top: 0;
}
.home-page .services h2 {
    font-size: 75px;
	font-weight: 900;
	line-height: 90%;
}
.home-page .services p {
    font-size: 18px;
	margin-top: 1rem;
}
.home-page .services h2 span {
    color: #6667CE;
}
.home-page .services .service1 {
    display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	border-radius: 60px;
    border-bottom: 1px solid #878686;
}
.home-page .services .service2 {
	margin-top: 5rem;
    display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	border-radius: 60px;
    border-bottom: 1px solid #878686;
}
.home-page .services .service2 > div {
    flex: 50%;
	padding: 2rem;
}
.home-page .services .service2 div:first-child {
    border-right: 1px solid #878686;
}

.home-page .services .service1 > div {
    flex: 50%;
	padding: 2rem;
}
.home-page .services .service1 .right {
	flex: 50%;
    margin-top: 1rem;
	border-left: 1px solid #878686;
}
.home-page .services .service1 .right span:first-child {
	color:#979797;
	font-size: 22px;
	display: block;
}
.home-page .services .service1 .right p {
	font-size: 18px;
	color:#000;
}
a.action {
	font-size: 24px;
	font-weight: 800;
	display: inline-flex;
	gap: 10px;
	align-items: center;
}

a.action:hover {
	color: #000;
}
a.action span {
	border: 1px solid #000;
    border-radius: 50%;
    margin-bottom: 0 !important;
    height: 33px;
    width: 33px;
    display: flex !important;
    align-items: center;
    justify-content: center;
	background: linear-gradient(to right, #000 50%, #e0e0e0 50%);
	background-size: 200% 100%;
	background-position: right bottom;
	transition: all .5s ease;
}
a.action.white span {
	background: linear-gradient(to right, #000 50%, #fff 50%);
	background-size: 200% 100%;
	background-position: right bottom;
}
a.action.light {
	color:#fff;
}
a.action.light:hover {
	color:#fff;
}
a.action.light span {
	border: 1px solid #fff;
	background: linear-gradient(to right, #fff 50%, transparent 50%);
	background-size: 200% 100%;
	background-position: right bottom;
}
a.action:hover span {
	background-position: left bottom;
}
a.action:hover span svg {
	stroke: #fff;
}
a.action.light:hover span svg {
	stroke: #000;
}

.watch-video {
	margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgb(255 255 255 / 35%);
    display: inline-flex!important;
}


#loading-overlay {
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.98);
  transition: 1s 0.4s;
}

#loading-progress {
  height: 1px;
  background: #fff;
  position: absolute;
  width: 0; /* will be increased by JS */
  top: 50%;
}

#loading-progstat {
  font-size: 0.7em;
  letter-spacing: 3px;
  position: absolute;
  top: 50%;
  margin-top: -40px;
  width: 100%;
  text-align: center;
  color: #fff;
}


.why-us .single {
    position: absolute;
    height: 60vh;
    top: 0;
    left: 0;
    width: 27%;
    background: #6667ce;
    padding: 5rem 2rem;
    color: #fff;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    -webkit-box-shadow: 16px 0px 48px -11px rgba(0,0,0,0.38);
    -moz-box-shadow: 16px 0px 48px -11px rgba(0, 0, 0, 0.38);
    box-shadow: 16px 0px 48px -11px rgba(0,0,0,0.38);
	z-index: 5;
	padding-left: 5rem;
}
.why-us .single:nth-child(1) {
    width: 24%;
	padding-left: 3rem;
}
.why-us .single:nth-child(2) {
    /*left: 21%;*/
	left: -5%;
    background: #5556c2;
	z-index: 4;
}
.why-us .single:nth-child(3) {
    /*left: 45%;*/
	left: -5%;
    background: #3d3eae;
	z-index: 3;
}
.why-us .single:nth-child(4) {
    /*left: 69%;*/
	left: -5%;
    background: #2b2c8e;
	z-index: 2;
	width: 26%;
}

.why-us .single h3 {
	font-weight: 700;
	font-size: 40px;
}
.why-us .single h3 span {
	font-weight: 400;
}
.why-us .single p {
	margin-top: 2rem;
	font-size: 20px;
}
.get-ready div {
	font-size: 50px;
}
.get-ready span {
	font-size: 22px;
}
.get-ready h4 {
	font-weight: 800;
    font-size: 9vw;
}
.get-ready .more svg {
	display: none;
}
.works-start, .works-start .projects {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
	position: relative;
	overflow: hidden;
}
.works-start h4 {
	font-weight: 800;
    font-size: 15vw;
	scale: 1;
}
.works-start .circle {
	position: absolute;
	display: block;
	width: 0px;
	height: 0px;
	left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
	background: #6667ce;
	border-radius: 50%;
}
.works-start .projects {
	color: #fff;
	display: none;
	width: 400vw;
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
	justify-content: flex-start;
}
.works-start .project {
	position: relative;
	width: 100vw;
	height: 100%;
}
.works-start .project2 {
	background: #5556c2;
}
.works-start .project3 {
	background: #3d3eae;
}
.works-start .project4 {
	background: #2b2c8e;
}
.works-start .project .left {
	position: absolute;
    left: 0;
	padding-left: 6rem;
    top: 40vh;
	z-index: 2;
	width: 45%;
}
.works-start .project .right {
	position: absolute;
    right: 10rem;
    top: 4vh;
    z-index: 3;
    width: 45%;
    height: auto;
    object-fit: cover;
}
.works-start .project .bottom {
	position: absolute;
    left: 0;
	width: 100%;
    bottom: 0;
	z-index: 2;
	padding: 4rem 5rem;
	border-top: 1px solid #fff;
}
.works-start .project .bottom a {
	color: #fff;
}
.works-start .project h3 {
	font-size: 60px;
	font-weight: 800;
}
.works-start .project p {
	font-size: 24px;
}

.works-start .project .tags {
    display: flex;
    gap: 1rem;
}
.works-start .project .tags span {
    padding: 0.5rem 1rem;
    border: 1px solid #fff;
    border-radius: 20px;
}

.works-start .projects .project1 .left {
	left: -100vw;
}
.works-start .projects .project1 .right {
	right: -100vw;
}
.works-start .projects .project1 .bottom {
	bottom: -100vh;
}

.works-start .projects .bottom-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

section.projects {
	display: none;
}

.cta-index, .cta-general {
	padding-top: 15rem;
	background: #2b2c8e;
	color:#fff;
	padding-bottom: 15rem;
	border-bottom-left-radius: 0%;
	border-bottom-right-radius: 0%;
}

.newsletter {
	position: absolute;
	bottom: -13px;
	left: 50%;
	transform: translate(-50%, 0%);
	width: 100%;
}
.cta-general {
	text-align: center;
	padding-top: 12rem;
	padding-bottom: 16rem;
}
.cta-index h3 {
	font-weight: 800;
	font-size: 65px;
}
.cta-general h3 {
	font-weight: 800;
	font-size: 125px;
}
.cta-index p, .cta-general p {
	font-size: 24px;
	margin-bottom: 3rem;
}

.newsletter {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 3rem;
}
.newsletter .newsletter-form {
    max-width: 1280px;
    background: #fff;
    z-index: 10;
    padding: 3rem 6rem;
    border-radius: 20px;
    display: flex;
	gap: 2rem;
    justify-content: space-between;
    align-items: center;
	-webkit-box-shadow: 0px 10px 22px -9px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 10px 22px -9px rgba(0,0,0,0.75);
	box-shadow: 0px 10px 22px -9px rgba(0,0,0,0.75);
}
.newsletter .newsletter-form span {
	font-size: 30px;
    font-weight: 700;
}
.newsletter .newsletter-form .input {
	display: flex;
    padding: 1rem 2rem;
    border: 2px solid #8e8e8e;
    border-radius: 15px;
    gap: 2rem;
	position: relative;
}
.newsletter .newsletter-form .input input {
    border: 0;
    height: 53px;
    width: 300px;
}
.newsletter .newsletter-form .input input:focus{
    outline: none;
}

.get-ready .more {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.get-ready .more > div {
	padding-right: 1.5rem
}
.newsletter .newsletter-form span.warning {
    font-size: 12px;
    position: absolute;
    top: 6px;
    color: #ed5656;
}

footer {
	margin-top: 10rem;
}

footer .top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 2px solid #8e8e8e;
}

footer .top .links {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 2rem;
}
footer .top .links a {
	font-size: 18px;
}
footer .top .social {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2rem;
}


footer .bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 3rem;
}
footer .bottom .copy {
	font-size: 14px;
	color:#8e8e8e;
}

footer .bottom .links {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 2rem;
	
}

footer .bottom .links a {
	font-size: 14px;
}

#menu {
	position: fixed;
    top: 100px;
    z-index: 10;
    width: 100%;
    height: calc(100% - 100px);
	background: rgb(0 0 0 / 72%);
	backdrop-filter: blur( 14.5px );
	-webkit-backdrop-filter: blur( 14.5px );
	transition: top .7s ease 0s;
	overflow-y: auto;
}
#menu.hidden {
	top: -200vh;
}
#menu .content {
	padding: 3rem;
}

header.menu {
	background: rgb(0 0 0 / 72%)!important;
	backdrop-filter: blur( 14.5px );
	-webkit-backdrop-filter: blur( 14.5px );
}


@-webkit-keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
@keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}

.animated-menu {
	-webkit-animation: tracking-in-expand 0.7s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
	animation: tracking-in-expand 0.7s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
}
#menu .links a {
    font-size: 58px;
    font-weight: 800;
	margin-left: 10px;	
	color:#fff;
}

.menu-toggle {
	cursor: pointer;
}

#menuIcon path {
	transition: transform 0.5s ease;
}
#menuIcon.open #topLine {
	transform: rotate(45deg) translate(30px, -36px);
}

#menuIcon.open #middleLine {
	opacity: 0;
}

#menuIcon.open #bottomLine {
	transform: rotate(-45deg) translate(-43px, 9px);
}

#menu .links div:hover a {
	text-shadow: 0 0 10px #fff,
	0 0 20px #6667ce,
	0 0 40px #fff,
	0 0 50px #fff,
	0 0 120px #fff,
	0 0 160px #fff;
	
}
#menu .links span {
    font-size: 23px;
	color:#6667ce;
}

#video-modal {
	position: fixed;
    top: 0;
    z-index: 99;
    width: 100%;
    background: rgb(0 0 0 / 91%);
    height: 100%;
}
#video-modal .close {
	position: fixed;
    top: 0;
	right: 0;
    z-index: 99;
    padding: 0.4rem;
	color:#fff;
	cursor: pointer;
}
#video-modal .video {
	position: absolute;
    left: 5rem;
    right: 5rem;
    transform: translate(0%, -50%);
    top: 50%;
}

section.generic {
	padding: 8rem 0;
}
section.starting {
	margin-top: 100px;
}

section.s404 h2 {
	color:#6667CE;
	font-weight:800;
	font-size: 250px;
	
	background: -webkit-linear-gradient(0deg, #6667CE, #2b2c8e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
section.s404 h5 {
	margin-top: 2rem;
	margin-bottom: 2rem;
	border-top: 1px solid #cbcaca;
	padding-top: 2rem;
	font-weight:700;
}

.breadcrumps {
    background: rgb(102,103,206);
	background: linear-gradient(90deg, rgba(102,103,206,1) 0%, rgba(43,44,142,1) 100%);
    color:#c3c3c3;
	padding: 0 3rem;
}
.breadcrumps .nav {
	display: flex;
    gap: 10px;
	flex-wrap: nowrap;
    align-items: center;
	overflow-x: auto;
	height: 34px
}
.breadcrumps a {
	color:#fff;
	white-space: nowrap;
}
.breadcrumps span {
	font-weight: 600;
	white-space: nowrap;
}

.contact-page .more-info {
    display: flex;
    gap: 3rem;
}
.contact-page .generic h2 {
    font-size: 110px;
	font-weight: 800;
	margin-bottom: 0;
	line-height: 95%;
}
.purple {
    color:#6667CE!important;
}
.black {
    color:#000!important;
}
.text-justify {
    text-align: justify!important;
}
.contact-page .generic h2.purple {
	margin-bottom: 3rem;
}
.contact-page .more-info p {
    color: #000;
	font-size: 22px;
}
.contact-page .more-info div:first-child {
    border-right: 1px solid #afafaf;
    padding-right: 1.5rem;
}
.contact-page section.generic:not(.message-received) {
    padding-bottom: 2rem;
}
.contact-page .form {
	margin-bottom: 8rem;
    font-size: min(35px, 1.8vw);
    font-weight: 600;
}
.contact-page .form .options {
    display: inline-flex;
	gap: 1.4vw;
}
.contact-page .form .options span {
    font-weight: 500;
    font-size: min(20px, 1.1vw);
    padding: 5px 13px;
    border: 1px solid;
    border-radius: 34px;
	cursor: pointer;
	text-align: center;
}
.contact-page .form .options span:hover, .contact-page .form .options span.active {
    background:#000;
	color:#fff;
}
.contact-page .form input.text {
	background: transparent;
    border: none;
    border-bottom: 2px solid #9f9f9f;
	text-align: center;
	font-size: min(23px, 1.2vw);
	outline: none;
	flex-grow: 1;
}
.contact-page .form input.warning-border, .contact-page .form textarea.warning-border {
	border-bottom: 2px solid #f17d74!important;
}
.contact-page .form .error {
	text-align: right;
    margin-top: 1rem;
    font-size: 15px;
    color: #f17d74;
}
.career-page .error {
	margin-top: 1rem;
    font-size: 15px;
    color: #f17d74;
}
.contact-page .button label {
	font-size: 17px;
}
.contact-page .form textarea {
	background: transparent;
    border: none;
    border-bottom: 2px solid #9f9f9f;
	text-align: center;
	font-size: 1.2vw;
	outline: none;
	flex-grow: 1;
	width: 100%;
}
.contact-page .watch-v {
	margin-top: 5rem;
    display: flex;
    justify-content: flex-end;
}
.contact-page .watch-v a.action {
    font-size: 16px;
	margin-top: 0;
    padding-top: 0;
	border-top: none;
}
.contact-page .watch-v img {
	width: 41px;
    height: 41px;
    border-radius: 50%;
}

.gap1 {
	gap: 1rem;
}
.gap05 {
	gap: 0.5rem;
}
.contact-page .form .r {
    margin-top: 1.5rem;
	display: flex;
    align-items: center;
    gap: 13px;
	justify-content: space-between;
}
.contact-page .form .button {
    margin-top: 5.5rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2rem;
}
.contact-page .form input[type="checkbox"] {
	width: 19px;
    height: 19px;
	accent-color: #6667ce;
}
.contact-page .contact-details {
    display: flex;
    gap: 2rem;
    margin-top: 2rem;
    font-weight: 700;
}

.blog-page .container, .article-page .container {
	max-width: 1100px;
	padding-left: 2rem;
	padding-right: 2rem;
}
.blog-page .intro h2 {
	font-size: 120px;
	font-weight: 800;
}
.blog-page.blog-category .intro h2 {
	font-size: 80px;
	font-weight: 800;
}
.blog-page .intro p {
	font-size: 30px;
	font-weight: 600;
}
.blog-page .categories {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem;
	margin-bottom: 1rem;
}
.blog-page .categories a {
	display: block;
	padding: 5px 10px;
    border-radius: 20px;
    border: 1px solid #000;
}
.blog-page .categories a:hover {
	border: 1px solid #6667CE;
}
.blog-page .categories a.active {
	border: 1px solid #6667CE;
	background: #6667CE;
	color:#fff!important;
}
.blog-page.blog-category .intro p {
	font-size: 20px;
    font-weight: 500;
	margin-bottom: 3rem;
}
.blog-page .pagination, .article-page .pagination {
    display: flex;
    justify-content: space-between;
}
.article-page .pagination {
    margin-top: 2rem;
    border-top: 1px solid #9f9e9e;
    padding-top: 1rem;
}
.article-page .pagination span {
    display: block;
	font-style: italic;
}
.article-page .pagination > div {
    width: 48%;
}

.article-page .pagination div:last-child {
    text-align: right;
}
.blog-page .pagination a, .article-page .pagination a {
    font-size: 30px;
    font-weight: 700;
	transition: all .5s ease;
    display: inline-block;
}
.blog-page .pagination a:hover, .article-page .pagination a:hover {
    -moz-transform: scale(1, -1);
	-webkit-transform: scale(1, -1);
	-o-transform: scale(1, -1);
	-ms-transform: scale(1, -1);
	transform: scale(1, -1);
}

.blog-page .intro span {
	color:#6667ce;
}
.blog-page .articles {
	margin-top: 3rem;
}
.blog-page .article .header {
	background:#6667ce;
	padding: 2rem 4rem;
	border-radius: 20px;
	color:#fff;
}
.blog-page .article .header a {
	color:#fff;
}
.blog-page .article .header .top, .article-page .header .top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.article-page .header .tag {
	padding: 5px 10px;
	border-radius: 20px;
	border: 1px solid #000;
	color:#000;
}
.article-page .content h3 {
	font-size: 22px;
    font-weight: 700;
	margin-top: 2rem;
}
.article-page .content h4 {
	font-size: 18px;
    font-weight: 700;
}
.article-page .header a.tag:hover {
	color:#000;
}
.article-page .header h1 {
	font-size: 40px;
	font-weight: 700;
	margin-top: 2rem;
}
.article-page .header img {
	width: 100%;
	border-radius: 20px;
	height: auto;
	margin-top: 1rem;
	margin-bottom: 2rem;
}
.blog-page .article .header .tag {
	padding: 5px 10px;
	border-radius: 20px;
	border: 1px solid #fff;
}
.blog-page .article .header .main {
	margin-top: 3rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.blog-page .article .header .main a {
	font-size: 30px;
	font-weight: 500;
}

.blog-page .article .header .main a.icon {
	border: 1px solid #fff;
    border-radius: 50%;
    margin-bottom: 0 !important;
    height: 33px;
    width: 33px;
    display: flex !important;
    align-items: center;
    justify-content: center;
	background: linear-gradient(to right, #fff 50%, #6667ce 50%);
	background-size: 200% 100%;
	background-position: right bottom;
	transition: all .5s ease;
	aspect-ratio: 1;
}

.blog-page .article .header .main a.icon:hover {
	background-position: left bottom;
}
.blog-page .article .header .main a.icon:hover svg {
	stroke: #000;
}
.blog-page .article .image {
	margin-top: 1rem;
}
.blog-page .article .image img {
	width: 100%;
	border-radius: 20px;
	height: auto;
}
.blog-page .articles .article {
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #bababa;
}
.blog-page .articles .article:last-child {
	margin-bottom: 0rem;
	padding-bottom: 2rem;
	border-bottom: none;
}


.about-page .mobile {
	display: none;
}
.about-page .first .container, .services-page .first .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4rem;
}
.services-page section.generic {
	padding: 8rem 0;
	padding-bottom: 4rem;
}

.services-page .first .container {
	justify-content: flex-start;
}
.services-page .services .service .container .r {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 4rem;
}
.services-page .services {
	margin-bottom: 6rem;
}
.services-page .services .service {
	transition: background-color 0.4s ease-in-out;
}
.services-page .services .service:hover {
    background-color: #ebebeb;
}
.services-page .services .service .container .r .left-c {
	width: 25%;
	font-size: min(23px, 1.4vw);
}
.services-page .services .service .container .r .right-c {
    width: 65%;
	font-weight: 500;
}
.services-page .services .service {
	padding-top: 4rem;
	padding-bottom: 4rem;
}
.services-page .services .service {
	border-bottom: 1px solid #979797;
}
.services-page .services .service a:not(.action) {
	font-size: min(53px, 3.3vw);
	font-weight: 800;
	margin-bottom: 0;
}
.services-page .services .service .container .r:not(:first-child) {
	margin-top: 2rem;
}
.about-page .first h1, .services-page .first h1 {
	font-weight: 800;
	font-size: clamp(80px, 6vw, 100px);
	line-height: 90%;
	flex-grow: 0;
	flex-shrink: 1;
	margin-bottom: 2rem
}
.services-page .why-gc {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 3rem;
	margin-bottom: 3rem;
	padding-top: 3rem;
	padding-bottom: 3rem;
	text-align: center;
}
.services-page .more-text {
	padding: 4rem 0;
	display: flex;
	justify-content: center;
	background: #fff;
}
.services-page .rest {
	padding-top: 4rem;
}
.services-page .more-text .container {
	max-width: 70%;
}
.services-page .why-gc .container {
	display: flex;
    justify-content: center;
}
.services-page .why-gc .panel {
	position: relative;
	border: 1px solid #6667CE;
	border-radius: 30px;
	padding: 3rem 5rem;
	padding-top: 5rem;
	max-width: 700px;
}
.services-page .why-gc .top {
	font-size: min(43px, 2.7vw);
    font-weight: 700;
    line-height: 96%;
	position: absolute;
    top: -40px;
    left: 50%;
    transform: translate(-50%, 0px);
    background: #e0e0e0;
    padding: 0 1rem;
    white-space: nowrap;
}
.services-page .why-gc .top span {
	display: block;
	color:#6667CE;
}
.services-page .why-gc .content {
	font-weight: 500;
	color:#000;
}
.services-page .why-gc .content span {
	font-weight: 700;
	color:#6667CE;
}
.about-page .first h1 span {
	color:#6667CE;
}
.services-page .first .below {
	font-size: min(1.5vw, 28px);
	font-weight: 500;
}
.services-page .first .right {
	padding-left: 3rem;
	border-left: 1px solid #979797;
	color:#242529;
	font-size: min(1.5vw, 23px);
	line-height: 150%;
	max-width: 30%;
	font-style: italic;
}

.about-page .first .panel {
	background:#6667ce;
	padding: 3rem 4rem;
	border-radius: 60px;
	flex-grow: 1;
	flex-basis: 50%;
}
.about-page .first .panel p{
	font-size: 1.2rem;
	color:#e9e9e9;
	font-weight: 500;
}
.about-page .first .panel p.leading{
	font-size: 1rem;
	color:#fff;
	font-weight: 400;
}
.about-page .section-title {
	color:#6667CE;
	font-weight: 700;
	white-space: nowrap;
}
.about-page .section-text {
	font-size: 1.2rem;
    font-weight: 500;
}
.about-page .story {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 3rem;
	
	align-items: stretch;
}
.about-page .story .right {
	padding-left: 3rem;
	margin-left: 3rem;
	border-left: 1px solid #979797;
	padding-bottom: 5rem;
	max-width: 50%;
}
.about-page .mission {
	border-top: 1px solid #979797;
	border-bottom: 1px solid #979797;
}
.about-page .mission .container > div {
	padding-top: 5rem;
	padding-bottom: 5rem;
}
.about-page .mission .right {
	padding-left: 3rem;
	margin-left: 3rem;
	border-left: 1px solid #979797;
}
.about-page .mission .container {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 3rem;
}
.about-page .mission .left {
	flex: 0 0 auto;
    width: 50%;
}
.about-page .mission img {
	width: 100%;
	height: auto;
}
.about-page .section-title {
	margin-bottom: 2rem;
}
.about-page .vision  {
	margin-top: 5rem;
}
.about-page .vision .container  {
	max-width: 700px;
}
.about-page .values {
	margin-top: 5rem;
	border-top: 1px solid #979797;
}
.about-page .values-container {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.about-page .values-container .column {
	padding-top: 3rem;
	padding-bottom: 8rem;
	padding-left: 2rem;
	padding-right: 2rem;
	border-left: 1px solid #979797;
	
	position: relative;
    overflow: hidden;
	transition: color 0.5s ease;
	width: 20%;
}
.about-page .values-container .column:not(:first-child)::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #6667CE;
  transition: top 0.5s ease;
  z-index: -1;
}
.about-page .values-container .column:nth-child(3)::after {
	background-color: #5556c2;
}
.about-page .values-container .column:nth-child(4)::after {
	background-color: #3d3eae;
}
.about-page .values-container .column:nth-child(5)::after {
	background-color: #2b2c8e;
}
.about-page .values-container .column:hover::after {
	top: 0;
}
.about-page .values-container .column:hover {
	color:#fff;
}
.about-page .values-container h4 {
	font-weight: 700;
	margin-bottom: 2rem;
}

.about-page.services-page .story .right {
	max-width: 100%;
	
}
.services-page .story .right h4:not(:first-child) {
	margin-top: 2rem;
	
}
.services-page .rest {
	border-bottom: 1px solid #979797;
}	
.services-page .benefits {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
	position: relative;
	overflow: hidden;
	text-align:center;
}	
.services-page .benefits .benefit {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
	position: absolute;
	top: 200vh;
	left: 0;
	width: 100%;
	overflow: hidden;
	text-align:center;
}
.services-page .benefits .benefit h2 {
    font-size: 6vw;
}
.services-page .benefits h2 {
	font-weight: 800;
    font-size: 12vw;
	scale: 1;
}
.terms-page h1 {
	margin-bottom: 3rem;	
}
.terms-page h3 {
	font-weight: 700;	
}
.terms-page h3:not(:first-child) {
	margin-top: 2rem;
}
.case-studies .first h2 {
	font-size: min(61px, 4vw);
    font-weight: 800;
}
.services-page.case-studies .first .container {
    align-items: flex-start;
}
.services-page.case-studies .first .right {
    line-height: 100%;
    max-width: 100%;
    font-style: normal;
    font-weight: 500;
	font-size: 1.2rem;
	border-left: none;
}
.services-page.case-studies .services .service .container .r .right-c {
    width: 37%;
}
.services-page.case-studies .services .service {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right center;
	background-size: 37%;
}
.case-study .features {
	padding: 5rem 0;
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 11%, rgba(224,224,224,1) 100%);
}
.case-study .features .r {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 2rem;
}
.case-study .features .r .service {
	border-radius: 30px;
	background:#6667ce;
	color:#fff;
	text-align: center;
	padding: 3rem;
	flex-grow: 1;
	flex-basis: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}
.case-study .features .r .service:hover {
	background:#000!important;
	-webkit-box-shadow: 0px 0px 39px -5px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 39px -5px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 39px -5px rgba(0,0,0,0.75);
}
.case-study .features .r .service a.action {
	color:#fff;
	font-weight: 300;
}
.case-study .features .r .service.w33 {
	flex-basis: 33%;
}
.case-study .features .r .service.w67 {
	flex-basis: 67%;
}
.case-study .features .service h3 {
	margin-bottom: 2rem;
	font-weight: 700;
}
.case-study .features .service p {
	margin-bottom: 2rem;
}

body.case-study.is_dark {
	background:#000;
}
.case-study .intro {
	display: flex;
	color:#fff;
	align-items: center;
	justify-content: center;
	padding: 0 5rem;
	height:calc(100vh - 134px);
	text-align: center;
}
.case-study .intro .container {
	max-width: 700px;
}
.case-study .intro h2 {
	font-size: min(61px, 4vw);
    font-weight: 800;
}
.case-study .intro p {
	font-size: min(1.5vw, 23px);
    line-height: 150%;
    font-style: italic;
	text-align: center;
}
.bg-normal {
	background:#e0e0e0!important;
}
.case-study .leading-intro {
	display: flex;
	width: 100%;
	height: 100vh;
	background:#fff;
	align-items: center;
	justify-content: center;
	color:#000;
}
.case-study .leading-intro .container {
	max-width: 700px
}
.case-study .leading-intro p {
	font-size: min(1.7vw, 26px);
    line-height: 150%;
	text-align: center;
}
.case-study .leading-intro .text-overlay {
	background-color:#fff;
}

.case-study .features .r:first-child .service:nth-child(2) {
	background: #5857cd;
}
.case-study .features .r:nth-child(2) .service:nth-child(1){
	background: #403fb9;
}
.case-study .features .r:nth-child(2) .service:nth-child(2){
	background: #2e2d97;
}
.case-study .features .r:nth-child(3) .service:nth-child(2) {
	background: #5857cd;
}
.case-study .features .r:nth-child(4) .service:nth-child(1){
	background: #403fb9;
}
.case-study .features .r:nth-child(4) .service:nth-child(2){
	background: #2e2d97;
}
.case-study .features .r:nth-child(5) .service:nth-child(2) {
	background: #5857cd;
}
.case-study .features .r:nth-child(6) .service:nth-child(1){
	background: #403fb9;
}
.case-study .features .r:nth-child(6) .service:nth-child(2){
	background: #2e2d97;
}
.case-study .features .r:nth-child(7) .service:nth-child(2) {
	background: #5857cd;
}
.case-study .features .r:nth-child(8) .service:nth-child(1){
	background: #403fb9;
}
.case-study .features .r:nth-child(8) .service:nth-child(2){
	background: #2e2d97;
}
.case-study .case-logo {
    max-width: 113px;
    margin-bottom: 2rem;
}


.case-study .service:hover a.action {
	color:#fff;
}
.case-study .service:hover a.action span {
	background-position: left bottom;
}
.case-study .service:hover a.action.light span svg {
	stroke: #000;
}

.case-study #feature-showcase-bg {
	position: fixed;
	background:transparent;
	width: 100%;
	height: 800%;
	right: 0;
	top: 0;
	z-index: 51;
}
.case-study #feature-showcase {
	position: fixed;
	background:#000;
	width: 96%;
	max-width: 1200px;
	-webkit-box-shadow: -9px 0px 26px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: -9px 0px 26px 0px rgba(0,0,0,0.75);
	box-shadow: -9px 0px 26px 0px rgba(0,0,0,0.75);
	height: 100%;
	right: 0;
	top: 0;
	z-index: 52;
	overflow-y: auto;
	color:#fff;
	padding: 5rem 3rem;
	transition: all .5s ease;
	padding-top: 0;
	overscroll-behavior: contain;
}
.case-study #feature-showcase #back {
	position: sticky;
	top: 0;
	padding-top: 2rem;
	padding-bottom: 2rem;
	display: block;
	background:#000;
	margin-left: -3px;
	z-index: 55;
}
.case-study #feature-showcase.hidden {
	right: -200vw;
}
.case-study #feature-showcase .feature h2 {
	font-weight: 800;
}
.case-study #feature-showcase .feature h3 {
	margin-top: 2rem;
	font-weight: 700;
}
.case-study video, .case-study #feature-showcase img {
	border-radius: 20px;
	margin-bottom: 2rem;
}
.case-study #feature-showcase .warning {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 2rem;
    top: 0;
    width: 100%;
    left: 0;
    background: rgba(0, 0, 0, 0.98);
    height: 98%;
    border-radius: 20px;
    border: 1px solid;
	z-index: 54;
}
.case-study #feature-showcase .warning .confirm-warning {
	color:#fff;
	padding: 1rem;
	display: block;
	width: 100%;
	border-radius: 10px;
	border: 1px solid #fff;
	margin-top: 2rem;
	text-align: center;
	transition: all .2s ease;
}
.case-study #feature-showcase .warning .confirm-warning:hover {
	color:#000;
	background:#fff;
}
.careers-page .first h2 {
	font-size: min(43px, 2vw);
}
.careers-page .first h1 {
	font-size: min(91px, 5vw);
    font-weight: 800;
    line-height: 90%;
}
.careers-page .first .intro-text {
	margin-top: 2rem;
	font-size: 1.2rem;
    font-weight: 500;
	max-width: 600px;
}
.career-page .first .container {
	display: flex;
    align-items: center;
    justify-content: space-between;
	gap: 2rem;
}
.career-page .first h2 {
    font-size: min(78px, 4vw);
	font-weight: 800;
    line-height: 90%;
}
.career-page .quiz h2 {
    font-size: min(78px, 4vw);
	font-weight: 800;
    line-height: 90%;
	margin-bottom: 3rem;
}
.career-page .quiz .action, .career-page .quiz-start .action {
    margin-top: 2rem;
}
.career-page .quiz .warning {
    border-top: 1px solid #6566cc;
	padding-top: 1rem;
}
.career-page .first .right {
    line-height: 120%;
    font-weight: 500;
    font-size: 1.2rem;
	flex-basis: 50%;
}
.career-page .info h3 {
    font-weight: 700;
	font-size: min(2.4vw, 35px);
	margin-bottom: 1rem;
}
.career-page .quiz h3 {
    margin-top: 2rem;
}
.career-page .list > div {
    display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px;
	margin-top: 1.5rem;
	font-weight: 500;
    font-size: 1.2rem;
}
.career-page .info p:not(.note) {
    font-weight: 500;
    font-size: 1.2rem;
}
.career-page .info .notice {
	color: #6667ce;
	font-style: italic;
}
.career-page .list span {
    display: flex;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	padding: 5px;
}
.career-page .list:not(:last-child) {
    margin-bottom: 3rem;
}
.career-page .quiz-start .question:not(:first-child) {
    margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid #979797;
}
.career-page .quiz-start .options {
    display: flex;
    gap: 1rem;
	margin-bottom: 1rem;
}
.career-page textarea, .career-page input {
    background: #fff;
    padding: 5px 10px;
    border-radius: 10px;
    border: 1px solid #000;
    color: #000;
    font-weight: 500;
	width: 100%;
}
.career-page .quiz-start .options span {
    background: #fff;
    padding: 5px 10px;
    border-radius: 10px;
    border: 1px solid #000;
    color: #000;
    font-weight: 500;
    cursor: pointer;
}
.career-page .quiz-start .options span:hover, .career-page .quiz-start .options span.active {
    background: #6667ce;
    color: #fff;
    border: 1px solid #6667ce;
}
.career-page .form-group {
    margin-bottom: 1.2rem;
}
.career-page .form {
    margin-top: 2rem;
}
.career-page input[type="checkbox"] {
    width: 19px;
    height: 19px;
    accent-color: #6667ce;
}
.career-page .form-group label {
    font-weight: 500;
    font-size: 1.2rem;
	margin-bottom: 10px;
}
.message-received.info .container h3 {
    font-weight: 700;
    font-size: min(2.4vw, 35px);
    margin-bottom: 1rem;
	margin-bottom: 2rem;
}
.message-received.info .container {
    display: block;
	text-align: center;
	max-width: 800px;
}
.message-received.info .container p {
    font-weight: 500;
    font-size: 1.2rem;
	margin-bottom: 2rem;
}
.message-received.info .container span {
    background-color:#add0d3;
	color:#39adb7;
	display: inline-flex;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	padding: 5px;
	margin-bottom: 2rem;
}
.newsletter-form span.check {
    background-color:#add0d3;
	color:#39adb7;
	display: inline-flex;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	padding: 5px;
}

@media (max-width: 1160px) {
	.services-page.case-studies .services .service {
		background-image: initial!important;
	}
	.services-page.case-studies .services .service .container .r .right-c {
		width: 100%;
	}
}
@media (max-width: 1160px) {
	.services-page.case-studies .services .service {
		background-size: 37%;
	}
}
@media (min-width: 769px) {
	#global-img.m-auto {
		margin-bottom: -3rem !important;
	}
	.contact-page .form .options, .contact-page .form .options span {
		flex-grow: 1;
	}
}

@media (max-width: 768px) {
	#video-modal {
		padding: 0;
	}
	#video-modal .video {
		left: 0;
		right: 0;
	}

	header {
		padding: 0 1rem;
		height: 80px;
	}
	#header-text h1 {
		font-size: 50px;
	}
	#header-text .left p {
		font-size: 17px;
	}
	#header-text .right p {
		font-size: 15px;
	}
	#sky {
		height: 120vh;
		width: auto;
	}
	#lake {
		top: 69vh;
	}
	#mountains img, #vision img, #light-mist img, #beach img {
		width: 100%;
		height: auto;
	}
	#vision img:first-child {
		width: 50%;
	}
	#man {
		width: 20px;
	}
	#leaf-right {
		right: -14px;
	}
	#leaf-left {
		left: -8px;
	}
	
	.project-numbers, .services {
		padding: 5rem 0;
	}
	.project-numbers .numbers {
		flex-flow: row wrap;
		gap: 0;
		border-bottom: 1px solid;
		padding-bottom: 2rem;
	}
	.numbers div {
		flex: 1;
		flex-basis: 100%;
	}
	#projects-info {
		margin-top: 2rem;
		overflow: hidden;
	}
	.project-numbers h1, .project-numbers .numbers span {
		font-size: 48px;
	}
	#change-resolution{
		font-size: 20px;
	}
	
	.home-page .services h2 {
		font-size: 36px;
	}
	#light-mist {
		opacity: 0.3;
	}
	
	.why-us .single:nth-child(1), .why-us .single:nth-child(2), .why-us .single:nth-child(3), .why-us .single:nth-child(4) {
		width: 89%;
		padding-left: 3rem;
		left: 0;
	}
	.why-us .single:nth-child(1), .why-us .single:nth-child(2), .why-us .single:nth-child(3) {
		box-shadow: none;
	}
	
	.get-ready div {
		font-size: 22px;
		line-height: 122%;
		text-align: center;
	}
	
	.works-start h4 {
		font-size: 19vw;
		scale: 1;
	}
	
	.get-ready h4 {
		font-size: 72px;
		text-align: center;
	}
	
	.get-ready .more {
		display: block;
	}
	
	.get-ready .more svg {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
		margin-top: 22px;
		stroke: #383b3f;
	}
	
	.get-ready span {
		font-size: 22px;
		display: block;
		margin-top: 2rem;
	}
	
	.works-start .projects {
		display: none;
	}
	
	section.projects {
		display: block;
	}
	
	
	section.projects .project {
		color: #fff;
	}
	section.projects .project .right {
		width: 100%;
		height: auto;
	}
	
	section.projects .project {
		padding: 1rem;
	}
	
	section.projects .project1 {
		background: #6667ce;
		padding-top: 0;
	}
	section.projects .project2 {
		background: #5556c2;
		padding-top: 2rem;
	}
	section.projects .project3 {
		background: #3d3eae;
		padding-top: 2rem;
	}
	section.projects .project4 {
		background: #2b2c8e;
		padding-top: 2rem;
	}
	
	section.projects .project .bottom a {
		color: #fff;
	}
	section.projects .project h3 {
		font-size: 60px;
		font-weight: 800;
	}
	section.projects .project p {
		font-size: 24px;
	}

	section.projects .project .tags {
		display: flex;
		gap: 1rem;
	}
	section.projects .project .tags span {
		padding: 0.5rem 1rem;
		border: 1px solid #fff;
		border-radius: 20px;
	}
	
	section.projects .project p {
		font-size: 16px;
	}
	
	
	section.projects .projects .project .bottom {
		padding: 1rem 0rem;
		bottom: initial;
	}
	
	section.projects .projects .bottom-flex {
		display: block;
		text-align: center;
	}
	section.projects .project .tags span {
		padding: 0.5rem;
		font-size: 12px;
	}
	section.projects .project h3 {
		font-size: 48px;
	}
	section.projects .project .tags {
		justify-content: center;
	}
	section.projects .project .bottom a {
		margin-top: 1rem;
	}
	
	.newsletter .newsletter-form {
		width: 95%;
		padding: 2rem 1rem;
		gap: 0rem;
	}
	.newsletter {
		bottom: -20px;
	}
	
	.newsletter .newsletter-form, .newsletter .newsletter-form .input {
		flex-wrap: wrap;
		justify-content: center;
	}
	.newsletter .newsletter-form .input {
		border: none;
	}
	.newsletter .newsletter-form .input input {
		width: 100%;
		padding: 2rem 1rem;
		border: 2px solid #8e8e8e;
		border-radius: 15px;
	}
	.cta-index .blue-spacer, .cta-general .blue-spacer {
		border-radius: 0;
	}
	
	.cta-index, .cta-general {
		padding-left: 1rem;
		padding-right: 1rem;
		padding-top: 6rem;
	}
	
	.cta-index h3 {
		font-size: 53px;
	}
	
	.cta-general h3 {
		font-size: 49px;
	}
	.blog-page .cta-general h3, .article-page .cta-general h3 {
		font-size: 43px;
	}
	
	.cta-index p {
		font-size: 18px;
	}
	
	.cta-general p {
		font-size: 18px;
		margin-top: 1rem;
	}
	
	.cta-index img {
		margin-top: 3rem
	}
	.cta-index {
		border-bottom-left-radius: 28% 6%;
		border-bottom-right-radius: 28% 6%;
	}
	.cta-general {
		padding-bottom: 20rem;
		border-bottom-left-radius: 45% 30%;
		border-bottom-right-radius: 45% 30%;
	}
	
	footer {
		margin-top: 5rem;
	}
	footer .top {
		display: block;
	}
	footer .top .links {
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		column-gap: 2rem;
		row-gap: 1rem;
	}
	footer .top .social {
		align-items: center;
		justify-content: center;
		margin-top: 2rem;
	}
	footer .bottom {
		flex-direction: column-reverse;
	}
	footer .bottom .copy {
		margin-top: 1rem;
	}
	.home-page .services .service1 {
		border-radius: 0;
	}
	
	.home-page .services .service1 > div:first-child {
		padding-bottom: 0;
	}
	
	
	.home-page .services .service1 .right {
		border-left: none;
		margin-top: 0;
		padding-top: 1rem
	}
	
	.home-page .services .service1 .right {
		border-left: none;
	}
	
	.home-page .services .service2 {
		border-bottom: none;
		margin-top: 0;
	}
	.home-page .services .service2 div:first-child {
		border-right: none;
	}
	.home-page .services .service2 div {
		border-bottom: 1px solid #878686;
	}
	.home-page .services .service2:last-child div:last-child {
		border-bottom: none;
	}
	.home-page .services .service2 br {
		display: none;
	}
	
	#menu {
		top: 80px;
		height: calc(100% - 80px);
	}
	
	#menu.hidden {
		top: -200vh;
	}
	#menu .links a {
		font-size: 36px;
		line-height: 65px;
	}
	
	header .right span.location {
		display: none;
	}
	
	header .right .weather .temperature {
		background: rgb(0 0 0 / 70%);
		padding: 5px;
		font-size: 14px;
		border-radius: 10px;
		color:#fff;
	}
	
	header .right .weather .temperature div {
		display: block;
	}
	
	section.generic {
		padding: 5rem 0;
	}
	section.starting {
		margin-top: 80px;
	}
	section.s404 h2 {
		font-size: 120px;
	}
	.breadcrumps {
		padding: 0 1rem;
	}
	
	.contact-page .generic h2 {
		font-size: 38px;
	}
	.contact-page .more-info {
		display: block;
	}
	.contact-page .more-info div:first-child {
		border-right: none;
		padding-right: inherit;
	}
	.contact-page .contact-details {
		display: block;
	}
	.contact-page .contact-details div {
		margin-top: 1rem;
	}
	.contact-page .contact-details a {
		font-weight: 500;
		display: block;
	}
	.contact-page .more-info p {
		font-size: 16px;
	}
	
	.contact-page .form .r {
		margin-top: 1.5rem;
		display: block;
		font-size: 17px;
	}
	.contact-page .form input.text, .contact-page .form textarea {
		font-size: 13px;
		display: block;
		margin-top: 0.4rem;
		margin-bottom: 1rem;
		width: 100%;
		text-align: left;
	}
	.contact-page .form .options span {
		font-size: 3.1vw;
	}
	.contact-page .form .options {
		margin-top: 0.5rem;
		flex-wrap: wrap;
	}
	.contact-page .button label {
		font-size: 13px;
	}
	.contact-page .form input[type="checkbox"] {
		width: 14px;
		height: 14px;
	}
	.contact-page .form .button {
		display: block;
		margin-top: 2rem;
	}
	.contact-page .form .button .btn-div {
		display: flex;
		justify-content: end;
	}
	.contact-page .form .button .btn-div a.action {
		margin-top: 1rem;
		font-size: 20px;
	}
	
	.article-page .header h1 {
		font-size: 28px;
	}
	.blog-page .intro h2 {
		font-size: 44px;
	}
	.blog-page.blog-category .intro h2 {
		font-size: 34px;
	}
	.blog-page .article .header {
		padding: 2rem 2rem;
	}
	.blog-page .article .header .tag {
		font-size: 13px;
	}
	.blog-page .article .header .main {
		margin-top: 1rem;
	}
	.blog-page .article .header .main a {
		font-size: 24px;
	}
	.blog-page .article .header .main a.icon {
		display:none!important;
	}
	.blog-page .pagination a, .article-page .pagination a {
		font-size: 27px;
	}
	.article-page .header .tag {
		font-size: 14px;
	}
	.blog-page .categories {
		flex-wrap: nowrap;
		overflow-x: auto;
	}
	.blog-page .categories a {
		white-space: nowrap;
		font-size: 13px;
	}
	.about-page .values {
		overflow: hidden;
		width: 100vw;
		margin-bottom: 8rem;
		
	}
	.about-page .values-container {
		display: flex;
		position: relative;
		border: none;
		flex-wrap: wrap;
		width: 335vw;
		left: -5vw;
	}
	.about-page .values-container .column:first-child {
		display: none;
	}
	.about-page .values-container .column {
		width: 80vw;
		height: 45vh;
		display: block;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		text-align: center;
		padding-bottom: 3rem;
		border: none;
		border-radius: 26px;
	}
	.about-page .values-container .column:nth-child(2) {
		background-color: #6667CE;
		color:#fff;
	}
	.about-page .values-container .column:nth-child(3) {
		background-color: #5556c2;
		color:#fff;
	}
	.about-page .values-container .column:nth-child(4) {
		background-color: #3d3eae;
		color:#fff;
	}
	.about-page .values-container .column:nth-child(5) {
		background-color: #2b2c8e;
		color:#fff;
	}
	.about-page .first .container {
		display: block;
	}
	.about-page .first h1 {
		font-size: min(13vw, 54px);
	}
	.about-page .first .panel {
		padding: 2rem 1rem;
		border-radius: 40px;
		margin-top: 2rem;
	}
	.about-page .first .panel p {
		font-size: 1rem;
	}
	.about-page .first .panel p.leading {
		font-size: 0.7rem;
	}
	.about-page .section-text {
		font-size: 1rem;
	}
	.about-page .desktop {
		display: none;
	}
	.about-page .mobile {
		display: block;
	}
	.about-page .story-card {
		padding: 2rem 1rem;
		border-radius: 40px;
		margin-top: 1rem;
		border: 1px solid #6667ce;
		padding-top: 3rem;
		position: relative;
		margin-bottom: 5rem;
	}
	.about-page .story-card .story-header {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, -17px);
		font-size: 18px;
		font-weight: 600;
		background: #6667ce;
		padding: 5px 15px;
		border-radius: 16px;
		color: #fff;
	}
	.about-page .img {
		margin-bottom: 5rem;
	}
	.about-page .img img {
		width: 100%;
		height: auto;
	}
	.about-page .values {
		margin-top: 0;
		border-top: none;
	}
	.about-page .values-title {
		font-size: 36px;
		color: #000;
		font-weight: 800;
		margin-bottom: 2rem;
	}
	.services-page .why-gc .panel {
		padding: 1rem 2rem;
		padding-top: 4rem;
	}
	.services-page .why-gc .top {
		font-size: 27px;
		top: -29px;
	}
	.services-page .services .service .container .r {
		flex-wrap: wrap;
		gap: 0.1rem;
	}
	.services-page .services .service .container .r .left-c {
		font-size: 20px;
		width: 100%;
		flex-basis: 100%;
		font-weight: 600;
	}
	.services-page .services .service .container .r .right-c {
		width: 100%;
		flex-basis: 100%;
	}
	.services-page .services {
		margin-bottom: 0;
	}
	.services-page .services {
		padding: 0;
	}
	.services-page .services .service {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	.services-page .first .container {
		flex-wrap: wrap;
		gap: 1rem;
	}
	.services-page .first .container > div {
		flex-basis: 100%;
	}
	.services-page .first h1 {
		font-size: 52px;
	}
	.services-page .first .below {
		font-size: 20px;
	}
	.services-page .first .right {
		padding-left: 1rem;
		font-size: 15px;
		max-width: 90%;
	}
	.services-page .services .service .container .r:first-child .left-c {
		display: none;
	}
	.services-page.about-page .first h1 {
		font-size: 42px;
	}
	.about-page.services-page .story .right {
		border-left: 0;
		padding: 0;
		margin: 0;
	}
	.about-page.services-page .story {
		display: block;
	}
	.about-page.services-page .section-title {
		color: #6667CE;
		font-weight: 700;
		white-space: nowrap;
		font-size: 30px;
	}
	.services-page .benefits .benefit h2 {
		font-size: 11vw;
	}
	.services-page .benefits .fs-2 {
		font-size: 18px!important;
	}
	.services-page .more-text .container {
		max-width: 98%;
	}
	.services-page .services .service a:not(.action), .case-studies .first h2 {
		font-size: min(8vw, 33px);
	}
	.services-page.case-studies .first .right {
		padding-left: 0;
	}
	.services-page section.generic {
		padding: 4rem 0;
	}
	#menu .content {
		padding: 2rem;
	}
	.case-study .intro {
		padding: 0;
	}
	.case-study .intro h2 {
		font-size: min(37px, 10vw);
		font-weight: 800;
	}
	.case-study .intro p {
		font-size: min(5vw, 23px);
		margin-bottom: 2rem;
	}
	.case-study .leading-intro p {
		font-size: min(4.7vw, 20px);
	}
	.case-study .intro {
		height:calc(100vh - 114px);
	}
	.case-study .features .r {
		flex-wrap: wrap;
	}
	.case-study .features .r .service {
		flex-basis: 100%!important;
	}
	.careers-page .first .intro-text {
		font-size: 1rem;
	}
	.careers-page .first h1 {
		font-size: max(58px, 13vw);
	}
	.careers-page .first h2 {
		font-size: min(17px, 4vw);
		margin-bottom: 1rem;
	}
	.home-page.careers-page .services {
		padding-bottom: 5rem;
	}
	.home-page.careers-page .services .service1 {
		border-bottom: none;
	}
	.home-page.careers-page .services .service1 > div {
		padding: 0;
	}
	.career-page .first .container {
		display: block;
	}
	.career-page .first h2, .career-page .quiz h2{
		font-size: 36px;
	}
	.career-page .quiz h2 {
		margin-bottom: 1rem;
	}
	.career-page .first .right {
		font-size: 17px;
		margin-top: 1rem;
	}
	.career-page .info h3 {
		font-size: max(5vw, 18px);
	}
	.career-page .list > div {
		font-size: 0.9rem;
	}
	.career-page section.generic {
		padding-bottom: 3rem;
	}
	.career-page .info p:not(.note) {
		font-size: 0.9rem;
	}
	.career-page .p.note {
		font-size: 0.8rem;
	}
	.career-page .quiz-start .options {
		flex-wrap: wrap;
	}
	.career-page .quiz-start .options span {
		flex-basis: 100%;
	}
	.message-received.info .container h3 {
		font-size: max(5vw, 18px);
	}
	.message-received.info .container p:not(.note) {
		font-size: 0.9rem!important;
	}
	
	.newsletter .newsletter-form span.warning {
		top: initial;
		bottom: -8px;
	}
	#cookies-container .title {
		font-size: 25px;
	}
	#cookies-container .sub-title {
		font-size: 20px;
	}
	#cookies-container .content a.accept {
		padding: 1rem;
	}
}