/*-----------------
* palette
* ----------------
*
*/

/******** GLOBAL *******/

html {}

body {
	font-size: var(--fontsizePrimary);
	font-family: var(--SecondaryFont);
	font-weight: var(--BodyFontWeight);
	font-style: normal;
}

section {
	position: relative;
}

input,
form {
	color: #111;
}

input {
	padding: 5px 10px;
}

.img-responsive {
	object-fit: cover;
	width: 100%;
	height: auto;
}

a {
	text-decoration: none;
	color: var(--linkColour);
	font-weight: var(--textFontWeight);
}

a:hover,
a:focus {
	text-decoration: none;
	color: var(--hoverColour);
}

.button,
a.button,
.btn,
input.wpcf7-form-control.wpcf7-submit,
input[type="submit"] {
	font-family: var(--PrimaryFont);
	font-weight: var(--PrimaryFontWeight);
	text-transform: uppercase;
	background-color: none;
	color: var(--textcolorPrimary);
	padding: var(--buttonPadding);
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
	border-radius: 60px;
	border: 2px solid var(--backgroundMain);
}

.btn svg {
	fill: var(--textcolorPrimary);
	height: 20px;
	padding-right: 10px;
}

span.wpcf7-list-item-label {
	font-weight: 400;
	text-transform: capitalize;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 5px 1em 10px 0;
}

.button:hover,
a.button:hover,
.btn:hover,
input.wpcf7-form-control.wpcf7-submit:hover {
	background-color: var(--backgroundMain);
	color: var(--textcolorSecondary);
}

.wpcf7 label {
	width: 100%;
	font-weight: 700;
	text-transform: uppercase;
}

.btn:hover svg {
	fill: var(--textcolorSecondary);
}

.btn-white,
.btn-slider {
	border: 2px solid var(--backgroundSecond);
	color: var(--textcolorSecondary);
}

.btn.btn-white svg,
.btn.btn-slider svg {
	fill: var(--textcolorSecondary);
}

.btn-white:hover,
.btn-slider:hover {
	background-color: var(--backgroundSecond);
	color: var(--textcolorPrimary);
}

.btn-white:hover svg,
.btn-slider:hover svg {
	fill: var(--textcolorPrimary);
}

.btn-small {
	padding: var(--buttonPaddingSecondary);
	font-size: 12px;
}

.breadcrumbs {
	margin-top: 30px;
	background: #f7f7f7;
	border: 1px solid #eee;
	padding: 10px;
	font-size: 12px;
}

.breadcrumbs-wrap {
	background: transparent;
}

.section-header-top-title {
	display: block;
	font-weight: var(--SecondaryFontWeight);
	font-size: 20px;
}

#breadcrumbs {
	padding: var(--buttonPaddingSecondary);
	font-size: 12px;
	border-radius: 60px;
	background: #fff;
	width: fit-content;
	color: #212529;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
	font-family: var(--PrimaryFont);
	font-weight: var(--PrimaryFontWeight);
	text-transform: uppercase;
}

h1,
.h1 {
	font-size: var(--fontsizeLarge);
	color: var(--textcolorSecondary);
}

h2,
.h2 {
	font-size: var(--fontsizeMedium);
}

h3,
.h3 {
	font-size: var(--fontsizeSmall);
}

h4,
.h4 {
	font-size: var(--fontsizeExSmall);
}

.img-full {
	height: 100% !important;
	object-fit: cover !important;
}

.full-height {
	display: flex;
	height: 100%;
	flex-direction: column;
	justify-content: center;
	background: var(--backgroundMain);
	color: var(--textcolorSecondary);
	padding: 60px 0;
}

.cta-block-overlay {
	display: block;
	position: relative;
}

.cta-block-overlay-contain {
	position: absolute;
	left: 0;
	bottom: 0;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000b3a+0,000b3a+100&0+0,1+100 */
	background: -webkit-linear-gradient(rgba(0, 11, 58, 0) 0%, rgba(0, 11, 58, 1) 100%);
	background: -o-linear-gradient(rgba(0, 11, 58, 0) 0%, rgba(0, 11, 58, 1) 100%);
	background: linear-gradient(rgba(0, 11, 58, 0) 0%, rgba(0, 11, 58, 1) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	color: var(--textcolorSecondary);
	padding: 60px 30px 10px 30px;
	width: 100%;
	text-align: center;
}

.cta-block-overlay-contain-title,
.cta-block-title {
	display: block;
	font-family: var(--PrimaryFont);
	font-weight: var(--PrimaryFontWeight);
	text-transform: uppercase;
	font-size: 26px;
}

.cta-block-overlay-contain-excerpt {
	display: none;
	font-weight: var(--BodyFontWeight);
}

.cta-block-overlay:hover .cta-block-overlay-contain {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cta-block-overlay:hover .cta-block-overlay-contain-excerpt {
	display: block;
}

.cta-block-title {
	color: var(--textcolorPrimary);
}

.cta-block-title:hover {
	color: var(--linkColour);
}

.image-top-arrow--strip {
	margin-bottom: -55px;
	position: relative;
	width: 100%;
	z-index: 99999;

	img {
		width: 100%;
		height: 55px;
	}

}

.image-bottom-arrow--strip {
	margin-top: -55px;
	position: relative;
	width: 100%;
	z-index: 99999;
	transform: rotate(180deg);

	img {
		width: 100%;
		height: 55px;
	}
}


.block-image--full {
	position: relative;
	overflow: hidden;

	.container-fluid {
		position: relative;
		padding-top: 520px;
		padding-bottom: 520px;
		color: #fff;
		z-index: 99999;
	}

	.img-full--block {
		position: absolute;
		height: 100%;
	}

	.overlay {
		background: -webkit-linear-gradient(left, rgba(0, 11, 58, 1) 0%, rgba(0, 11, 58, 0) 100%);
		background: -o-linear-gradient(left, rgba(0, 11, 58, 1) 0%, rgba(0, 11, 58, 0) 100%);
		background: linear-gradient(to right, rgba(0, 11, 58, 1) 0%, rgba(0, 11, 58, 0) 100%);
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 9000;
	}
}

.tool-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 30px 0 0;

	svg {
		width: 15px;
		height: 15px;
	}

	.pages {
		list-style: none;
		display: flex;
		padding: 0px;
		margin: 0px;
		align-items: center;
		justify-content: center;

		li {
			margin: 0 3.5px;

			.page-number {
				font-size: 16px;
				background-color: #E9ECEF;
				display: block;
				width: 25px;
				height: 25px;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 6px;
			}

		}
	}
}

.block_alternating_boxes_wrap {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.full-section-header {
	display: block;
	font-family: var(--PrimaryFont);
	font-weight: var(--PrimaryFontWeight);
	text-transform: uppercase;
	font-size: 30px;
}

.backgroundTertiary {
	background: var(--backgroundTertiary);
}

.text-blue h1 {
	color: #212529;
}

.home-news-section-pad {
	padding-bottom: 180px;
}

.home-news-section-overlay {
	margin-top: -160px;
}

.news-cta-date {
	display: block;
	font-weight: var(--SecondaryFontWeight);
	font-size: 14px;
}

.shape-bottom-padding {
	padding-bottom: 120px;
}

.block-image-strip {
	position: relative;
	overflow: hidden;

	.container {
		position: relative;
		padding-top: 160px;
		padding-bottom: 160px;
		color: #fff;
		z-index: 99999;
	}

	.img-full--block {
		position: absolute;
		height: 100%;
	}

	.overlay {
		background: -webkit-linear-gradient(left, rgba(0, 11, 58, 1) 0%, rgba(0, 11, 58, 0) 100%);
		background: -o-linear-gradient(left, rgba(0, 11, 58, 1) 0%, rgba(0, 11, 58, 0) 100%);
		background: linear-gradient(to right, rgba(0, 11, 58, 1) 0%, rgba(0, 11, 58, 0) 100%);
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 9000;
	}
}

.background-bespoke {
	background: #b9c0ce;
}

/******** SVG SLANTS ***********/

.custom-shape-divider-top-1789055982 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
}

.custom-shape-divider-top-1789055982 svg {
	position: relative;
	display: block;
	width: calc(100% + 1.3px);
	height: 60px;
	transform: rotateY(180deg);
}

.custom-shape-divider-top-1789055982 .shape-fill {
	fill: #000B3A;
}

.custom-shape-divider-top-1790170247 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	z-index: 9999;
}

.custom-shape-divider-top-1790170247 svg {
	position: relative;
	display: block;
	width: calc(100% + 1.3px);
	height: 60px;
}

.custom-shape-divider-top-1790170247 .shape-fill {
	fill: #FFFFFF;
}

.custom-shape-divider-bottom-1790170336 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	transform: rotate(180deg);
	z-index: 9999;
}

.custom-shape-divider-bottom-1790170336 svg {
	position: relative;
	display: block;
	width: calc(100% + 1.3px);
	height: 60px;
}

.custom-shape-divider-bottom-1790170336 .shape-fill {
	fill: #FFFFFF;
}

.custom-shape-divider-bottom-1790170529 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	transform: rotate(180deg);
}

.custom-shape-divider-bottom-1790170529 svg {
	position: relative;
	display: block;
	width: calc(100% + 1.3px);
	height: 60px;
}

.custom-shape-divider-bottom-1790170529 .shape-fill {
	fill: #E6E8F4;
}

.custom-shape-divider-top-1790171647 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	z-index: 9999;
}

.custom-shape-divider-top-1790171647 svg {
	position: relative;
	display: block;
	width: calc(100% + 1.3px);
	height: 60px;
}

.custom-shape-divider-top-1790171647 .shape-fill {
	fill: #FFFFFF;
}

.logo-wrap {
	.img-logo {
		height: 165px;
		object-fit: contain;
	}
}

.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	display: inline-block;
	border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
	background: #000B3A;
	opacity: 1;
}

.swiper-pagination-bullet-active {
	opacity: var(--swiper-pagination-bullet-opacity, 1);
	background: #5AAFC7;
}

.title-testimonial {
	font-weight: 600;
}

.client-testimonial {
	font-family: var(--SecondaryFont);
	font-weight: 400;
}

.img-margin {
	margin-top: -6rem !important;
	position: relative;
	z-index: 999999;
}

.inner-wrap-contact {
	display: flex;
}

.contact-block {
	display: flex;
	justify-content: flex-start;
	color: #fff;
	align-items: center;
	font-family: "Montserrat", sans-serif;
	margin-top: 20px;
	height: auto;

	a {
		color: #fff;
		font-weight: 700;
		font-size: 18px;
	}

	a:hover {
		color: var(--textcolorTertiary);
	}

	.title {
		font-size: 14px;
		font-weight: 700;
		margin-bottom: 0.5px;
		text-transform: uppercase;
	}
}

.inner-wrap-contact {
	display: flex;
}

.margin-right-30 {
	margin-right: 30px;
}

.text-phone-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.phone-svg {
	background: var(--textcolorTertiary);
	padding: 0;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 20px;

	svg {
		width: 20px;
		height: 20px;
	}
}

.contact-block--one {
	display: flex;
}

.contact-block--three {
	display: flex;
	align-items: center;
	margin-top: 20px;
}

.page-template-template-single-contact,
.page-template-template-contact {

	.wpcf7-text,
	.wpcf7-textarea {
		width: 100%;
		color: black;
		padding: 8px;
		border-radius: 2px;
		margin: 10px 0;
		background: var(--backgroundTertiary);
	}

	button.btn.wpcf7-submit.btn-white {
		font-family: var(--PrimaryFont);
		font-weight: var(--PrimaryFontWeight);
		text-transform: uppercase;
		background-color: none;
		color: var(--textcolorPrimary);
		padding: var(--buttonPadding);
		-webkit-border-radius: 60px;
		-moz-border-radius: 60px;
		border-radius: 60px;
		border: 2px solid var(--backgroundMain);

		svg {
			fill: var(--backgroundMain);
		}
	}

	button.btn.wpcf7-submit.btn-white:hover {
		background-color: var(--backgroundMain);
		color: var(--textcolorSecondary);

		svg {
			fill: #fff;
		}
	}

}

ul.list-projects {
	position: absolute;
	bottom: 0;
	list-style: none;
	padding: 0px;
	margin: 15px;
	display: flex;
	flex-wrap: wrap;

	li {
		background-color: #5AAFC7;
		font-size: 12px;
		margin: 5px;
		padding: 5px 10px;
		border-radius: 60px;
		text-transform: uppercase;
		text-align: center;
		color: #fff !important;

		a {
			color: #fff;
		}

		a:hover {
			color: #fff;
		}
	}
}

/******** Responsive ***********/

/* XXL > 1400 */

/* XL */
@media (max-width: 1400px) {
	.contact-block--one {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.margin-top-small {
		margin-top: 20px;
	}
}

/* L */
@media (max-width: 1200px) {

	.block-image--full {
		& .container-fluid {
			padding-top: 360px;
			padding-bottom: 360px;
		}
	}

	.full-section-header {
		font-size: 26px;
	}


}

/* M */
@media (max-width: 992px) {

	.full-section-header {
		font-size: 22px;
	}

	.block-image--full {
		& .container-fluid {
			padding-top: 260px;
			padding-bottom: 260px;
		}
	}

	.hidden-md {
		display: none;
	}

}

/* S */
@media (max-width: 768px) {

	.img-margin {
		margin-top: 2rem !important;
		position: relative;
		z-index: 999999;
	}

	.block-image--full {
		& .container-fluid {
			padding-top: 180px;
			padding-bottom: 180px;
		}
	}

}

/* XS */
@media (max-width: 576px) {}