/*
	Theme Name: Infratech Theme
	Author: FieldWrk
*/

/* WYSIWYG */

#tinymce {
	padding: 30px;
}

#tinymce h3,
#tinymce h4,
#tinymce h5 {
	margin-bottom: 0.25em;
	margin-top: 0.25em;
}

/* Login Screen */

.login {
	background-color: #ffffff;
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-overview.svg);
	background-repeat: no-repeat;
	background-position: 90% top;
	background-size: contain;
}

#login {
	border: 0;
	margin: 0 auto;
	margin-top: 8%;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
	background: transparent;
}

.login h1.admin-email__heading {
	font-size: 1.4em;
}

.login-action-confirm_admin_email #login {
	margin-top: 8%;
}

.login h1 a {
	background-image: url(/wp-content/themes/infratech/images/logo.svg);
	background-color: transparent;
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
	width: 100%;
	margin: 0;
	border: 0;
}

.login #login_error, .login .message, .login .success {
	background: transparent;
	text-align: center;
	border: unset;
	padding: 0;
	font-style: italic;
	margin: 0;
	padding: 2em;
	padding-top: 0;
	font-size: 0.7em;
}

.login form {
	background: #005DAB;
	box-shadow: unset;
	border: unset;
	margin-top: -1px;
	padding-bottom: 2em;
	padding-top: 2em;
	border-radius: 40px;
}

.login label {
	color: #ffffff;
	text-transform: uppercase;
}

.login form .input, .login input[type=password], .login input[type=text] {
	font-size: 1em !important;
	padding: 0.5em 1em;
	padding-left: 0;
	-webkit-appearance: none;
	background: transparent;
	width: 100%;
	border: unset;
	border-bottom: 1px solid rgba(255,255,255,0.3);
	box-shadow:unset;
	border-radius: 0;
	margin-bottom: 1em;
	color: #ffffff;
}

.login .button.wp-hide-pw .dashicons {
	color: #ffffff;
}

.login .user-pass-wrap {
	margin-bottom: 1em;
}

#login form p.submit {
	text-align: center;
}

.wp-core-ui .button.button-large.button-primary, .wp-core-ui .button.button-large {
	padding: 0.8em 1em;
	font-weight: 500;
	font-size: 1.1em;
	transition: 0.5s all;
	border-radius: 1000px;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	line-height: 1;
	text-decoration: none;
	background: #EFD62E;
	color: #005DAB;
	border: 1px solid #EFD62E;
}

.wp-core-ui .button.button-large.button-primary:hover {
	background: #D9C22A;
	text-decoration: none;
	color: #005DAB;
	border: 1px solid #EFD62E;
}

.wp-core-ui .button.button-large {
    background: #ffffff;
    color: #21353c;
}

.login #backtoblog a, .login #nav a {
	color: #21353C;
}

.login #backtoblog a:hover, .login #nav a:hover, .login h1 a:hover {
	color: #21353C;
}

.login form .forgetmenot {
	float: none;
}

.login #nav, .login #backtoblog {
	background: #ffffff;
	margin-top: -1px;
}

.login #backtoblog {
	padding-top: 1em;
	padding-bottom: 1em;
	margin-bottom: 0;
	border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.login .privacy-policy-page-link {
	display: none;
}

/* Font References */



@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal; 
  font-weight: 400 700;
  src: url('/wp-content/themes/infratech/library/fonts/plusjakartasans/PlusJakartaSans-VariableFont_wght.ttf') format('truetype-variations');
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic; 
  font-weight: 400 700;
  src: url('/wp-content/themes/infratech/library/fonts/plusjakartasans/PlusJakartaSans-Italic-VariableFont_wght.ttf') format('truetype-variations');
}

/* Updated Fonts*/
@font-face {
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 100;
	src: url('/wp-content/themes/infratech/library/fonts/sairacondensed/SairaCondensed-Thin.ttf') format('truetype');
}


@font-face {
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 200;
	src: url('/wp-content/themes/infratech/library/fonts/sairacondensed/SairaCondensed-ExtraLight.ttf') format('truetype');
}

@font-face {
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 300;
	src: url('/wp-content/themes/infratech/library/fonts/sairacondensed/SairaCondensed-Light.ttf') format('truetype');
}

@font-face {
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 400;
	src: url('/wp-content/themes/infratech/library/fonts/sairacondensed/SairaCondensed-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 500;
	src: url('/wp-content/themes/infratech/library/fonts/sairacondensed/SairaCondensed-Medium.ttf') format('truetype');
}

@font-face {
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 600;
	src: url('/wp-content/themes/infratech/library/fonts/sairacondensed/SairaCondensed-SemiBold.ttf') format('truetype');
}

@font-face {
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 700;
	src: url('/wp-content/themes/infratech/library/fonts/sairacondensed/SairaCondensed-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 800;
	src: url('/wp-content/themes/infratech/library/fonts/sairacondensed/SairaCondensed-ExtraBold.ttf') format('truetype');
}

@font-face {
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 900;
	src: url('/wp-content/themes/infratech/library/fonts/sairacondensed/SairaCondensed-Black.ttf') format('truetype');
}
/* Updated Fonts*/




/* Global */

* {
    box-sizing: border-box;
}

html {
	font-size: 18px;
	margin: 0;
	padding: 0;
}

html.fixed {
	height: 100%;
	overflow: hidden;
}

body {
	font-size: 1em;
	margin: 0;
	padding: 0;
	font-family: 'Plus Jakarta Sans', sans-serif;
	color: #1A1B1E;
	position: relative;
	background: #ffffff;
}

.container {
	width: 90%;
	max-width: 1140px;
}

.container.full-width {
	width: 100%;
	max-width: 1400px;
}

.container-fluid {
	position: relative;
}

.container-fluid {
	z-index: 2;
}

.row {
	padding-top: 6em;
	padding-bottom: 6em;
}

.py-small {
	padding-top: 3em;
	padding-bottom: 3em;
}

.pt-small {
	padding-top: 3em;
}

.pb-small {
	padding-bottom: 3em;
}

.row .row {
	padding-top: 0;
	padding-bottom: 0;
}

/* Typography */

h1, .h1 {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 4em;
	text-transform: uppercase;
	line-height: 100%;
	letter-spacing: 1.44px;	
	margin-bottom: 0.15em;
}

.page-template-home h1 {
	font-size: 4.9em;
	letter-spacing: 1.32px;
}

h2, .h2 {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 800;
	line-height: 125%;
	letter-spacing: 0.2px;
	text-transform: uppercase;
	font-size: 1.1em;
	color: #005DAB;
	margin-bottom: 0.75em;
}

h2.eyebrow, .h2.author, .breadcrumb.h2 a, .breadcrumb.h2 h1 {
	font-family: 'Plus Jakarta Sans', sans-serif;
}

.breadcrumb.h2 a, .breadcrumb.h2 h1 {
	font-weight: 800;
	line-height: 125%;
	letter-spacing: 0.2px;
}

.single-project h2.eyebrow {
	font-weight: 600;
	line-height: 150%;
	letter-spacing: -0.18px;
}

h3, .h3 {
	font-family: 'Saira Condensed', sans-serif;
	font-weight: 700;
	font-size: 3.5em;
	text-transform: uppercase;
	line-height: 100%;
	letter-spacing: 0.64px;
	margin-bottom: 0.25em;
}

h3.smaller, 
.h3.smaller {
	font-size: 2.1em;
	line-height: 125%;
	letter-spacing: -0.44px;
}

h4, .h4 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 500;
	line-height: 125%;
	font-size: 1.6em;
	margin-bottom: 0.5em;
	text-transform: unset;
	color: inherit;
}

h5, .h5 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 600;
	line-height: 125%;
	font-size: 1.1em;
	margin-bottom: 0.5em;
}

h6, .h6 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 600;
	font-size: 1.1em;
	line-height: 125%;
	margin-bottom: 0.5em;
}

a {
	color: #000000;
	transition: 0.5s all;
}

a:hover {
	text-decoration: underline;
	color: #000000;
}

p:last-of-type {
	margin-bottom: 0;
}

hr {
	border-top: 1px solid #E7EBED;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	width: 100%;
}

b, strong {
	font-weight: 900;
}

.large {
	font-size: 1.3em;
	font-weight: 400;
	line-height: 125%;
	letter-spacing: -0.24px;
}

.color-white {
	color: #ffffff;
}

.color-black {
	color: #000000;
}

.color-faded {
	color: rgba(26,27,30,0.65);
}

.color-dark {
	color: #1A1B1E !important;
	font-weight: 600;
	line-height: 150%;
	letter-spacing: -0.18px;
}

.color-blue {
	color: #005DAB !important;
}

.color-yellow {
	color: #EFD62E !important;
}

.text-shadow {
	text-shadow: 00px 4px 4px rgba(0, 0, 0, 0.1);
}

.small {
	font-size: 0.7em;
}

.btn-primary, .btn-secondary {
	padding: 8px 8px 8px 20px;
	gap: 64px;
	font-weight: 500;
	font-size: 1.1em;
	transition: 0.5s all;
	border-radius: 1000px;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	line-height: 1;
	text-decoration: none;
}

.btn-primary img, .btn-secondary img, .btn-text img {
	width: 40px;
	height: 40px;
	position: relative;
	transition: 0.5s all;
}

.btn-primary {
	background: #EFD62E;
	color: #005DAB;
	border: 1px solid #EFD62E;
}

.btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show >.btn-primary.dropdown-toggle {
	background: #D9C22A;
	text-decoration: none;
	color: #005DAB;
	border: 1px solid #EFD62E;
}

.btn-primary:focus,
.btn-primary:active,
.btn-primary:active:focus,
.btn-primary:focus-visible,
.btn-secondary:focus,
.btn-secondary:active,
.btn-secondary:active:focus,
.btn-secondary:focus-visible {
	outline: unset;
	box-shadow: unset !important;
}

.btn-primary:active,
.btn-secondary:active {
	transform: scale(0.97);
}

.btn-primary.disabled, .btn-primary:disabled {
	background: rgba(255,255,255,0.3);
	pointer-events: none;
	border: 1px solid rgba(255,255,255,0.3);
	color: #005DAB;
}

.btn-primary:disabled img {
	opacity: 0.5;
}

.btn-secondary {
	background: #005DAB;
	color: #ffffff;
	border: 1px solid #005DAB;
}

.btn-secondary:hover, .btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show >.btn-secondary.dropdown-toggle {
	background: #01437a;
	text-decoration: none;
	border: 1px solid #005DAB;
	color: #ffffff;
}

.btn-text {
	color: #EFD62E;
	text-decoration: underline;
	text-underline-offset: 3px;
	font-size: 1.1em;
	font-weight: 600;
	transition: 0.5s all;
}

.btn-text:hover {
	color: #EFD62E;
	text-decoration: none;
}

a.card:hover .btn-text {
	text-decoration: none;
}

/* Helpers */

.fancybox-is-open .fancybox-bg {
	background: #1A1B1E;
	opacity: 1;
}

.fancybox-content {
	background: transparent;
	color: #ffffff;
	height: 98vh;
	padding: 0;
	width: 100%;
}

.fancybox-content .container,
.fancybox-content .row {
	height: 100%;
}

.fancybox-content .image {
	border-radius: 40px;
}

.fancybox-content .bio-content {
	max-height: 90vh;
    padding-top: 0em;
    padding-bottom: 7em;
    padding-left: 4em;
    overflow: auto;
    margin-top: 6em;
}

.fancybox-content .bio-content:after {
	content: '';
	height: 100px;
	width: 100%;
	background: linear-gradient(to bottom, transparent, #1A1B1E);
	position: fixed;
	bottom: 0;
	left: 0;
}

.fancybox-content .bio-content::-webkit-scrollbar {
  width: 2px; /* Width of the vertical scrollbar */
}

.fancybox-content .bio-content::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.32); /* Color of the track */
}

.fancybox-content .bio-content::-webkit-scrollbar-thumb {
  background: #ffffff; /* Color of the thumb */
  border-radius: 5px; /* Rounded corners for the thumb */
}

.fancybox-content .bio-content::-webkit-scrollbar-thumb:hover {
  background: #ffffff; /* Color of the thumb on hover */
}

.fancybox-slide--html .fancybox-close-small {
	background-image: url(/wp-content/themes/infratech/images/icon-close.svg);
	height: 48px;
	width: 48px;
	opacity: 1;
	top: 2em;
	right: 2em;
}

.fancybox-button svg {
	display: none;
}

.box {
	border-radius: 32px;
	padding: 2em;
}

.separator-1 {
	height: 15px;
	display: block;
	clear: both;
	width: 100%;
}

.separator-2 {
	height: 30px;
	display: block;
	clear: both;
	width: 100%;
}

.separator-3 {
	height: 45px;
	display: block;
	clear: both;
	width: 100%;
}

.separator-4 {
	height: 60px;
	display: block;
	clear: both;
	width: 100%;
}

.separator-6 {
	height: 90px;
	display: block;
	clear: both;
	width: 100%;
}

.bg-white {
	background-color: #ffffff;
}

.bg-white .h3,
.bg-light-gray .h3 {
	color: rgba(26,27,30,0.65);
}

.bg-black {
	background-color: #000000;
}

.bg-light-gray {
	background-color: #F2F2F2;
}

.bg-blue {
	background-color: #005DAB;
	color: #ffffff;
}

.bg-blue h2 {
	color: rgba(255, 255, 255, 0.65);
}

.bg-dark-blue {
	background: #11324F;
}

.bg-image {
	background-size: cover;
	background-position: center;
	width: 100%;
	overflow: hidden;
	position: relative;
	height: 500px;
}

.bg-image.h-auto {
	height: auto;
	overflow: visible;
}

.bg-image.h-auto .row {
	position: relative;
}

.bg-image.h-full, .h-full {
	height: 100vh;
}

.bg-image.parallax {
	background-attachment: fixed;
}

.bg-image .container, .h-full .container {
	position: relative;
	z-index: 2;
	height: 100%;
}

.bg-image .row, .h-full .row {
	height: 100%;
}

.bg-image .bg-image {
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.bg-video {
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

.bg-video .bg-image {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	transition: 0.5s all;
}

.bg-video .bg-image.in {
	opacity: 1;
}

.bg-video .container {
	z-index: 4;
	position: relative;
}

.bg-video .container, .bg-video .row {
	height: 100%;
}

.bg-video .video {
    height: 100%;
    width: calc(100% + 12px);
    position: absolute;
    top: 0;
    left: -12px;
    z-index: 1;
    overflow: hidden;
    margin: 0;
    border-radius: 0;
    box-shadow: unset;
    opacity: 0;
    transition: 0.3s all;
}

.bg-video .video.in {
	opacity: 1;
}

.bg-video .video video {
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    position: absolute;
	z-index: 2;
	left: 0;
	top: -25%;
	min-width: 115%;
    min-height: 100%;
    width: 100%;
}

.bg-video .overlay {
	z-index: 2;
}

.bg-video {
	z-index: 1;
}

.bg-video + .row {
	position: relative;
	z-index: 2;
}

.overlay {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	background: rgba(33, 53, 60, 0.8);
	pointer-events: none;
}

/* HTML Video */

.video {
	position: relative;
	overflow: hidden;
}

.video .container {
	position: absolute;
	height: 100%;
	z-index: 4;
	margin: 0 auto;
	left: 0;
	right: 0;
}

.video .overlay {
	background: rgba(255,255,255,0.3);
	z-index: 3;
}

.video .image {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-size: cover;
	background-position: center;
}

.video video {
	position: absolute;
	z-index: 2;
	left: 0;
	top: 0;
	min-width: 105%;
    min-height: 100%;
}

/* YouTube Embeds */

.video-container { 
	position: relative; 
	padding-bottom: 56.25%; 
	padding-top: 30px; 
	height: 0;
	overflow: hidden; 
}

.video-container iframe, .video-container object, .video-container embed { 
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%; 
}

/* Images */

img {
	max-width: 100%;
}

/* Instagram */

#sb_instagram .sbi_inner_wrap {
	border-radius: 24px;
	overflow: hidden;
}

/* Google Maps */

.locations {
	padding: 0;
}

#map-container {
	width: calc(100% - 4em);
	left: 2em;
	border-radius: 40px;
	overflow: hidden;
	height: 100%;
	z-index: 1;
	position: relative;
}

.locations.last #map-container {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

#map {
	height: 600px;
	width: 100%;
	overflow: hidden;
}

.gm-style .gm-style-iw-d {
	padding: 1.5em;
	border-radius: 32px;
	padding-right: 3em;
	overflow: unset !important;
	max-width: 100% !important;
}

.gm-style .gm-style-iw-t::after {
	border: 1px solid #F4371A;
	z-index: 1;
    border-right: 0;
    border-top: 0;
}

.gm-style .gm-style-iw-c {
	padding: 0;
	box-shadow: unset;
	background: #1A1B1E;
	border-radius: 0;
	top: 0;
	color: rgba(255,255,255,0.65);
	border-radius: 16px;
	box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.30);
}

.gm-style .gm-style-iw-tc {
	display: none;
}

.gm-style .gm-style-iw-c a {
	color: rgba(255,255,255,0.65);
	text-decoration: none;
}

.gm-style .gm-style-iw-c a:hover {
	color:rgba(255,255,255,0.65);
	text-decoration: none;
}

.gm-style-mtc,
.gm-svpc,
.gm-fullscreen-control {
	display: none !important;
}

.gmnoprint {
	bottom: 50px !important;
}

.gmnoprint.gm-style-cc {
	display: none !important;
}

.gm-style-iw-chr {
	position: absolute; 
	right: 0;
}

.gm-style-iw-chr button:focus {
	outline: unset !important;
}

.gm-ui-hover-effect>span {
	background-color: #ffffff !important;
	margin: 6px !important;
	height: 16px !important;
	width: 16px !important;
	position: absolute;
    top: 0.5em;
    right: 0.5em;
}

.gm-style-iw-d .h4 {
	color: #ffffff;
}

.gm-style-iw-d a {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 1em;
}

/* Header */

#banner {
	background: #005DAB;
	color: #ffffff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	text-align: center;
	height: 53px;
	z-index: 999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 15px;
	padding-right: 15px;
	line-height: 1.2;
}

.logged-in #banner {
	top: 32px;
}

header.container-fluid {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	height: 64px;
	background: #ffffff;
	box-shadow: 0 2px 12px 0 rgba(26, 27, 30, 0.08);
}

.logged-in header.container-fluid {
	top: 32px;
}

#banner + header {
	top: 53px;
}

.logged-in #banner + header {
	top: calc(53px + 32px);
}

header .container {
	height: 100%;
}

header .row {
	padding-top: 0;
	padding-bottom: 0;
	height: 100%;
}

#logo {
	position: relative;
	z-index: 3;
	transition: 0s all;
	height: 80%;
}

#logo a {
	display: block;
	height: 100%;
}

#logo img {
	margin: 0;
	height: 100%;
}

header .btn-primary {
	padding: 8px 8px 8px 24px;
	gap: 24px;
	font-size: 1em;
}

header .btn-primary img {
	height: 30px;
	width: 30px;
}

/* Header Navigation */

#menu-overlay {
	position: fixed;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	background: #03080D;
	opacity: 0;
	pointer-events: none;
	transition: 0.5s all;
	z-index: 998;
}

#menu-overlay.visible {
	opacity: 0.97;
	pointer-events: auto;
}

#navigation {
	position: relative;
	z-index: 2;
	height: 100%;
}

.menu-primary-navigation-container {
	height: 100%;
}

#menu-primary-navigation {
	margin: 0;
	padding: 0;
	display: flex;
	height: 100%;
}

#menu-primary-navigation li {
	list-style-type: none;
	text-transform: none;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	padding-top: 5px;
	padding-bottom: 5px;
}

#menu-primary-navigation li {
	position: relative;
}

#menu-primary-navigation a {
	color: #1A1B1E;
	transition: 0.5s background;
	text-decoration: none;
	z-index: 2;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding-left: 1em;
	padding-right: 1em;
	border-radius: 4px;
	line-height: 1;
}

#menu-primary-navigation .menu-item-has-children > a:after {
	content: '';
	background-size: cover;
	background-image: url(/wp-content/themes/infratech/images/icon-caret-down-dark.svg);
	height: 6px;
	width: 12px;
	margin-left: 0.5em;
}

#menu-primary-navigation .menu-item-has-children:hover > a:after {
	transform: rotate(180deg);
}

#menu-primary-navigation li.current-menu-item > a,
#menu-primary-navigation li.current-menu-parent > a {
	text-decoration: underline;
	text-underline-offset: 5px;
}

#menu-primary-navigation .sub-menu li.current-menu-item > a {
	text-underline-offset: 3px;
}

#menu-primary-navigation .menu-item-has-children > a {
	cursor: default;
}

#menu-primary-navigation li:hover > a {
	background: #F2F2F2;
}

#menu-primary-navigation .menu-item-has-children:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 6px;
    pointer-events: none;
    width: 100%;
}

#menu-primary-navigation li.menu-item-has-children:hover:before {
    pointer-events: auto;
}

#menu-primary-navigation .sub-menu {
	position: absolute;
    opacity: 0;
    border-radius: 6px;
    pointer-events: none;
    transition: 0.5s opacity;
    z-index: 1;
    padding: 5px;
    display: flex;
    flex-wrap: wrap;
    width: auto;
    left: 0;
    background: #ffffff;
    overflow: hidden;
    margin: 0;
    top: calc(64px + 6px);
}

#menu-primary-navigation .menu-item-has-children:hover .sub-menu {
	opacity: 1;
	pointer-events: auto;
}

#menu-primary-navigation .sub-menu li {
	display: block;
   	padding: 0.8em 1em;
    border: none;
	white-space: nowrap;
	width: 100%;
	text-align: left;
	line-height: 1;
	border-radius: 4px;
	transition: 0.5s background;
}

#menu-primary-navigation .sub-menu li:hover {
	background: #F2F2F2;
}

#menu-primary-navigation .sub-menu li a {
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
}

#menu-primary-navigation .sub-menu li a:after {
	content: '';
	background-image: url(/wp-content/themes/infratech/images/icon-caret-right-dark.svg);
	height: 12px;
	width: 7px;
	position: relative;
	margin-left: 1em;
	display: inline-block;
	opacity: 0.65;
	transition: 0.5s opacity;
}

#menu-primary-navigation .sub-menu li:hover a:after {
	opacity: 1;
}

#nav-icon {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	justify-content: flex-end;
	margin-right: 15px;
}

.nav-icon {
  	width: 36px;
  	height: 36px;
  	display: flex;
  	flex-direction: column;
  	justify-content: center;
  	align-items: center;
  	background: #EFD62E;
  	border-radius: 8px;
}

.nav-icon:after, 
.nav-icon:before, 
.nav-icon div {
  	background-color: #1A1B1E;
  	content: '';
  	display: block;
  	height: 1px;
  	margin: 1.5px 0;
  	border-radius: 3px;
  	width: 16px;
  	transition: all .2s ease-in-out;
}

.nav-icon.close:before {
  	transform: translateY(4px) rotate(135deg);
}

.nav-icon.close:after {
  	transform: translateY(-5px) rotate(-135deg);
}

.nav-icon.close div {
  	transform: scale(0);
}

.close:not(:disabled):not(.disabled):focus, .close:not(:disabled):not(.disabled):hover, .nav-icon.close {
	opacity: 1;
}

/* Special Layouts */

.breadcrumb {
	background: unset;
	padding: unset;
	display: flex;
	align-items: center;
	margin-bottom: 1em;
}

.breadcrumb .h2,
.breadcrumb a,
.breadcrumb {
	color: #ffffff;
}

.breadcrumb a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.breadcrumb a:hover {
	text-decoration: none;
}

.breadcrumb h1 {
	font-size: inherit;
	font-family: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	margin: 0;
	top: -2px;
	position: relative;
}

.breadcrumb a {
	position: relative;
	top: -2px;
}

.breadcrumb div div {
	position: relative;
	top: -3px;
}

.bg-light-gray + .bg-light-gray > .container:first-of-type > .row:first-of-type {
	padding-top: 0;
}

#header {
	margin-top: 64px;
	padding: 2em;
	background: #ffffff;
	height: 80vh;
}

#header .container-fluid {
	border-radius: 40px;
	height: 100%;
}

#banner + header + #menu-overlay + #header {
	margin-top: calc(64px + 53px);
}

.page-template-home #header {
	z-index: 997;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	height: 125vh;
}

.content-carousel {
	padding: 30px;
}

.content-carousel .bordered-box-inner {
	background-color: #005DAB;
	background-image: url('/wp-content/themes/infratech/images/graphic-lines-content-carousel.svg');
	background-repeat: no-repeat;
	background-position: 42px bottom;
	background-size: 50%;
	border-radius: 32px;
}

.content-carousel h2.eyebrow {
	color: rgba(255, 255, 255, 0.65);
}

.content-carousel .slide-btns {
	display: flex;
	border-radius: 64px;
	background: #11324F;
	height: 64px;
	width: 100%;
	position: relative;
	margin-top: 40px;
	margin-bottom: 64px;
}

.content-carousel .slide-btns p { 
	font-size: 1.1em;
	font-style: normal;
	font-weight: 600;
	line-height: 125%;
	letter-spacing: -0.2px;
}

.content-carousel .slide-btns .active-bg {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 25%;
	background: #EFD62E;
	border: solid 2px #EFD62E;
	border-radius: 64px;
	transition: left 500ms ease;
}

.content-carousel .slide-btns .slide-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	width: 100%;
	border-radius: 64px;
}

.content-carousel .slide-btns .slide-btn p {
	color: rgba(255, 255, 255, 0.65);
	position: relative;
	z-index: 2;
}

.content-carousel .slide-btns .slide-btn.active p { 
	color: #005DAB;
}

.content-carousel .swiper-slide p,
.content-carousel .swiper-slide p > a,
.content-carousel .swiper-slide li,
.content-carousel .swiper-slide a,
.content-carousel .swiper-slide span {
	color: #fff;
}

.content-carousel .swiper-slide p {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 1.3em;
	font-style: normal;
	font-weight: 700;
	line-height: 150%;
	letter-spacing: -0.36px;
}

.content-carousel .swiper-slide ul,
.content-carousel .swiper-slide ol {
	list-style-position: inside !important;
	margin-left: 0;
	padding-left: 0;
}

.content-carousel .swiper-slide a {
	text-decoration: underline !important;
}

.content-carousel .swiper-slide a:hover {
	text-decoration: none !important;
}

.error404 #header .container.full-width,
.error404 #header .container.full-width .row {
	height: 100%;
}

#header .large {
	width: 70%;
}

.page-template-home #header .large {
	width: 100%;
}

.page-template-home #header #header-content {
	position: sticky;
	top: calc(64px);
}

.page-template-home #banner + header + #menu-overlay + #header #header-content {
	top: calc(64px + 53px);
}

#header-video {
	overflow: hidden;
	position: relative;
	z-index: 1000;
	opacity: 0;
	transition: 0.5s all;
	top: 0;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	left: 0;
	right: 0;
}

.logged-in.page-template-home #banner + header + #menu-overlay + #header #header-video {
	top: 32px;
	max-height: calc(100vh - 32px);
}

#header-video.in {
	opacity: 1;
}

#header-video video {
    width: 100%;
	height: 100%;
 	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.page-template-home #header + #content {
	position: relative;
	z-index: 997;
	margin-top: 120vh;
	background: #F2F2F2;
}

#header .overlay {
	background: linear-gradient(to bottom, rgba(26,27,30,0.16), rgba(26,27,30,0.80));
}

.quote {
	font-size: 2em;
	font-weight: 700;
	line-height: 150%;
	letter-spacing: -0.36px;
}

.testimonials {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 10%;
}

.testimonials.bg-light-gray,
.testimonials.bg-white {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-testimonials.svg);
}

.testimonials.bg-blue {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-testimonials-dark.svg);
}

.bg-blue.testimonials .h2 {
	color: #EFD62E;
}

.featured-projects .row,
.image-carousel-content .row {
	padding-top: 8em;
	padding-bottom: 8em;
}

.featured-projects .underlay,
.image-carousel-content .underlay {
	position: absolute;
	top: 0;
	right: 0;
	width: 56%;
	height: 100%;
	background: rgba(26,27,30,0.65);
}

.projects-button-swiper-mobile {
	display: none;
}

.featured-projects .projects-image-swiper,
.image-carousel-content .projects-image-swiper {
	overflow: hidden;
	height: 100%;
}

.featured-projects .projects-image-swiper img,
.image-carousel-content .projects-image-swiper img,
.projects-content-swiper img {
	border-radius: 40px;
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
}

.image-text .image,
.standout-quote .image {
	border-radius: 40px;
}

.image-text .image {
	width: 95%;
}

.image-text.right .col-lg-6.order-lg-6 {
	text-align: right;
}

.full-width-image {
	height: 80vh;
}

.cta-section .bg,
.full-width-image .bg {
	position: absolute;
	width: calc(100% - 4em);
	left: 2em;
	border-radius: 40px;
	overflow: hidden;
	height: 100%;
	z-index: 1;
}

.cta-section.last .bg {
	margin-top: 2em;
}

.full-width-image .bg {
	margin-top: 2em;
	margin-bottom: 2em;
	height: calc(100% - 4em);
}

.cta-section.last .bg {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.cta-section .image,
.full-width-image .image {
	height: 115%;
	width: 100%;
	position: absolute;
	background-position: center;
	background-size: cover;
}

.cta-section .container,
.full-width-image .container {
	position: relative;
	z-index: 2;
}

.full-width-image .container {
	height: calc(100% - 4em);
	top: 2em;
}

.full-width-image .row {
	height: 100%;
	padding-top: 2em;
	padding-bottom: 2em;
}

.cta-section .row {
	padding-top: 12em;
	padding-bottom: 12em;
}

.full-width-image .overlay {
	background: linear-gradient(to bottom, rgba(26,27,30,0), rgba(26,27,30,0.8));
}

.bg-light-gray + .full-width-image.bg-light-gray .bg {
	margin-top: 0;
}

.bg-light-gray + .full-width-image.bg-light-gray .container {
	height: calc(100% - 4em);
	top: 0;
}

.overview {
	background-repeat: no-repeat;
	background-position: 95% top;
	background-size: contain;
}

.overview .btn-text {
	color: #005DAB;
}

.overview.bg-white {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-overview.svg);
}

.overview.bg-blue {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-overview-dark.svg);
}

.bg-white.full-width-image + .bg-white.accordion-section {
	margin-top: -2em;
}

.stat .box {
	background-size: contain;
	background-repeat: no-repeat;
	padding-top: 6em;
	padding-bottom: 6em;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.stat:nth-of-type(1n) .box {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-stats-1.svg);
	background-position: 75% top;
}

.stat:nth-of-type(2n) .box {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-stats-2.svg);
	background-position: 75% top;
}

.stat:nth-of-type(3n) .box {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-stats-3.svg);
	background-position: 0% top;
}

.stat:nth-of-type(4n) .box {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-stats-3.svg);
	background-position: 0% top;
}

.stat:nth-of-type(5n) .box {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-stats-1.svg);
	background-position: 75% top;
}

.stat:nth-of-type(6n) .box {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-stats-2.svg);
	background-position: 75% top;
}

.stat .label {
	font-size: 1.3em;
	margin-top: 0.5em;
	color: rgba(255,255,255,0.65);
}

.person {
	width: 100%;
	padding-top: 1em;
	padding-bottom: 1em;
	border-top: 1px solid rgba(26,27,30,0.08);
	border-bottom: 1px solid rgba(26,27,30,0.08);
	opacity: 0.3;
	transition: 0.5s all;
}

.person.active,
.person:hover {
	opacity: 1;
	text-decoration: none;
}

.person .h2 {
	font-weight: 400;
	color: #1A1B1E;
}

.team .image {
	position: sticky;
	top: calc(64px + 2em);
}

#banner + header + #menu-overlay + #header + #content .team .image {
	top: calc(64px + 53px + 2em);
}

.team .image img {
	border-radius: 12px;
}

.team .image img {
	position: relative;
}

.team .image img.show {
	opacity: 1;
}

.accordion-section {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-accordion.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 20% top;
	background-attachment: fixed;
} 

.text-cards {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-text-cards-2.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 80% top;
}

.text-cards.two-column {
	background-image: url(/wp-content/themes/infratech/images/graphic-lines-text-cards.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 20% top;
}

.accordion-section .headline {
	position: sticky;
	top: calc(64px + 2em);
}

#banner + header + #menu-overlay + #header + #content .accordion-section .headline {
	top: calc(64px + 2em + 53px);
}

.single-project h2:not(.h1) {
	color: #1A1B1E;
}

.text-html h3,
.text-html h4 {
	margin-top: 0.75em;
	margin-bottom: 0.5em;
}

.text-html h5 {
	margin-top: 1em;
}

.tagline {
	padding: 0;
}

/* Cards */

.card {
	justify-content: center;
	border: 0;
	overflow: hidden;
	border-radius: 0;
	background: transparent;
	height: 100%;
}

.card.image {
	background: #ffffff;
	border-radius: 24px;
	padding: 8px;
	transition: 0.5s box-shadow;
}

a.card.image:hover {
	box-shadow: 0 2px 36px 8px rgba(26, 27, 30, 0.35);
	text-decoration: none;
}

.card.image .card-img {
	border-radius: 20px;
	overflow: hidden;
	position: relative;
}

a.card.image .card-img img {
	transition: 0.5s all;
}

a.card.image:hover .card-img img {
	transform: scale(1.1);
}

.card.image h4 {
	color: #1A1B1E;
}

.card.image .card-body {
	color: rgba(26,27,30,0.65);
}

.card.image .card-body {
	padding: 1.25em 1.5em 1.5em;
}

.card.image .btn-text {
	color: #005DAB;
}

.card.img .btn-text:hover {
	text-decoration: underline;
}

.card.text {
	background: #f2f2f2;
	border-radius: 20px;
}

.bg-light-gray .card.text {
	background: #E8E8E8;
}

.card.text .text {
	font-size: 0.8em;
}

.bg-blue .card.text {
	background: #ffffff;
	color: #1A1B1E;
}

.page-template-projects .card.image {
	background: #f2f2f2;
}

.page-template-projects a.card.image:hover {
	box-shadow: unset;
}

/* Swiper */

button[aria-label="1 of 1"] {
	display: none !important;
}

.content-carousel-swiper {
	overflow: hidden;
}
.content-carousel .slide-btn {
	cursor: pointer;
}

.tagline-swiper,
.logos-carousel {
	position: relative;
	overflow: hidden;
}

.tagline-swiper .swiper-wrapper,
.logos-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}

.logos-swiper .swiper-wrapper {
	align-items: center;
}

.logos-swiper .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1em;
	max-width: 175px;
}

.tagline-swiper .swiper-slide {
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: center;
	width: auto;
}

.tagline-swiper .h3 {
	white-space: nowrap;
}

.tagline-swiper img {
	height: 14px;
	width: 14px;
	margin-left: 2em;
	margin-right: 2em;
}

.projects-content-swiper .swiper-slide {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.images-swiper .swiper-slide {
	opacity: 0.3;
	transition: 0.5s opacity;
}

.images-swiper .swiper-slide-active {
	opacity: 1;
}

.swiper-navigation {
	margin-top: 2em;
}

.featured-projects .swiper-navigation,
.image-carousel-content .swiper-navigation {
	position: absolute;
	bottom: -6em;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: calc(100% - 30px);
}

.featured-projects .swiper-navigation.has-pagers,
.image-carousel-content .swiper-navigation.has-pagers {
	justify-content: space-between;
}

.image-text-swiper {
	position: relative;
}

.image-text-swiper .swiper-navigation {
	position: absolute;
	bottom: 2em;
	right: 2em;
}

.swiper-arrows {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.swiper-pagination + .swiper-arrows {
	margin-top: 0.5em;
}

.swiper-button-next, .swiper-button-prev {
	position: relative;
	top: unset;
	height: 48px;
	widtH: 48px;
	color: unset;
	margin: 0;
	background-size: 24px;
	background-position: center;
	border-radius: 50%;
	background-color: #005DAB;
	background-repeat: no-repeat;
	left: unset;
	right: unset;
	transition: 0.5s background-color;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
	background-color: #11324F;
}

.bg-blue .swiper-button-next, .bg-blue .swiper-button-prev {
	background-color: #EFD62E;
}

.bg-blue .swiper-button-next:hover,
.bg-blue .swiper-button-prev:hover {
	background-color: #D9C22A;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
	background-color: unset;
	border: 2px solid #005DAB;
	opacity: 0.3;
}

.bg-blue .swiper-button-next.swiper-button-disabled, .bg-blue .swiper-button-prev.swiper-button-disabled {
	border-color: #EFD62E;
}

.swiper-button-next:after, .swiper-button-prev:after {
	display: none;
}

.swiper-button-next {
	background-image: url(/wp-content/themes/infratech/images/icon-arrow-right-white.svg);
}

.swiper-button-next.swiper-button-disabled {
	background-image: url(/wp-content/themes/infratech/images/icon-arrow-right-blue.svg);
}

.swiper-button-prev {
	background-image: url(/wp-content/themes/infratech/images/icon-arrow-left-white.svg);
}

.swiper-button-prev.swiper-button-disabled {
	background-image: url(/wp-content/themes/infratech/images/icon-arrow-left-blue.svg);
}

.bg-blue .swiper-button-next {
	background-image: url(/wp-content/themes/infratech/images/icon-arrow-right-blue.svg);
}

.bg-blue .swiper-button-next.swiper-button-disabled {
	background-image: url(/wp-content/themes/infratech/images/icon-arrow-right-yellow.svg);
}

.bg-blue .swiper-button-prev {
	background-image: url(/wp-content/themes/infratech/images/icon-arrow-left-blue.svg);
}

.bg-blue .swiper-button-prev.swiper-button-disabled {
	background-image: url(/wp-content/themes/infratech/images/icon-arrow-left-yellow.svg);
}

.swiper-pagination {
	position: relative;
	opacity: 1;
	bottom: unset;
}

.featured-projects .swiper-pagination,
.image-carousel-content .swiper-pagination {
	text-align: left;
}

.swiper-pagination-bullet {
	width: 56px;
	height: 12px;
	background: rgba(26,27,30,0.08);
	border-radius: 20px;
	opacity: 1;
}

.bg-blue .swiper-pagination-bullet {
	background: rgba(255,255,255,0.3);
}

.swiper-pagination-bullet-active {
	background: rgba(26,27,30,0.3);
}

.bg-blue .swiper-pagination-bullet-active {
	background: rgba(255,255,255,0.6);
}

/* Filter */

.services {
	position: absolute;
	bottom: 0.5em;
	left: 0;
	width: 100%;
	padding: 0.5em;
	display: flex; 
	flex-wrap: wrap;
	justify-content: flex-end;
}

.services .tag {
	background: #ffffff;
	border-radius: 1000px;
	padding: 12px 20px;
	width: auto;
	margin-right: 10px;
	font-size: 0.7em;
	margin-top: 10px;
}

.filter {
	width: 100%;
	cursor: pointer;
}

.filter .active {
	padding: 0.8em 1.5em;
	background-color: transparent;
	border: 1px solid rgba(0,93,171,0.3);
	color: #005DAB;
	border-radius: 100px;
	text-transform: capitalize;
	line-height: 1;
	display: flex;
	align-items: center;
}

.filter .active:after {
	content: '';
	background-image: url(/wp-content/themes/infratech/images/icon-caret-down-blue.svg);
	background-size: cover;
	width: 10px;
	height: 6px;
	position: relative;
	margin-left: 0.5em;
	display: inline-block;
}

.filter .dropdown {
	position: absolute;
	background: #F2F2F2;
	border-radius: 32px;
	pointer-events: none;
	z-index: 998;
	border: 1px solid rgba(0,93,171,0.3);
	margin-top: 10px;
	box-shadow: 0 30px 36px 8px rgba(26, 27, 30, 0.12);
	padding: 0.5em 0.75em;
	transform: translateY(-6px);
	transition: 300ms transform, 300ms opacity;
	opacity: 0;
}

.filter .dropdown.show {
	transform: translateY(0);
	pointer-events: auto;
	opacity: 1;
}

.filter .dropdown .option {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	transition: 0.5s all;
	line-height: 1;
	white-space: nowrap;
	padding: 0.8em 1.5em;
	background-color: transparent;
	border: 1px solid rgba(0,93,171,0.3);
	color: #005DAB;
	border-radius: 100px;
}

.filter .dropdown .option:hover {
	background: #005DAB;
	color: #ffffff;
}

/* Isotope */

.hidden-item {
	display: none;
}

.isotope, .isotope-filter {
	padding-left: 15px;
	padding-right: 15px;
}

.isotope .row, .isotope-filter .row {
	margin-left: -15px;
	margin-right: -15px;
}

.grid-item {
	margin-bottom: 30px;
	padding-left: 15px;
	padding-right: 15px;
}

.isotope-filter .col-md-6 {
	padding-left: 15px;
	padding-right: 15px;
}

.grid-item:last-of-type {
	margin-bottom: 0;
}

.grid-item .card-img {
	width: 100%;
}

/* Table */

table {
	width: 100%;
	font-size: 1em;
	line-height: 1;
}

thead {
	background: #F4F4F4;
}

th {
	padding: 1em;
}

th:last-of-type {
	padding-right: 4em;
}

td {
	border: 0;
	padding: 1em;
}

/* Accordion */

.accordion {
	cursor: pointer;
	padding: 0;
	margin: 0;
}

.accordion li {
	list-style-type: none;
	margin: 0;
	padding: 1.75em;
	border: 1px solid rgba(26,27,30,0.08);
	display: block;
	border-radius: 20px;
	background: #ffffff;
	margin-bottom: 1em;
}

.bg-white .accordion li {
	background: #f2f2f2;
}

.accordion li:before {
	display: none;
}

.accordion li.open {
	background: #005DAB;
	color: rgba(255,255,255,0.65);
	padding-bottom: 2em;
	border-bottom: 0;
}

.bg-blue .accordion li.open {
	background: #f2f2f2;
	color: #1A1B1E;
}

.accordion h4 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0;
	margin-top: 0;
	transition: 0s all;
	line-height: 1;
	padding-bottom: 0;
	display: flex;
	align-items: center;
}

.bg-blue .accordion h4 {
	color: #1A1B1E;
}

.accordion h4 span {
	width: calc(100% - 32px - 2em);
}

.accordion li.open h4 {
	color: #ffffff;
}

.bg-blue .accordion li.open h4 {
	color: #1A1B1E;
}

.accordion .answer {
	display: none;
	margin-top: 0;
	padding-left: 0;
	margin-bottom: 0;
	width: 80%;
	padding-top: 1em;
}

.accordion li h4 .icon {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	width: 32px;
	transition: 0.5s all;
	right: 1.75em;
}

.accordion li h4 .icon:before,
.accordion li h4 .icon:after {
	content: '';
	background: rgba(26,27,30,0.3);
	height: 100%;
	width: 1px;
	position: absolute;
	display: block;
}

.accordion li h4 .icon:after {
	transform: rotate(90deg);
}

.accordion li.open h4 .icon {
	transform: rotate(45deg);
	top: 1.25em;
}

.accordion li.open h4 .icon:before,
.accordion li.open h4 .icon:after {
	background: #ffffff;
}

.bg-blue .accordion li.open h4 .icon:before, .bg-blue .accordion li.open h4 .icon:after {
	background: rgba(26,27,30,0.3);
}

/* Lists */

ul {
	padding: 0;
	margin-left: 2.5em;
}

ul li {
	width: 100%;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	position: relative;
}

ul.two-col {
	display: flex;
	flex-wrap: wrap;
}

ul.two-col li {
	width: 50%;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

/* Gravity Forms */

.gform_wrapper {
	position: relative;
	margin: 0;
	width: 100%;
}

.gform_wrapper.gravity-theme .field_description_above .gfield_description {
	margin-top: -1em;
}

.gform_wrapper.gravity-theme .field_description_above .gfield_description a {
	color: #ffffff;
	text-decoration: underline;
}

.gform_wrapper.gravity-theme .gfield input.large {
	font-size: 1em;
	margin-bottom: 1em;
}

.gform_heading {
	display: none;
}

.gform_wrapper.gravity-theme .gform_validation_errors,
.gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message {
	background: transparent !important;
	border: unset !important;
	padding: 0 !important;
	box-shadow: unset !important;
}

.gform_wrapper.gravity-theme .gfield_error textarea[aria-invalid=true] {
	border: unset !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors>h2 {
	color: #ffffff !important;
	font-style: italic;
	text-transform: unset;
	font-size: 1em !important;
	margin-bottom: 2em !important;
}

.gform-icon--circle-error:before {
	display: none;
}

.gform_wrapper.gravity-theme .gfield_required {
	color: #EFD62E !important;
	font-size: 1em !important;
	position: relative;
	top: 0px;
}

.gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label, .gform_wrapper.gravity-theme .gfield_error label, .gform_wrapper.gravity-theme .gfield_error legend, .gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message, .gform_wrapper.gravity-theme [aria-invalid=true]+label, .gform_wrapper.gravity-theme label+[aria-invalid=true] {
	color: #ffffff !important;
}

.ginput_container_textarea + .validation_message {
	top: 0em !important;
}

.gform_wrapper ul.gform_fields {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

.gform_wrapper ul.gform_fields li.gfield {
	list-style-type: none;
	font-size: 1em;
	display: block;
}

.gform_wrapper ul.gform_fields li.gfield.gform_validation_container {
	display: none;
}

.gform_wrapper ul.gform_fields li.gfield:before {
	display: none;
}

.gfield_label {
	color: #ffffff;
	text-transform: uppercase;
}

.hidden_label label {
	display: none;
}

.submit-button .gfield_label {
	display: none !important;
}

.hidden_label select {
	margin-top: 0 !important;
}

.gform_wrapper .validation_message {
	color: red;
	font-weight: 300;
	font-size: 0.8em;
	font-style: italic;
	text-align: left;
	position: relative;
	top: -2em;
}

.gform_confirmation_wrapper {
    color: #ffffff;
    text-align: center;
    width: 100%;
}

.gform_wrapper .field_description_below .gfield_description {
	padding-top: 0;
}

.gform_wrapper .instruction {
 	display: none;
}

.gform_wrapper div.validation_error {
	color: red;
    font-style: italic;
    position: relative;
    top: -1em;
    font-size: 0.8em;
    margin: 0;
    padding-left: 15px;
    padding-right: 15px;
}

.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
	background-color: transparent;
	border: 0;
	padding-top: 0;
	padding-bottom: 0;
}

.gform_wrapper li.gfield_error textarea, .gfield_error select {
	border: 1px solid #f26e24 !important;
}

.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
	border-bottom: 1px solid #f26e24 !important;
}

.gform_validation_container {
	display: none;
}

.gform_button {
	border: 0;
}

.gform_wrapper textarea, .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper select {
	font-size: 1em !important;
	padding: 0.5em 1em;
	padding-left: 0;
	-webkit-appearance: none;
	background: transparent;
	width: 100%;
	border: unset;
	border-bottom: 1px solid rgba(255,255,255,0.3);
	box-shadow:unset;
	border-radius: 0;
	margin-bottom: 1.5em;
	color: #ffffff;
	transition: 0.5s all;
}

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, .gform_wrapper select:focus {
	outline: none;
	background-color: rgba(26,27,30,0.08);
}

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):hover, .gform_wrapper select:hover, .gform_wrapper textarea:hover {
	border-bottom: 1px solid #ffffff;
}

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]).invalid, .gform_wrapper select.invalid, .gform_wrapper textarea.invalid {
	border-bottom: 2px solid #FF5454;
}

.gform_wrapper select {
	background-image: url(/wp-content/themes/infratech/images/icon-caret-down-white.svg);
	background-size: 12px;
	background-position: 100% center;
	background-repeat: no-repeat;
	padding-left: 0 !important;
	padding-bottom: 0.5em !important;
	margin-bottom: 1.5em !important;
}

.gform_wrapper textarea {
	height: 150px !important;
	resize: vertical !important;
  	overflow: auto;
  	border-bottom: 1px solid rgba(255,255,255,0.3);
  	padding: 0.5em 1em;
  	background: rgba(26,27,30,0.08);
}

.gform_wrapper textarea:focus {
	background: rgba(26,27,30,0.3);
	outline: none;
	border-bottom: 1px solid #ffffff;
}

input[type=checkbox] {
	border: 1px solid #DDE2E5;
	height: 20px;
    width: 20px;
    top: 3px;
    position: relative;
}

.ginput_container {
	position: relative;
}

label.invalid {
    font-size: 0.7em;
    bottom: -0.5em;
    position: absolute;
    left: 0;
}

#field_1_12 .gfield_label {
	display: none;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #9D9D9D;
}

::-moz-placeholder { /* Firefox 19+ */
  color: #9D9D9D;
}

:-ms-input-placeholder { /* IE 10+ */
  color: #9D9D9D;
}

:-moz-placeholder { /* Firefox 18- */
  color: #9D9D9D;
}

/* Footer */

footer {
	position: relative;
	padding-left: 2em;
	padding-right: 2em;
	padding-bottom: 2em;
	background: #ffffff;
	z-index: 997;
}

footer .container-fluid {
	background: #1A1B1E;
}

footer .container-fluid:last-of-type {
	border-bottom-left-radius: 40px;
	border-bottom-right-radius: 40px;
}

footer .h5,
footer .h6 {
	color: #ffffff;
}

footer .box {
	background: rgba(255,255,255,0.08);
	box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.30);
	color: rgba(255,255,255,0.65);
}

footer a {
	text-decoration: none;
	color: rgba(255,255,255,0.65);
}

footer a:hover {
	text-decoration: underline;
}

footer ul {
	margin: 0;
	padding: 0;
	margin-top: 1em;
}

footer ul li {
	list-style-type: none;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
    position: relative;
    width: auto;
}

footer ul li a {
	color: rgba(255,255,255,0.65);
}

footer ul li a:hover {
	color: #ffffff;
	text-decoration: none;
}

footer .social {
	height: 40px;
	width: 40px;
	background: rgba(255,255,255, 0.08);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 0.5em;
	transition: 0.5s all;
}

footer .social:hover {
	background: rgba(255,255,255,0.3);
}

footer .social img {
	height: 16px;
	width: 16px;
}

#menu-footer-secondary-navigation {
	display: flex;
	justify-content: center;
	margin: 0;
}

#menu-footer-secondary-navigation li {
	width: auto;
	margin-left: 1em;
	margin-right: 1em;
	margin-top: 0;
	margin-bottom: 0;
}

#menu-footer-secondary-navigation li a {
	font-size: 0.8em;
}

.fieldwrk img {
	width: 100px;
	opacity: 0.65;
	transition: 0.5s all;
}

.fieldwrk:hover img {
	opacity: 1;
}

/* Animations */

.fade-in {
	opacity: 0;
	top: 100px;
	transition: 0.6s opacity ease-in-out 0.2s, 0.6s top ease-in-out 0.2s;
	position: relative;
}

.fade-in.in {
	opacity: 1; 
	top: 0;
}

.fade-in.count-1 {
	transition: 0.6s opacity ease-in-out 0.4s, 0.6s top ease-in-out 0.4s, 0.5s box-shadow;
}

.fade-in.count-2 {
	transition: 0.6s opacity ease-in-out 0.6s, 0.6s top ease-in-out 0.6s, 0.5s box-shadow;
}

.fade-in.count-3 {
	transition: 0.6s opacity ease-in-out 0.8s, 0.6s top ease-in-out 0.8s, 0.5s box-shadow;
}

.fade-in.count-4 {
	transition: 0.6s opacity ease-in-out 1s, 0.6s top ease-in-out 1s, 0.5s box-shadow;
}

.fade-in.count-5 {
	transition: 0.6s opacity ease-in-out 1.2s, 0.6s top ease-in-out 1.2s, 0.5s box-shadow;
}

.fade-in.count-6 {
	transition: 0.6s opacity ease-in-out 1.4s, 0.6s top ease-in-out 1.4s, 0.5s box-shadow;
}

.fade-in.count-7 {
	transition: 0.6s opacity ease-in-out 1.6s, 0.6s top ease-in-out 1.6s, 0.5s box-shadow;
}

.fade-in.count-8 {
	transition: 0.6s opacity ease-in-out 1.8s, 0.6s top ease-in-out 1.8s, 0.5s box-shadow;
}

.fade-in.count-9 {
	transition: 0.6s opacity ease-in-out 2s, 0.6s top ease-in-out 2s, 0.5s box-shadow;
}

.fade-in.count-10 {
	transition: 0.6s opacity ease-in-out 2.2s, 0.6s top ease-in-out 2.2s, 0.5s box-shadow;
}

.fade-in.count-11 {
	transition: 0.6s opacity ease-in-out 2.4s, 0.6s top ease-in-out 2.4s, 0.5s box-shadow;
}

.fade-in.count-12 {
	transition: 0.6s opacity ease-in-out 2.6s, 0.6s top ease-in-out 2.6s, 0.5s box-shadow;
}

.fade-in.count-13 {
	transition: 0.6s opacity ease-in-out 2.8s, 0.6s top ease-in-out 2.8s, 0.5s box-shadow;
}

.fade-in.count-14 {
	transition: 0.6s opacity ease-in-out 3s, 0.6s top ease-in-out 3s, 0.5s box-shadow;
}

@media only screen and (min-width: 2000px) {
	.d-xxl-none {
		display: none !important;
	}

	.d-xxl-block {
		display: block !important;
	}
}

@media only screen and (max-width: 1700px) {

}

@media only screen and (max-width: 1600px) {

}

@media only screen and (max-width: 1500px) {
	
}

@media only screen and (max-width: 1440px) {
	/* Global */

	.container.full-width {
	    width: 100%;
	    max-width: 92%;
	}

	/* Typography */

	h1, .h1 {
		font-size: 3.7em;
	}

	h3, .h3 {
		font-size: 3.2em;
	}

	/* Special Layouts */

	#header .container.full-width {
		max-width: calc(92% + 4em);
	}

	/* Footer */

	footer .container.full-width {
		max-width: calc(92% + 4em);
	}

}

@media only screen and (max-width: 1300px) {
	/* Global */

	/* Typography */

	h1, .h1 {
		font-size: 4em;
	}

	/* Header */


	/* Header Navigation */

	#menu-primary-navigation a,
	header .btn-primary {
		font-size: 0.9em;
	}

	/* Special Layouts */

	.quote {
		font-size: 1.5em;
	}

	/* Helpers */

}

@media only screen and (max-width: 1200px) {
	/* Global */

	.container.full-width {
	    width: 100%;
	    max-width: 100%;
	}

	.row {
		padding-top: 3em;
		padding-bottom: 3em;
	}

	.py-small {
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}

	.pt-small {
		padding-top: 1.5em;
	}

	.pb-small {
		padding-bottom: 1.5em;
	}

	/* Typography */

	h1, .h1 {
		font-size: 3.7em;
	}

	.page-template-home h1 {
		font-size: 4.4em;
	}

	.btn-primary, .btn-secondary {
		font-size: 1em;
		gap: 50px;
	}

	/* Header */

	#banner {
		font-size: 0.9em;
	}

	/* Header Navigation */

	#menu-primary-navigation a, header .btn-primary {
		font-size: 0.8em;
	}

	/* Special Layouts */

	#header .large {
		width: 100%;
	}

	#header .container.full-width {
		max-width: calc(100% + 4em);
	}

	.bg-light-gray + .full-width-image.bg-light-gray .container {
		max-width: calc(100% - 4em);
	}

	.stat .box {
		padding-top: 5em;
		padding-bottom: 5em;
	}

	.featured-projects .row, .image-carousel-content .row {
		padding-top: 5em;
		padding-bottom: 5em;
	}

	.cta-section .row {
		padding-top: 8em;
		padding-bottom: 8em;
	}

	/* Swiper */

	.featured-projects .swiper-navigation, .image-carousel-content .swiper-navigation {
		bottom: -4em;
	}

	/* Accordion */

	.accordion li h4 .icon {
		height: 28px;
		width: 28px;
	}

	/* Content Carousel */
	.content-carousel .bordered-box-inner {
		background-size: 70%;
	}

	.content-carousel .slide-btns p {
		font-size: 1em;
	}

}

@media only screen and (max-width: 1024px) {
	/* Global */


	/* Typography */

	h1, .h1 {
		font-size: 3.5em;
	}

	h2, .h2 {
		font-size: 1em;
	}

	h3, .h3 {
		font-size: 2.8em;
	}

	h3.smaller, .h3.smaller {
		font-size: 1.8em;
	}

	.btn-primary, .btn-secondary {
		font-size: 1em;
	}

	.btn-text {
		font-size: 1em;
	}

	/* Header */

	#banner {
		font-size: 0.8em;
	}

	/* Header Navigation */

	#menu-primary-navigation a,
	header .btn-primary {
		font-size: 0.8em;
	}

	header .btn-primary {
		padding: 4px 4px 4px 20px;
	}

	header .btn-primary img {
		height: 24px;
		width: 24px;
	}

	/* Special Layouts */

	.stat .box {
		padding-top: 4em;
		padding-bottom: 4em;
	}

	.person .h2 {
		font-size: 0.8em;
	}

	.cta-section .h1 {
		font-size: 2.8em;
	}

	/* Isotope */

	.isotope .grid-item {
		margin-bottom: 45px;
	}
}

@media only screen and (min-width: 1200px) and (max-height: 750px) {
	/* Header Navigation */


	/* Special Layouts */

	
}

@media only screen and (max-width: 992px) {
	/* Global */

	.container {
		width: 95%;
	}

	/* Typography */

	.page-template-home h1 {
		font-size: 3.5em;
	}

	h1, .h1 {
		font-size: 3em;
	}

	.h1.number {
		font-size: 2.5em;
	}

	/* Header */

	/* Header Navigation */

	#navigation {
		margin: inherit;
	}

	.menu-primary-navigation-container, .logged-in .menu-primary-navigation-container {
		background: #ffffff;
	    max-height: calc(90vh - 64px);
	    width: 100%;
	    left: 0;
	    position: fixed;
	    top: calc(-100vh - 70px);
	    display: flex;
	    align-items: flex-start;
	    justify-content: center;
	    overflow-y: scroll;
	    border-bottom-left-radius: 16px;
	    border-bottom-right-radius: 16px;
	    height: auto;
	}

	.logged-in .menu-primary-navigation-container, .logged-in .menu-primary-navigation-container {
		height: auto;
	}

	#banner + header .menu-primary-navigation-container {
		height: auto;
	}

	.menu-primary-navigation-container.visible {
		top: 64px;
	}

	#banner + header .menu-primary-navigation-container.visible {
		top: calc(53px + 64px);
	}

	.logged-in .menu-primary-navigation-container.visible {
		top: calc(63px + 32px);
	    max-height: calc(90vh - 64px - 32px);
	}

	.logged-in #banner + header .menu-primary-navigation-container.visible {
		top: calc(53px + 64px + 32px);
	    max-height: calc(90vh - 64px - 53px - 32px);
	}

	#menu-primary-navigation {
		flex-direction: column;
		align-items: flex-start;
		margin: 0;
		padding: 0;
		width: 100%;
	}

	#menu-primary-navigation li.open .sub-menu {
		display: block;
		opacity: 1;
	}

	#menu-primary-navigation li, #menu-primary-navigation .sub-menu li {
		display: block;
		text-align: center;
		width: 100%;
		padding: 0;
	}

	#menu-primary-navigation > li.open {
		border-bottom: 1px solid rgba(26,27,30,0.08);
	}

	#menu-primary-navigation li > a {
		font-size: 1.2em;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		height: auto;
		justify-content: space-between;
		padding-left: 30px;
		padding-right: 30px;
		padding-top: 1em;
		padding-bottom: 1em;
		border-bottom: 1px solid rgba(26,27,30,0.08);
	}

	#menu-primary-navigation li:hover > a {
		background: unset;
	}

	#menu-primary-navigation li.open > a {
		background: #f2f2f2;
	}
	
	#menu-primary-navigation .menu-item-has-children:before {
		display: none;
	}

	#menu-primary-navigation a:after {
		content: '';
		height: 15px;
		width: 10px;
		background-image: url(/wp-content/themes/infratech/images/icon-caret-right-dark.svg);
		background-size: cover;
		position: relative;
		display: inline-block;
	}

	#menu-primary-navigation .menu-item-has-children > a:after {
		height: 10px;
		width: 15px;
	}

	#menu-primary-navigation .sub-menu {
		display: none;
		position: relative;
		background: transparent;
		padding: 0.5em 1em;
		border: 0;
		background: #EDEDED;
		border-radius: 6px;
		margin: 1em;
		top: unset;
	}

	#menu-primary-navigation .sub-menu li {
		padding: 0;
		margin: 0;
	}

	#menu-primary-navigation li .sub-menu a {
		font-size: 1em;
		font-weight: 500;
		padding-top: 1em;
		padding-bottom: 1em;
		border: 0;
		padding-left: 0.75em;
		padding-right: 0.75em;
	}

	/* Helpers */

	.fancybox-content {
		padding-top: 4em;
		margin-bottom: 3em;
	}

	.fancybox-content .bio-content {
		padding-top: 2em;
		padding-left: 15px;
		margin-top: 0;
		padding-bottom: 2em;
		overflow: unset;
	}

	/* Special Layouts */

	#header {
		height: auto;
	}

	.full-width-image {
		height: 60vh;
	}

	.featured-projects .row,
	.image-carousel-content .row {
		padding-top: 4em;
		padding-bottom: 4em;
	}

	.featured-projects .underlay,
	.image-carousel-content .underlay {
		display: none;
	}

	.featured-projects .bg,
	.image-carousel-content .bg {
		position: absolute;
	    top: 0;
	    left: -30px;
	    width: calc(100% + 60px);
	    height: calc(100% + 4em);
	    background: rgba(26, 27, 30, 0.65);
	}

	.featured-projects .projects-image-swiper,
	.image-carousel-content .projects-image-swiper {
		height: auto;
	}

	.cta-section .row {
		padding-top: 6em;
		padding-bottom: 6em;
	}
	
	.accordion-section .headline,
	#banner + header + #menu-overlay + #header + #content .accordion-section .headline {
		position: relative;
		top: unset;
	}

	.stat .box {
		padding: 2em;
		width: calc(100% + 15px);
		left: -7.5px;
		position: relative;
	}

	.stat .label {
		font-size: 0.8em;
	}

	.featured-projects .underlay, .image-carousel-content .underlay {
		display: none;
	}

	.person {
		opacity: 1;
	}

	.testimonials,
	.accordion-section,
	.text-cards,
	.overview {
		background-image: unset !important;
	}

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

	/* Swiper */

	.featured-projects .swiper-navigation,
	.image-carousel-content .swiper-navigation {
		position: relative;
		bottom: unset;
		margin-top: 2em;
	}

	/* Gravity Forms */

	.gform_wrapper div.validation_error {
		position: relative;
		top: 0;
		padding-left: 15px;
		padding-right: 15px;
	}

	.gform_wrapper .gform_footer {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.gform_wrapper li:nth-of-type(even) {
		padding-left: 15px;
	}

	.gform_wrapper textarea, .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper select {
		margin-bottom: 1em;
	}

	label.invalid {
	    bottom: -1em;
	}

	/* Footer */

	footer a {
		font-size: 0.8em;
	}

	footer .box {
		padding: 1em;
		font-size: 0.8em;
	}
}

@media only screen and (max-width: 782px) {
	/* Header */

	.logged-in #banner {
	    top: 46px;
	}

	.logged-in header.container-fluid {
		top: 46px;
	}

	.logged-in #banner + header {
	    top: calc(53px + 46px);
	}

	/* Header Navigation */

	.logged-in .menu-primary-navigation-container.visible {
		top: calc(64px + 46px);
	}

	.logged-in #banner + header .menu-primary-navigation-container.visible {
		top: calc(53px + 64px + 46px);
        max-height: calc(90vh - 64px - 53px - 46px);
	}
}

@media only screen and (max-width: 767px) {
	/* Global */

	#wpadminbar {
		position: fixed !important;
	}

	.container {
		width: 100%;
	}

	.row {
		padding-top: 3em;
		padding-bottom: 3em;
	}
	
	.py-small {
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}

	.pt-small {
		padding-top: 1.5em;
	}

	.pb-small {
		padding-bottom: 1.5em;
	}

	/* Typography */

	h1, .h1 {
		font-size: 2.3em;
	}

	.page-template-home h1 {
		font-size: 2.7em;
	}

	h3, .h3 {
		font-size: 2em;
	}

	h3.smaller, .h3.smaller {
		font-size: 1.5em;
	}

	.large {
		font-size: 1.1em;
	}

	.btn-primary, .btn-secondary {
		width: 100%;
		font-size: 0.9em;
		gap: unset;
		justify-content: space-between;
	}

	/* Google Maps */

	#map-container {
		width: calc(100% - 2em);
		left: 1em;
		border-radius: 24px;
	}

	/* Header */

	#banner {
		font-size: 0.7em;
	}

	/* Helpers */

	.box.bg-blue {
		padding: 1.5em;
	}

	.fancybox-slide--html .fancybox-close-small {
		top: 0.5em;
		right: 15px;
	}

	/* Header */

	#logo a {
		height: 80%;
	}

	/* Header Navigation */

	#menu-primary-navigation a {
		font-size: 1.3em;
	}

	#menu-primary-navigation li .sub-menu a {
		font-size: 0.9em;
	}

	/* Special Layouts */

	.breadcrumb {
		font-size: 0.7em;
		flex-direction: column;
		align-items: flex-start;
	}

	.breadcrumb h1 {
		margin-top: 0.25em;
		top: 0;
		white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
        width: 300px;
	}

	.breadcrumb div div {
		top: 0;
	}

	#header {
		padding: 1em;
	}

	.page-template-home #header {
		padding: 15px;
		padding-top: 0;
		padding-bottom: 30px;
	}

	#header .row {
		padding-top: 3em;
		padding-bottom: 3em;
	}

	.page-template-home #header .row {
		padding-top: 2em;
		padding-bottom: 1.5em;
	}

	.page-template-home #header {
		height: auto;
	}

	#header-video {
		max-width: 95% !important;
		border-radius: 24px;
		height: 250px !important;
		position: relative;
	}

	.page-template-home #banner + header + #menu-overlay + #header #header-content {
		position: relative;
		top: unset;
	}

	.page-template-home #header + #content {
		margin-top: unset;
	}

	.quote {
		font-size: 1em;
	}

	.author {
		font-size: 0.8em;
	}

	.featured-projects .row,
	.image-carousel-content .row {
		padding-top: 2em;
		padding-bottom: 2em;
	}

	.cta-section .bg {
		width: calc(100% - 2em);
		left: 1em;
		border-radius: 24px;
	}

	.cta-section.last .bg {
	    border-bottom-left-radius: 0;
	    border-bottom-right-radius: 0;
	    margin-top: 1em;
	}

	.cta-section .h1 {
		font-size: 2em;
	}

	.overview.bg-white {
		background-image: unset;
	}

	.full-width-image {
		height: 340px;
	}

	.full-width-image.has-copy {
		height: auto;
	}

	.full-width-image .bg {
		height: 300px;
		width: calc(100% - 2em);
		left: 1em;
		margin-bottom: 0;
		position: relative;
	}

	.full-width-image .overlay {
		display: none;
	}

	.bg-light-gray + .full-width-image.bg-light-gray .container {
		max-width: calc(100% - 2em);
	}

	.full-width-image .container {
		height: auto !important;
		padding-left: 0;
		padding-right: 0;
	}

	.full-width-image .container .color-white {
		color: #1A1B1E !important;
	}

	.full-width-image .row {
		padding-bottom: 4em;
	}

	.full-width-image .container .color-yellow {
		color: #005DAB !important;
	}

	.h1.number {
		font-size: 2.7em;
	}

	.stat .label {
		font-size: 1.1em;
	}

	.featured-projects .bg, .image-carousel-content .bg {
		left: -15px;
    width: calc(100% + 30px);
    background: transparent;
	}

	/* HTML Video */

	.video {
		text-align: center;
	}

	.video video {
		display: none;
	}

	/* Cards */


	/* Accordion */

	.accordion .answer {
		width: 100%;
	}

	.accordion li.open h4 .icon {
		top: 1.5em;
	}

	/* Tables */

	table {
		display: block;
		overflow: scroll;
	}

	th, td {
		font-size: 0.7em;
	}

	td {
		line-height: 1.2;
	}
	
	th:last-of-type {
		padding-right: 2em;
	}

	td:last-of-type {
		padding-right: 2em;
	}

	/* Lists */

	ul.two-col li {
		width: 100%;
		padding-right: 0;
	}

	/* Swiper */

	.projects-button-swiper {
		display: none;
	}

	.projects-button-swiper-mobile {
		display: block;
	}
	
	.featured-projects .swiper-navigation,
	.image-carousel-content .swiper-navigation {
		justify-content: space-between;
		margin-top: 0;
		align-items: center;
	}

	.image-text-swiper .swiper-navigation {
		bottom: 1em;
   	 	right: 1em;
	}

	.logos-swiper .swiper-slide {
		padding: 0.5em;
	}

	/* Gravity Forms */
	
	.gform_wrapper textarea, .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper select {
		padding: 0.25em 0;
		padding-top: 0;
	}

	.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, .gform_wrapper select:focus {
		background-color: transparent;
	}

	/* Filter */

	.filter .dropdown .option {
		font-size: 0.9em;
	}

	/* Footer */

	footer {
		padding-left: 1em;
		padding-right: 1em;
		padding-bottom: 1em;
	}

	footer .container-fluid:last-of-type {
	    border-bottom-left-radius: 24px;
	    border-bottom-right-radius: 24px;
	}

	footer a {
		font-size: 1em;
	}

	footer .box {
		padding: 2em;
		font-size: 1em;
	}

	#menu-footer-secondary-navigation {
		justify-content: flex-start;
	}

	#menu-footer-secondary-navigation li:first-child {
		margin-left: 0;
	}

	/* Content Carousel */
	.content-carousel .bordered-box-inner {
		background-size: 100%;
		background-position: 15px bottom;
	}

	.content-carousel .slide-btns {
		margin-top: 20px;
		margin-bottom: 32px;
	}

	.content-carousel .slide-btns p {
		font-size: 0.8em;
	}

	.content-carousel .swiper-slide p {
		font-size: 0.9em;
	}
	
}

@media only screen and (max-width: 500px) {
	/* Content Carousel */
	.content-carousel .bordered-box-inner {
		background-size: cover;
		background-position: 15px bottom;
	}

	.content-carousel .slide-btns {
		margin-top: 20px;
		margin-bottom: 32px;
	}

	.content-carousel .slide-btns p {
		font-size: 0.75em;
	}
}

@media only screen and (max-width: 400px) {
	/* Typography */

	h1, .h1 {
		font-size: 2em;
	}

	.page-template-home h1 {
		font-size: 2.4em;
	}

	#header {
		height: auto;
	}

	#header .large {
		font-size: 1em;
	}

	.content-carousel .swiper-slide p {
		font-size: 1em;
	}

	#header .row {
		padding-top: 3em;
		padding-bottom: 3em;
		min-height: 350px;
	}

  .breadcrumb h1 {
   	width: 250px;
  }
}

@media only screen and (max-width: 360px) {
	#menu-primary-navigation li .sub-menu a {
		padding-left: 0;
		padding-right: 0;
		font-size: 0.9em;
	}
}
