:root {
	--white: #FFF;
	--black: #000;
	--pink: #DF5593;
	--blue: #5D9FCA;
	--dark-blue: #004E9E;
	--green: #9CCC3E;
	--orange: #F7941E;
	--grey: #E3E3E3;
	/* this value is going to be changed by javascript */
	--replace-offset: 50%;
  	--replace-offset-2: calc((100% - var(--replace-offset) ) * -1);
}


.bg-grey {
	background-color: var(--grey);
}
.nf-form-content input:not([type=button]) {
	background: white !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none;
    color: #787878;
    transition: all .5s;
    border-bottom: solid 2px #9CCC3E !important;	
	
}

.nf-form-content textarea {

	background: white !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none;
    color: #787878;
    transition: all .5s;
    border-bottom: solid 2px #9CCC3E !important;
	
}

.nf-form-content textarea.ninja-forms-field {
	  height: 50px !important;
		text-transform: uppercase;
  		color: black;
}


.nf-form-content input[type="submit"] {
     background-color: var(--dark-blue) !important;
    border-radius: 50px !important;
	color: white !important;
    border: none !important;
}

.nf-form-content input[type="submit"]:hover {
     background-color: var(--green) !important;
    border-radius: 50px !important;
	color: white !important;
    border: none !important;
}

.nf-form-content input:not([type="button"]) {
	text-transform: uppercase !important;
}
/* ----------------------------------------------------- Container, Body and HTML Styles ---------------------------------------------------------------- */

@media only screen and (min-width : 1100px) {
	
	body {
		-ms-overflow-style: none !important;
		scrollbar-width: none !important; 
	}
	::-webkit-scrollbar {
		display: none !important;
	}
	
/*	#container {
		overflow-y:scroll;
		overflow-x:hidden;
		-webkit-transform: rotate(270deg) translateX(-100%);
		transform: rotate(270deg) translateX(-100%);
		transform-origin: top left;
		position:absolute;
		width:100vh;
		height:100vw;
		scroll-behavior: smooth;
	}
	#container2 {
		-webkit-transform: rotate(90deg) translateY(-100vh);
		transform: rotate(90deg) translateY(-100vh);
		transform-origin: top left;
		display: flex;
		width: fit-content;
		background-color: var(--white);
		background-image: url("../image/dot-bg-01.svg");
		background-repeat: repeat;
		background-size: 40px;
	}
	
	.homepage-container {
		display: flex;
	} */
	
}

/*

#container, html {
	scroll-behavior: smooth;
}
#container.no-scroll {
	overflow: hidden;
}
#container2 {
	background-color: var(--white);
	background-image: url("../image/dot-bg-01.svg");
	background-repeat: repeat;
	background-size: 40px;
	font-family: 'Poppins', sans-serif;
}

/
/* ----------------------------------------------------- Header, Banner Image and Logo Styles ---------------------------------------------------------------- */

header {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100vw;
	padding: max(3vw, 25px) 5vw;
	display: flex;
	align-items: center;
	color: var(--black);
}

.logo {
	width: 15vw;
	max-width: 280px;
	min-width: 140px;
	margin-right: auto;
}
.logo img {
	max-width: 100%;
}

.featured-img {
	background-color: var(--dark-blue);
	background-blend-mode: multiply;
	align-items: flex-end;
	padding: 5vw;
	min-height: 65vh;
}
.featured-img .content {
	max-width: 1400px;
}
/*.featured-img .scroll-indicator {*/
.scroll-indicator {
	position: absolute;
	right: 5vw;
	top: 50%;
	transform: translateY(-50%);
	color: var(--white);
	font-size: 20px;
	text-transform: uppercase;
}



/* ----------------------------------------------------- Burger Styles ---------------------------------------------------------------- */

#burger {
	transform: translateZ(0);
	width: 50px;
	height: 50px;
	z-index: 99999;
	cursor: pointer;
	position: absolute;
	margin: 0 0 0 40px;
	top: 5%;
	right: 3%;
}

#burger .top_line, #burger .middle_line, #burger .bottom_line {
	transition: transform 0.4s ease, background 0.4s ease, opacity 0.4s ease, top 0.4s ease;
	width: 38px;
	height: 2px;
	border-radius: 10px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	background-color: var(--green);
}

#burger .top_line:after, #burger .middle_line:after, #burger .bottom_line:after {
	background-color: rgb(0, 255, 255);
    mix-blend-mode: difference;
}

#burger .top_line {
	top: -20px;
}
#burger .bottom_line {
	top: 20px;
}

.toggle_burger {
	transform: translateZ(0);
}
.toggle_burger .top_line {
	top: 0 !important;
	transform: rotate(45deg);
	background-color: var(--white) !important;
}
.toggle_burger .middle_line {
	opacity: 0;
	background-color: var(--white) !important;
}
.toggle_burger .bottom_line {
	top: 0 !important;
	transform: rotate(-45deg);
	background-color: var(--white) !important;
}

.white-burger .top_line, .white-burger .middle_line, .white-burger .bottom_line {
	background-color: var(--green) !important;
} 



/* ----------------------------------------------------- Menu and Nav Styles ----------------------------------------------------- */

.overlay {
	position: absolute;
	height: auto;
	min-height: 100vh;
	width: 100vw;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	z-index: 9999;
	top: 0;
	left: 0;
	transform: translateY(-100%);
	transition: 0.4s;
	background-color: var(--black);
	padding: max(3vw, 25px) 5vw;
}
.overlay header {
	position: relative;
	padding: 0;
	height: max-content;
}
.open-menu {
	transform: translateY(0);
	position: relative;
}
.overlay h3 {
	color: var(--white);
	font-weight: 700;
	margin-bottom: 10px;
}
.overlay a h6 {
	color: var(--white);
	text-transform: uppercase;
	font-weight: 800;
	margin-bottom: 20px;
}



.overlay #main_nav {
	width: 55%;
	padding: 10px 0;
}
.overlay #updates_nav {
	width: 37.5%;
	padding: 10px 0;
}
.overlay #contact_nav {
	width: 100%;
	display: flex;
}


.overlay ul {
	list-style: none;
	padding-left: 0px;
	display: flex;
	flex-wrap: wrap;
}
.overlay ul *, .menu-link {
	color: var(--blue) !important;
	font-size: 17px;
}
.overlay ul li {
	display: flex;
	font-weight: 400;
}
.overlay ul li::after {
	content: '/';
	display: block;
	padding: 0 15px;
}
.overlay ul li:last-of-type::after {
	display: none;
}



.home-nav {
	z-index: 99999;
	padding-right: 3%;
	position: absolute;
	top: 6.5%;
	right: 5%;
}
.home-nav p, .home-nav p a {
	font-size: 16px;
}
.home-nav ul {
	list-style: none;
	padding: 0px;
	text-transform: uppercase;
	margin-bottom: 0px;
}
.home-nav ul li {
	padding: 20px;
}

.home-nav ul li a {
	color: var(--black) !important;
	text-decoration: none !important;
	font-size: 16px !important;
	font-weight: 400;
}
.home-nav ul li .list-number {
	border-radius: 50%;
	border: solid var(--black) 1px;
	color: var(--black);
	width: 2.5em;
	height: 2.5em;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 200;
	margin-right: 10px;
	font-size: 16px;
	transition-duration: 0.2s;
}
.home-nav ul li a:hover .list-number {
	background-color: var(--black) !important;
	color: var(--white) !important;
}


/* ----------------------------------------------------- 4 Col Nav Bar with Changing Content Styles ------------------------------------------------- */

.active {
	/*display: flex !important;*/
	display: block !important;
}
.active-btn {
	opacity: 0.6;
	transition-duration: 0.4s;
}
#nav_tab_1_content, #nav_tab_2_content, #nav_tab_3_content, #nav_tab_4_content, #nav_tab_5_content {
	display: none;
	padding-right: 0;
	padding-left: 0;
}

.nav-bar-4col li {
	list-style-type: none !important;
	width: 100%;
	transition-duration: 0.4s;
	cursor: pointer;
	font-size: 30px;
	font-weight: 700;
	color: #004E9D;
    margin-top: 20px;
    margin-bottom: 20px;
}
.nav-bar-4col li.active {
	border-bottom-color: var(--grey) !important;
	color: var(--grey);
}

.nav-tab-content {
	display: none;
	display: flex;
}
.nav-tab-content .text {
	height: 100%;
	padding: 5% !important;
	position: absolute;
	color: white !important;
	background-color: rgba(0,78,158,0.8);
    background-blend-mode: multiply;
	width: 100%;
}
.nav-tab-content .img {
	width: 100%;
	min-height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.nav-tab-content h4 {
	font-size: 19px;
	font-weight: 700;
	margin-bottom: 15px;
	margin-top: 10px;
}

.hidden-on-desktop {
	display: none !important;
}




/* ----------------------------------------------------- Animation Styles ---------------------------------------------------------------- */

.line-dot {
	width: 250px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin: 30px 0 30px auto;
}
.line-dot .line {
	width: calc(100% - 20px);
	height: 2px;
	background-color: var(--orange);
}
.line-dot .dot {
	border-radius: 50%;
	background-color: var(--orange);
	position: absolute;
	top: 0;
	height: 20px;
	width: 20px;
	
	animation-name: left-right;
	animation-duration: 1.3s;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-timing-function: ease-in-out;
}
@keyframes left-right {
	from {
		left: 0;
	}
	to {
		left: calc(100% - 20px);
	}
}

.mini-circles {
	display: flex;
}
.mini-circles .circle {
	width: 8px;
	height: 8px;
	border-radius: 100%;
	border: solid 1px var(--black);
	margin: 0 15px;
}


.svg-circle-pulse {
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-name: radius-pulse;
}
@keyframes radius-pulse {
    from {
        r: 19;
    }
    to {
        r: 30;
		opacity: 0;
    }
}

.svg-rotate {
	animation-duration: 15s;
    animation-iteration-count: infinite;
	animation-timing-function: linear;
    animation-name: svg-rotate;
	transform-origin: center;
}
@keyframes svg-rotate {
    from {
        transform: rotate(0deg)
    }
    to {
         transform: rotate(360deg)
    }
}



/* ----------------------------------------------------- SVG Styles ---------------------------------------------------------------- */

#homepage-rotate-circle {
	width: 29vw; 
	height: 29vw; 
	position: absolute; 
	bottom: 25vh;
	transform: translateY(50%);
	right: 10vh; 
	overflow: visible;
	z-index: 999;
}

#homepage_waves_1 path {
	stroke: var(--dark-blue);
	opacity: 0.7;
}
#homepage_waves_2 path {
	stroke: var(--orange);
	opacity: 0.4;
	transition-duration: 0.3s;
}
#homepage_waves_3 path {
	stroke: var(--white);
	opacity: 0.4;
	transition-duration: 0.3s;
}
#homepage_waves_4 path {
	stroke: var(--pink);
	opacity: 0.7;
}
#homepage_waves_5 path {
	stroke: var(--green);
	opacity: 0.7;
}


#industry_waves_1 path {
	stroke: var(--dark-blue);
}
#industry_waves_2 path {
	stroke: var(--green);
}
#industry_waves_3 path {
	stroke: var(--orange);
}

#industry-rotate-svg {
	width: 26vw; 
	height: 26vw; 
	position: absolute; 
	left: 50%; 
	top: 50%; 
	transform: translateX(-50%) translateY(-50%); 
	overflow: visible
}

/* ----------------------------------------------------- Generic Styles ---------------------------------------------------------------- */

.content-section {
	min-width: 100vw;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}

.content-padding {
	padding: 5vw;
}

.black-bg {
	background-color: var(--black);
}
.black-bg * {
	color: var(--white);
}
.black-bg p a {
	color: var(--dark-blue);
}

.maxwidth-1000 {
	max-width: 1000px;
}
.maxwidth-1500 {
	/*max-width: 1500px;*/
	max-width: 85vw;
}


.content-section-twocol .largecol {
	width: 90%;
	max-height: 100%;
    overflow: scroll;
}
.content-section-twocol .smallcol {
	width: 37.5%;
}
.content-section-twocol .largecol img, .content-section-twocol .smallcol img {
	max-width: 100%;
	height: auto;
}


.pattern-bg {
	background-color: var(--white);
	background-image: url("../image/dot-bg-01.svg");
	background-repeat: repeat;
	background-size: 40px;
}

.back-button {
	font-family: 'Poppins', sans-serif;
	cursor: pointer;
	color: var(--dark-blue);
	font-size: 17px;
	text-transform: uppercase;
	z-index: 999;
	position: relative;
	margin-top: 35px;
}

.btn-pink {
    background-color: var(--pink);
    padding: 10px 30px;
    color: #fff;
    border: 0;
    margin-top: 15px;
	font-weight: 700;
	width: auto;
	font-size: 13px;
	cursor: pointer;
}
.btn-pink:hover {
    background-color: var(--white) !important;
    color: var(--pink) !important;
}


.aab_accordion_0b40d200_0 {
    border: none !important;
    border-bottom: solid 1px var(--blue);
}

.wp-block-aab-accordion-block .aab__accordion_head {
    padding: 0 !important;
}


.industry {
    width: 250px;
}

/* ----------------------------------------------------- MAIN Service Page Styles ---------------------------------------------------------------- */

.service-children {
	padding: 7vw 5vw 5vw 5vw;
	display: flex;
	align-content: space-around;
	flex-wrap: wrap;
}
.service-children .child {
	width: 33.3%;
	padding: 3vw;
	display: flex;
	align-items: flex-end;
}
.service-children .child a {
	text-decoration: none !important;
}
.service-children .child .find-out-more {
	font-weight: 700;
	color: var(--dark-blue);
	font-size: 18px;
	text-transform: uppercase;
	display: flex;
	align-items: center;
}
.service-children .child .find-out-more::after {
	content: '';
	display: block;
	width: 60px;
	height: 2px;
	background-color: var(--dark-blue);
	margin-left: 10px;
}



/* ----------------------------------------------------- News Styles ---------------------------------------------------------------- */

button {
	background: none;
	border: none;
	text-transform: uppercase;
	font-size: 1em;
	font-weight: 500;
    color: black;
  text-decoration: none;
}

button:hover {
	background: none;
	border: none;
	text-transform: uppercase;
	font-size: 1em;
	font-weight: 500;
    color: black;
  text-decoration: underline;
}

#contact {
	position: relative;
	display: flex;
	padding: 5vw;
	overflow: hidden;
}

#latest_news {
	position: absolute;
	right: 0px;
	top: 50%;
	transform: rotate(90deg) translateX(-18px) translateY(-55px);
}

#news {
	transition-duration: 0.4s;
	position: absolute;
	right: -100vw;
	top: 0;
	display: flex;
	align-items: center;
	padding: 2vw;
}
#news.news-open {
	transition-duration: 0.4s;
	z-index: 9;
	right: 0;
}
#container.news-open {
	overflow: hidden;
}

#news_back {
	position: absolute;
	left: 0px;
	top: 50%;
	transform: rotate(-90deg) translateX(15px);
	color: var(--white);
}

.news-item {
	display: flex;
	transition-duration: 0.4s;
}
.news-item.active {
	transition-duration: 0.4s;
}
.news-item.active h2 {
	transition-duration: 0.4s;
}


.news-background {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	background-blend-mode: multiply;
	transition-duration: 0.4s;
	will-change: opacity;
	z-index: -1;
}
.news-background.active {
	opacity: 1;
	transition-duration: 0.4s;
}

#news-bg-1 {
	background-color: var(--orange);
	transition-duration: 0.4s;
}
#news-item-1 h2 {
	color: var(--dark-blue);
	transition-duration: 0.4s;
}

#news-bg-2 {
	background-color: var(--green);
	transition-duration: 0.4s;
}
#news-item-2 h2 {
	color: var(--dark-blue);
	transition-duration: 0.4s;
}

#news-bg-3 {
	background-color: var(--pink);
	transition-duration: 0.4s;
}
#news-item-3 h2 {
	color: var(--dark-blue);
	transition-duration: 0.4s;
}



.category-posts {
	padding: 5vw 5vw 7vw 5vw;
}
.category-posts .post {
	height: 100%;
	width: 30.1vw;
	padding: 3vw;
	display: flex;
	align-items: flex-end;
}
.category-posts .post .find-out-more {
	font-weight: 400;
	color: black;
	font-size: 15px;
	text-transform: uppercase;
	display: flex;
	align-items: center;
}
.category-posts .post .find-out-more::after {
	display: block;
	width: 60px;
	height: 2px;
	background-color: var(--dark-blue);
	margin-left: 10px;
}

.nf-form-fields-required {
    display: none !important; 
}

/* ----------------------------------------------------- Homepage Specific Styles ---------------------------------------------------------------- */


.first-screen-view {
	padding-top: 200px;
}

/*#start {
	padding-top: 200px;
}*/

.home-title {
	color: var(--pink);
	max-width: 60vw;
	margin: auto 0;
	padding-bottom: 50px;
	padding-top: 200px;
	font-size: 3.5vw;
}


#main-services {
	background-color: var(--black);
	min-width: 120vw;
}
#main-services * {
	z-index: 20;
}

.service-bg {
	position: absolute;
	z-index: 1 !important;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	opacity: 0;
	background-blend-mode: multiply;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	transition: opacity 0.2s;
	-webkit-transition: opacity 0.2s;
}
#main-services.link-1-active #link_1_bg, #main-services.link-2-active #link_2_bg, #main-services.link-3-active #link_3_bg, #main-services.link-4-active #link_4_bg, #main-services.link-5-active #link_5_bg {
	opacity: 1;
	/*transition: opacity 0.3s !important;*/
}


#main-services.link-1-active .homepage_wave path, #main-services.link-2-active .homepage_wave path, #main-services.link-3-active .homepage_wave path, #main-services.link-4-active .homepage_wave path, #main-services.link-5-active .homepage_wave path {
	stroke: var(--white);
}









.service-text {
		width: 80%;
	}



.service-link {
	text-decoration: none !important;
	z-index: 99 !important;
}
.service-link text, #industry-svg text {
	font-weight: 900;
	text-transform: uppercase;
	font-size: 3.8vw;
	font-family: 'Poppins', sans-serif;
	
	/*text-shadow: 0px 0px 3px rgba(0,0,0,0.4);*/
}
.service-link text tspan.find-out-more {
	font-size: 1.8vw; 
	font-weight: 500;
	fill: var(--white);
}
#industry-svg text tspan.find-out-more {
	font-size: 1.8vw; 
	font-weight: 500;
	fill: var(--black);
}
#industry-svg a {
	text-decoration: none !important;
}

	#service-link-1 svg {
		left: 27.5vw;
	}
	#service-link-2 svg {
		left: 37.3vw;
	}
	#service-link-3 svg {
		left: 53.7vw;
	}
	#service-link-4 svg {
	    left: 74vw;
	}
	#service-link-5 svg {
	    left: 97vw;
	}











.industry-slide {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	will-change: opacity;
	transition-duration: 0.5s;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	background-blend-mode: multiply;
	display: flex;
	z-index: -1;
}
.industry-slide h2 {
	color: var(--white);
	text-align: center;
}
.industry-slide.active {
	opacity: 1;
	z-index: 1;
}
.industry-slide a:hover {
	text-decoration: none !important;
}
.industry-slide a h2:hover {
	color: var(--orange) !important;
}

.industry-tag {
	position: absolute;
	left: 5vw;
	bottom: 5vw;
	text-decoration: none !important;
}
.industry-tag * {
	color: var(--white) !important;
}
.industry-tag .find-out-more {
	font-weight: 700;
	color: var(--white);
	font-size: 18px;
	text-transform: uppercase;
	display: flex;
	align-items: center;
}
.industry-tag .find-out-more::after {
	content: '';
	display: block;
	width: 60px;
	height: 2px;
	background-color: var(--white);
	margin-left: 10px;
}



.title-centred {
	margin: 2.5% 20% 0 37.5%;
	/*margin: 8% 20% 0 37.5%; */
	max-width: 1000px;
}

#achievements {
	min-width: 120vw;
}
#achievement_1 {
	top: 48vh;
	left: 19vw;
	transform: translateY(-100%);
}
#achievement_2 {
	top: 48vh;
	left: 46vw;
	transform: translateY(-100%);
}
#achievement_3 {
	top: 48vh;
	left: 73vw;
	transform: translateY(-100%);
}
#achievement_4 {
	bottom: 48vh;
	left: 33vw;
	transform: translateY(100%);
}
#achievement_5 {
	bottom: 48vh;
	left: 60vw;
	transform: translateY(100%);
}


.achievement {
	width: 20vw;
	height: 20vw;
	border-radius: 100%;
	background: var(--dark-blue);
	position: absolute;
}
.achievement .achievement-inner {
	content: '';
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	top: 20px;
	left: 20px;
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	border-radius: 100%;
	background-color: var(--white);
	background-image: url("../image/dot-bg-01.svg");
	background-repeat: repeat;
	background-size: 40px;
}
.achievement .achievement-inner img {
	max-height: min(60%, 400px);
	max-width: min(60%, 400px);
	height: auto;
	width: auto;
}


/* ----------------------------------------------------- About Page Styles ---------------------------------------------------------------- */


.the-team {
	padding: 7vw 5vw 5vw 5vw;
	display: flex;
	align-content: space-around;
	justify-content: space-between;
	flex-wrap: wrap;
}
.the-team .member {
	width: 40vw;
	padding: 3vw 0;

}


/* ----------------------------------------------------- Caldera Form Styles ---------------------------------------------------------------- */

form.caldera_forms_form .row {
	flex-wrap: nowrap !important;
}
form.caldera_forms_form .row.last_row {
	padding: 4% 0 !important;
}

form.caldera_forms_form .row.first_row .col-sm-3 {
	display: flex !important;
	align-self: baseline !important;
}

form.caldera_forms_form .col-sm-3 {
	width: 100% !important;
	max-width: none !important;
	flex: auto !important;
}
form.caldera_forms_form .col-sm-3.last_col {
	width: 150px !important;
	min-width: 150px !important;
}

.caldera-grid .form-control {
	background: none !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: 2px solid var(--green) !important;
	box-shadow: none !important;
	width: calc(100% - 50px) !important;
	padding: 0px 0px 30px 0px !important;
	min-height: 50px !important;
	transition: padding 0.2s !important;
}
.caldera-grid .form-control:focus {
	padding: 0px !important;
}

.caldera-grid .btn {
	background: none !important;
	border: none !important;
	font-weight: 700 !important;
	font-size: 25px !important;
	color: var(--green) !important;
	text-transform: uppercase !important;
}

.caldera-grid .form-control::-webkit-input-placeholder {
	font-family: 'Poppins', sans-serif !important;
	color: var(--black) !important;
	text-transform: uppercase !important;
	font-size: 18px !important;
	margin-bottom: 100px !important;
	font-weight: 700 !important;
}
.caldera-grid .form-control:-moz-placeholder { 
	font-family: 'Poppins', sans-serif !important;
	color: var(--black) !important;
	text-transform: uppercase !important;
	font-size: 18px !important;
	margin-bottom: 100px !important;
	font-weight: 700 !important;
}
.caldera-grid .form-control::-moz-placeholder { 
	font-family: 'Poppins', sans-serif !important;
	color: var(--black) !important;
	text-transform: uppercase !important;
	font-size: 18px !important;
	margin-bottom: 100px !important;
	font-weight: 700 !important;
}
.caldera-grid .form-control:-ms-input-placeholder { 
	font-family: 'Poppins', sans-serif !important;
	color: var(--black) !important;
	text-transform: uppercase !important;
	font-size: 18px !important;
	margin-bottom: 100px !important;
	font-weight: 700 !important;
}
.caldera-grid .form-control::-ms-input-placeholder { 
	font-family: 'Poppins', sans-serif !important;
	color: var(--black) !important;
	text-transform: uppercase !important;
	font-size: 18px !important;
	margin-bottom: 100px !important;
	font-weight: 700 !important;
}
.caldera-grid .form-control::placeholder { 
	font-family: 'Poppins', sans-serif !important;
	color: var(--black) !important;
	text-transform: uppercase !important;
	font-size: 18px !important;
	margin-bottom: 100px !important;
	font-weight: 700 !important;
}
.caldera-grid .alert-danger, .caldera-grid .alert-error, .caldera-grid .alert-info, .caldera-grid .alert-success, .caldera-grid .alert-warning {
	text-shadow: 0 !important;
}
.caldera-grid .alert-success {
	background-color: var(--green) !important;
    border-color: var(--green) !important;
    color: #fff !important;
}


/* ----------------------------------------------------- Contact Viewport / Footer Styles ---------------------------------------------------------------- */

.contact-form {
	width: 100%;
	margin: auto auto auto 0;
	max-width: 1900px;
}

.back-to-start {
	font-weight: 700;
	font-size: 22px;
	color: var(--pink) !important;
	text-transform: uppercase;
	margin-bottom: 30px;
	display: block;
	text-decoration: none !important;
}

.footer-details {
	bottom: -3%;
	left: 0;
	width: 100%;
} 
.footer-details .opacity {
	opacity: 0.5;
	margin-left: 30px
}
.footer-details-content * {
	font-size: 15px !important;
}

	.hide-on-desktop {
		display: none !important;
	}




/* ----------------------------------------------------- 2200px + ---------------------------------------------------------------- */
@media only screen and (min-width : 2200px) {
	
}



/* ----------------------------------------------------- Smaller than 2200px ----------------------------------------------------- */
@media only screen and (max-width : 2200px) {
	
}



/* ----------------------------------------------------- Smaller than 1800px ----------------------------------------------------- */
@media only screen and (max-width : 1800px) {
	
}



/* ----------------------------------------------------- Smaller than 1750px ----------------------------------------------------- */
@media only screen and (max-width : 1750px) {
	
}



/* ----------------------------------------------------- Smaller than 1650px ----------------------------------------------------- */
@media only screen and (max-width : 1650px) {	
	
}



/* ----------------------------------------------------- Smaller than 1550px ----------------------------------------------------- */
@media only screen and (max-width : 1550px) {

}



/* ----------------------------------------------------- Smaller than 1450px ----------------------------------------------------- */
@media only screen and (max-width : 1450px) {

	
}



/* ----------------------------------------------------- Smaller than 1350px ----------------------------------------------------- */
@media only screen and (max-width : 1350px) {
	.home-nav ul li a {
	    font-size: 13px !important;
	}
	.home-nav ul li {
    	padding: 14px !important;
	}
}



/* ----------------------------------------------------- Smaller than 1250px ----------------------------------------------------- */
@media only screen and (max-width : 1250px) {
} 



/* ----------------------------------------------------- Smaller than 1125px ----------------------------------------------------- */
@media only screen and (max-width : 1125px) {
	
}



/* ----------------------------------------------------- Smaller than 1080px ----------------------------------------------------- */
@media only screen and (max-width : 1080px) {
	.hide-on-mobile {
		display: none;
	}
	.hide-on-desktop {
		display: block !important;
	}
	.home-nav ul li a {
	    font-size: 12px !important;
	}
	.home-nav ul li {
    	padding: 10px !important;
	}

}



/* ----------------------------------------------------- Smaller than 1024px ----------------------------------------------------- */
@media only screen and (max-width : 1024px) {	
	.home-nav {
		display: none;
	}
	#main-services, #achievements {
		min-width: 100vw;
	}
	#service-link-1 svg {
		left: 22.5vw;
	}
	#service-link-2 svg {
		left: 31.3vw;
	}
	#service-link-3 svg {
		left: 44.7vw;
	}
	#service-link-4 svg {
	    left: 61vw;
	}
	#service-link-5 svg {
	    left: 80.5vw;
	}
	
	#achievement_1 {
    	left: 13vw;
	}
	#achievement_2 {
	    left: 37vw;
	}
	#achievement_3 {
	    left: 61vw;
	}
	#achievement_4 {
		bottom: 45vh;
		left: 25vw;
	}
	#achievement_5 {
		bottom: 45vh;
		left: 48vw;
	}
	
	/*industry page on smaller devices
	.position-relative .pattern-bg .homepage-container {
		min-width: 100vw;
	}
	#industry_page_tab_1 {
		left: 22.5vw;
	}
	*/
	
	.title-centred {
    	margin: 2.5% auto;
	}
	
	.content-section.content-news, .content-section.the-team, .content-section.service-children, .content-section.content-section-twocol {
		height: auto;
	}
	.content-padding.content-news {
		padding-top: 10%;
	}
	
	
	
	.line-dot, .mini-circles, .lines-bottom {
		display: none;
	}
	#latest_news {
		display: none;
	}
	
	
	
	.featured-img {
		padding-bottom: 8%;
	}
	/*.featured-img .scroll-indicator {*/
	.scroll-indicator {
		top: 45%;
	}
	
	
	.category-posts {
		display: flow-root;
		height: auto;
	}
	.category-posts .post {
		width: 100%;
	}

}





/* ----------------------------------------------------- Bigger than 769px ------------------------------------------------------ */

@media only screen and (min-width : 769px) {
	
	#service-link-1 svg {
		position: absolute; 
		top: 72vh; 
		/*left: 27.5vw;
		left: 22.5vw; */
		fill: none; 
		transform: translateX(-50%) translateY(-50%); 
		overflow: visible;
		height: 30px;
		width: 30px;
	}
	#service-link-2 svg {
		position: absolute; 
		top: 58.2vh; 
		/*left: 37.3vw;
		left: 31.3vw;*/
		fill: none; 
		transform: translateX(-50%) translateY(-50%); 
		overflow: visible;
		height: 30px;
		width: 30px;
	}
	#service-link-3 svg {
		position: absolute; 
		top: 40vh; 
		/*left: 53.7vw;
		left: 44.7vw;*/
		fill: none; 
		transform: translateX(-50%) translateY(-50%); 
		overflow: visible;
		height: 30px;
		width: 30px;
	}
	#service-link-4 svg {
		position: absolute; 
		top: 39.5vh; 
		/*left: 74vw;
		left: 61vw;*/
		fill: none; 
		transform: translateX(-50%) translateY(-50%); 
		overflow: visible;
		height: 30px;
		width: 30px;
	}
	#service-link-5 svg {
		position: absolute; 
		top: 65vh; 
		/*left: 97vw; 
		left: 80.5vw;*/
		fill: none; 
		transform: translateX(-50%) translateY(-50%); 
		overflow: visible;
		height: 30px;
		width: 30px;
	}
	
	

	
	
}





/* ----------------------------------------------------- Smaller than 768px ------------------------------------------------------ */

@media only screen and (max-width : 768px) {
	
	.nav-tab-content .text {
		height: 80vh;
	}
	
	#industry {
		padding-top: 90vh; 
	}
	
	.service-text {
		width: 90%;
	}
	
	#container2 {
		max-width: 100vw;
		overflow-x: hidden;
	}
	#container2, .pattern-bg {
		background-size: 25px;
	}
	
	
	/*
	#burger {
		position: fixed;
		right: 5%;
	}
	*/
	
	.overlay #main_nav, .overlay #updates_nav, .overlay #contact_nav {
		width: 100%;
	}
	.overlay header {
		padding-bottom: 5vw;
	}
	
	
	#homepage-line, #homepage-line-content {
		display: none;
	}
	
	.scroll-indicator {
		display: none;
	}
	
	.service-children .child, .category-posts .post {
		width: 100%;
		margin-bottom: 7vw;
	}
	.category-posts {
		display: flow-root;
	}
	
	.content-section {
		height: auto;
		min-width: none;
		width: 100%;
		padding-top: 100px;
	}
	.content-padding.content-news {
		padding-top: 100px;
	}
	
	.content-section.the-team {
		padding-top: 0;
	}
	
	.content-section-twocol {
		flex-wrap: wrap;
	}
	.content-section-twocol .smallcol, .content-section-twocol .largecol {
		width: 100%;
	}
	.back-button {
		font-size: 15px;
	}
	
	
	
	
		
	
	
	
	
	
	
	
	.first-screen-view {
		padding-top: 0px;
		min-height: calc(100vh - 100px);
	}
	
	
	
	
	.the-team .member {
		width: 100%;
	}
	
	
	
	
	
	.caldera-grid .form-control {
		width: 100% !important;
	}
	form.caldera_forms_form .row {
		flex-wrap: wrap !important;
	}
	
	.caldera-grid .form-control {
		padding: 0px !important;
	}
	.caldera-grid .btn {
		padding-left: 0 !important;
		font-size: 21px !important;
	}

	.caldera-grid .form-control::-webkit-input-placeholder {
		font-size: 15px !important;
	}
	.caldera-grid .form-control:-moz-placeholder { 
		font-size: 15px !important;
	}
	.caldera-grid .form-control::-moz-placeholder { 
		font-size: 15px !important;
	}
	.caldera-grid .form-control:-ms-input-placeholder { 
		font-size: 15px !important;
	}
	.caldera-grid .form-control::-ms-input-placeholder { 
		font-size: 15px !important;
	}
	.caldera-grid .form-control::placeholder { 
		font-size: 15px !important;
	}
	
	
	
	.back-to-start {
		display: none;
	}
	
	/*
	.back-to-start::before {
		padding-left: 10px;
		transform: rotate(90deg);
	}
	*/
	.footer-details-content {
		flex-direction: column;
		justify-content: flex-start;
	}
	.footer-details-content .m-auto {
		margin-left: 0px !important;
	}
	.footer-details-content p, .footer-details-content p a {
		font-size: 13px !important;
		margin-bottom: 5px;
	}
	.footer-details {
		margin-top: 20px;
	}
	.footer-details .opacity {
		margin-left: 0px
	}
	
	
	
	
	
	
	
	#start {
		padding-top: 100px;
	}
	
	#homepage_waves_1, #homepage_waves_2, #homepage_waves_3, #homepage_waves_4, #homepage_waves_5, #industry_waves_1 path, .homepage-line, .homepage-scroll-dot {
		display: none;
	}
	
	#homepage-rotate-circle {
		width: 60vw;
    height: 60vw;
    right: -15%;
    top: 13vh;
	}
	.home-title {
		max-width: 75vw;
	}
	#introduction {
		padding-top: 350px;
		/*padding-right: 46%;*/
	}
	#introduction h2 {
		padding-bottom: 5vh !important;
	}
	
	
	
	#main-services {
		min-height: 130vh;
		display: flex;
		flex-direction: column;
		justify-content: space-around;
		padding: 5vw;
		min-width: auto;
		width: 100%;
	}
	.service-link {
		padding: 5vw 0;
	}
	.service-link svg text {
		font-size: 11vw;
	}
	.service-link svg text tspan.find-out-more {
		font-size: 6vw;
	}
	
	tspan.find-out-more {
		left: 20vw;
		position: absolute;
		font-size: 13px;
		color: var(--white);
		display: none;
}
	
	#service-link-1 svg {
		position: relative;
		overflow: visible;
		height: 30px;
		width: 30px;
		transform: translateX(5vw);
		left: 0;
	}
	#service-link-1 svg text {
		transform: translateY(80%) translateX(calc(6vw + 70px))!important;
	}
	
	
	#service-link-2 svg {
		position: relative;
		overflow: visible;
		height: 30px;
		width: 30px;
		transform: translateX(calc(85vw - 30px));
		left: 0;
	}
	#service-link-2 svg text {
		transform: translateY(80%) translateX(-137vw)!important;
	}
	
	
	#service-link-3 svg {
		position: relative;
		overflow: visible;
		height: 30px;
		width: 30px;
		transform: translateX(5vw);
		left: 0;
	}
	#service-link-3 svg text {
		transform: translateY(-10vw) translateX(calc(6vw + 70px))!important;
	}
	
	
	#service-link-4 svg {
		position: relative;
		overflow: visible;
		height: 30px;
		width: 30px;
		transform: translateX(calc(85vw - 30px));
		left: 0;
	}
	#service-link-4 svg text {
		transform: translateY(80%) translateX(-143vw)!important;
	}
	
	#service-link-5 svg {
		position: relative;
		overflow: visible;
		height: 30px;
		width: 30px;
		transform: translateX(5vw);
		left: 0;
	}
	#service-link-5 svg text {
		/*transform: translateY(50%) translateX(calc(6vw + 70px))!important;*/
		transform: translateY(80%) translateX(calc(6vw + 70px))!important;
	}

	
	
	
	
	
	
	#industries {
		min-height: max(100vh, 140vw);
		min-width: auto;
	}
	#industry-rotate-svg {
		width: 50vw; 
		height: 50vw; 
	}
	.industry-tag {
		bottom: 8vw;
	}
	
	
	
	
	
	
	
	
	
	
	.title-centred {
		margin: 2.5% 20% 0 20%; 
	}
	
	#achievements {
		min-width: auto;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
		padding: 5vw 2.5vw;
	}
	#achievements .achievement {
		width: 42.5vw;
		height: 42.5vw;
		position: relative;
		top: auto;
		left: auto;
		bottom: auto;
		transform: translateY(0);
		margin: 2.5vw 0;
	}
	.achievement .achievement-inner {
		top: 10px;
		left: 10px;
		width: calc(100% - 20px);
		height: calc(100% - 20px);
		background-size: 25px;
	}
	.achievement .achievement-inner img {
		max-height: min(70%, 400px);
		max-width: min(70%, 400px);
	}
	
	
	
	
	.home-title { 
		padding-top: 50px;
	}
	




}




/* ----------------------------------------------------- Smaller than Mobile ----------------------------------------------------- */

@media only screen and (max-width : 650px) {
	
	#industry-rotate-svg {
		width: 75vw; 
		height: 75vw; 
	}
	#homepage-rotate-circle {
		top: 18vh;
	}
	#introduction {
		padding-top: 0px;
		padding-right: 5%;
	}
	#introduction h2 {
		padding-bottom: 5vh !important;
		padding-top: 30vh !important;
	}
	
}


/* ----------------------------------------------------- Smaller than 540px ------------------------------------------------------ */

@media only screen and (max-width : 540px) {	
	
	#industry-rotate-svg {
		width: 87vw; 
		height: 87vw; 
	}
	
}

/* ----------------------------------------------------- Smaller than 450px ------------------------------------------------------ */

@media only screen and (max-width : 450px) {
	#homepage-rotate-circle {
		width: 75vw;
		height: 75vw;
		right: 0;
		top: 25vh;
	}
	.home-title {
		max-width: 86vw;
		padding-top: 0;
    padding-bottom: 100px;
	}
	
}