/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 17 2026 | 13:25:39 */
.section-padding {
	padding: 6vw 15px;
	padding: 60px 15px;
}

.iconic-infrastructure::after {
	content: "";
	position: absolute;
	left: 0;
	top: auto;
	bottom: 0;
	background-image: linear-gradient(to top, #fff 40px, transparent 60%);
	right: 0;
	display: block;
	height: 100%;
}

.elementor-button {
	background-color: var(--e-global-color-primary) !important;
}

.elementor-button:hover {
	background-color: var(--e-global-color-secondary) !important;
}

summary.e-n-accordion-item-title+div {
	margin-top: -5px;
	padding-top: 15px;
}

.video-cover,
.video-cover * {
	height: 100% !important;
}

.button-only-icon .elementor-button-icon {
	transform: rotate(-45deg)
}

.button-arrow .premium-button-text-icon-wrapper {
	justify-content: space-between;
}

.n2-ss-layers-container {
	max-width: 90% !important;
}

.hero-heading::before {
	content: "";
    position: absolute;
    left: -15px;
    top: 22px;
    width: 50px;
    height: 2px;
    border-bottom: 1px solid #a10d0d;
/*     display: block !important; */
    transform: translateX(-100%);
	display: none;
}

.hh-white::before {
	border-color: #fff;
	top: 13px;
}

.hero-heading.line-white::before {
	border-color: white;
}

.hfe-site-logo-container img {
	max-height: 80px;
}

img.deensimc-marquee-image {
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	max-height: 100%;
}

.deensimc-img {
	text-align: center !important;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	min-width: 160px !important;
}

footer .btn-light .elementor-button {
	background-color: #E38A8A !important;
}

footer .btn-light .elementor-button:hover {
	background-color: var(--e-global-color-secondary) !important;
}

.elementor-social-icon {
	opacity: 1 !important;
}

.btn-block .elementor-button {
	width: 100% !important;
}

[id^="random-video-"] {
	display: none;
}

.reveal-text p span {
	opacity: 0.2;
}

.reveal-text p {
	word-break: break-word;
}

.reveal-text p+p {
	margin-top: 15px !important;
}

.image-reveal-wrapper {
	position: relative;
	overflow: hidden;
}

.image-reveal-wrapper .reveal-image {
	display: block;
	width: 100%;
	transform: scale(1.1);
}

.image-reveal-wrapper .image-mask {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ffffff;
	z-index: 2;
	transition: none !important;
}

.nextend-arrow-previous,
.nextend-arrow-next {
	position: absolute !important;
	margin-bottom: 40px !important;
}

.n2-ss-widget.nextend-thumbnail {
	margin-bottom: 100px;
}

.n2-bullet.n2-active {
	display: block;
	width: 378px;
}

.n2-bullet {
	display: none;
	padding: 1px !important;
}

.n2-ss-control-bullet {
	position: absolute !important;
	left: auto;
	right: 155px;
	bottom: 11px;
}

.n2-ss-loaded .n2-bullet::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 4px;
	width: calc(100% - 8px);
	height: 2px;
	background: red;
	display: block !important;
	transform: scaleX(0);
	transform-origin: left;
}

.n2-ss-loaded .n2-bullet.n2-active::before {
	animation: bulletProgress 8.84s linear forwards;
}

section {
	transition: none !important;
}

.pt-0 {
	padding-top: 0 !important;
}

.hfe-site-logo-container {
    display: flex;
}

[id^="random-video-"] video {
    min-height: 80vh;
}

[id^="random-video-"] .e-hosted-video {
	aspect-ratio: 2.66;
}

.e-n-accordion-item-title {
    align-items: flex-start!important;
}

.e-n-accordion-item-title-icon {
    margin-top: 4px;
}

header .btn-contact-small .elementor-button {
	padding-left: 10px;
	padding-right: 10px;
}

.project-red > div,
.project-white > div {
/* 	width: auto; */
    width: 50%;
	max-width: 50%;
}

.services-wrap img {
    aspect-ratio: 1.2;
}

.project-red .image-mask {
	background-color: #A10D0D;
}

.project-white .image-mask {
	background-color: #ececec;
}

.btn-projects .elementor-button {
    background-color: transparent!important;
    border: 0!important;
}

.btn-projects .elementor-button svg {
    height: 30px;
    width: 30px;
}

.btn-projects .elementor-button-content-wrapper {
	align-items: center;
}

.project-red .reveal-image, .project-white .reveal-image {
    height: 100%;
}

.contact-help a {
    color: #20356C;
    margin-right: 15px;
}

.contact-help a:hover {
    color: #A10D0D;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.form-row > p {
    width: calc(50% - 10px);
}

.form-get-in-touch label {
    width: 100%;
}

.form-get-in-touch form > * {
    margin-top: 15px;
}

textarea {
    resize: none;
    height: 150px;
}

.offices ul li {
	border: 1px solid #7e7e7e;
	border-radius: 5px;
	padding: 12px 20px!important;
	cursor: pointer;
}

.offices ul li:hover {
    background-color: #A10D0D;
}

.office-details > div {
    position: absolute;
    left: 0;
    top: -130px;
    width: 100%;
    height: calc(100% + 260px);
}

.link-main .elementor-button-link {
	background-color: transparent!important;
}

.why-jb-anchors > div:not(:last-child)::after {
    content: "";
    position: absolute;
    left: auto;
    right: -30px;
    width: 1px;
    height: 100%;
    border-right: 1px solid #686868;
}

.link-main::after {
    content: "";
    position: absolute;
    left: auto;
    right: -10px;
    width: 30px;
    height: 1px;
    border-bottom: 1px solid #a10d0d;
    top: 11px;
    transform: translateX(100%);
}

.link-main.lm-pink::after {
    border-color: #e09b9b;
}

.fancybox-content {
	min-height: 80svh;
}

.fancybox-button svg {
    width: 22px;
    height: 22px;
    color: white;
}

button.fancybox-close-small {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    transform: translate(10px, 50%);
}

.elementor-widget-eac-addon-modal-box,
.eac-modal-box,
.eac-modal-box > div {
    height: 100%;
}

.eac-modal-box a.eac-accessible-link,
.eac-modal-box a.eac-accessible-link button {
    height: 100%;
    width: 100%;
}

.anchor-types > div {
    aspect-ratio: 1.3;
}

.services-wrap p {
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.h-100 {
	height: 100%;
}

.height-34vw {
	height: 34vw;
}

.height-17vw {
	height: calc(17vw - 10px);
}

header .hfe-has-submenu .hfe-menu-item {
    cursor: pointer;
}

@keyframes bulletProgress {
	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}