body { overflow-x: hidden; }
a { text-decoration: none !important; }

/* colors */
.text-navy { color: #01263d !important;; }
.text-blue { color: #024e7d !important;; }
.text-cerulean { color: #0183a4 !important; }
.text-green { color: #017d6e !important;; }
.text-purple { color: #670873 !important;; }
.text-magenta { color: #7d014e !important;; }
.text-yellow { color: #daae0f !important;; }
.text-coral { color: #ef4953 !important;; }
.text-gray { color: #b3bec5 !important; }
.text-black { color: #000000 !important; }
.text-uppercase { text-transform: uppercase; }
.text-white { color: #ffffff !important; }

.bg-navy { background-color: #01263d !important; }
.bg-light { background-color: #f3f3f3 !important; }
.bg-sky { background-color: #6BBDD1 !important; }
.bg-lilac { background-color: #C484CC !important; }
.bg-blue { background-color: #024e7d !important; }	
.bg-cerulean { background-color: #0183a4 !important; }
.bg-green { background-color: #017d6e !important; }
.bg-purple { background-color: #670873 !important; }
.bg-plum { background-color: #6C2D74 !important; }	
.bg-magenta { background-color: #7d014e !important; }
.bg-yellow { background-color: #daae0f !important; }
.bg-coral { background-color: #ef4953 !important; }	
.bg-gray { background-color: #b3bec5 !important; }
.bg-gr { background: rgb(1,38,61); background: linear-gradient(120deg, rgba(1,38,61,1) 0%, rgba(1,125,110,1) 100%); }

/* typography */
strong { font-weight: 700; }
.font-t { font-family: 'Barlow', sans-serif; font-weight: 100; }
.font-l { font-family: 'Barlow', sans-serif; font-weight: 300; }
.font-sb { font-family: 'Barlow', sans-serif; font-weight: 600; }
.font-b { font-family: 'Barlow', sans-serif; font-weight: 700; }
.font-eb { font-family: 'Barlow', sans-serif; font-weight: 900; }
.font-eb i { font-family: 'Barlow', sans-serif; font-weight: 900; font-style: italic; }
.font-c-l {font-family: 'Barlow Condensed', sans-serif; font-weight: 300; }
.font-c-m { font-family: 'Barlow Condensed', sans-serif; font-weight: 500; }
.font-c-b { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; }
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { line-height: 1.2; }
.h2 { font-size: 1.3rem; }
.text-13 { font-size: 13px; line-height: 20px; }
.text-14, .text-xs { font-size: 14px; line-height: 20px; }
.text-16, .text-sm { font-size: 16px; line-height: 24px; }
.text-18 { font-size: 18px; line-height: 26px; }
.text-20 { font-size: 20px; line-height: 30px; }
.text-22 { font-size: 22px; line-height: 32px; }
.text-24 { font-size: 24px !important; line-height: 34px; }
.text-36 { font-size: 36px !important; line-height: 40px; }
.text-lg, .text-xl { font-size: 48px !important; line-height: 54px; }
.text-xxxl { font-size: 120px !important; line-height: 130px; }
.lh-1 { line-height: 1.1em !important;}
.ls-1 { letter-spacing: 1px; }
.ls-2 { letter-spacing: 2px; }
.ls-6 { letter-spacing: 6px; }
.icn-xl { font-size: 68px !important; }
.icn-xxl { font-size: 88px !important; }
.icn-xxxl { font-size: 120px !important; }
.underline { border-bottom: 1px solid #ffffff; }
.underline.navy, .border-bottom.navy { border-bottom: 1px solid #01263d !important; }
.border-top.navy { border-top: 1px solid #01263d !important; }
.nowrap { white-space: nowrap; }

.position-relative { position: relative; }
.position-absolute { position: absolute; }
.bbr { border-bottom-right-radius: 120px; }
#header { background-color: #01263d; padding: 12px 24px; border-bottom: 1px solid #ffffff; }
#header .elementor-widget-theme-site-logo a img { height: 40px; width: auto; }
#jumbotron { overflow: hidden; }
.easelink { line-height: 34px !important; display: inline-block; color: #ffffff !important; }
.easelink.text-black { color: #000000 !important; }
.circle { height: 55px; width: 55px; line-height: 55px; border-radius: 40px; }
.cta .border-left { border-left: 1px solid #ffffff; }
.cta .border-left.dark { border-left: 1px solid #000000; }
.easelink .circle { display: inline-block; border-radius: 18px; height: 34px; width: 34px; line-height: 34px; float: right; margin-left: 20px; text-align: center; }
.fa-rotate-by { --fa-rotate-angle: -45deg; }
.eael-dual-header { margin-bottom: 0; }
.eael-dual-header .title span:not(.lead) { font-weight: 300 !important; }
#hero .eael-dual-header .title span:not(.lead) { display: block; font-family: 'Barlow Condensed' !important; }
.resources .eael-dual-header .title span:not(.lead) { display: inline-block; font-family: 'Barlow' !important; }
.solutions .ring { width: 300px; }
.solutions .title .lead { display: block; }
.service .cta, #resources .cta { bottom: 0; }
.service .cta .border-left { border-left: 1px solid #000000; }
.service .cta .border-top { border-top: 1px solid #000000 !important; }
.service .pages a:hover { text-decoration: underline; }
.service:hover .desc { display: none; }
.service:hover p { color: #ffffff !important; }
.service:hover .pages { display: block !important; }
.service:hover h3, .service:hover .cta a { color: #ffffff !important; }
.service:hover .cta .border-left { border-left: 1px solid #ffffff; }
.service:hover .cta .border-top { border-top: 1px solid #ffffff !important; }
.service:hover .cta a .circle { background-color: #ffffff !important; }
.service:hover .cta a .circle i { color: #000000 !important; }
.service:hover .icn-xl { color: #ffffff !important; }
.envelope .service:hover p, .service:hover h3, .service:hover i, .service:hover a { color: #ffffff !important; }
.envelope .service:hover .circle { background-color: #ffffff !important; }
.envelope .service:hover .circle i { color: #000000 !important; }
.industry:hover i { color: #000000 !important; }
.industry:hover .circle { background: #ffffff !important; }
.industry:hover h3, .industry:hover p { color: #ffffff !important; }
.homeMap { overflow-x: hidden; }
.mainPost .elementor-post__meta-data { position: absolute; top: 0; left: 0; }
.mainPost .elementor-post__meta-data .elementor-post-date:before { content: "Posted on " }
.mainPost .elementor-post__text { padding-top: 30px; }
.mainPost .elementor-post__title { margin-bottom: 30px !important; }
.mainPost .elementor-post__text .elementor-post__excerpt p:after { content: "..." }
.mainPost .elementor-post__text .elementor-post__read-more {display: block; border-top: 1px solid #01263d; text-align: right; text-transform: uppercase; font-weight: 700; font-size: 22px; padding-top: 10px; margin-top: 40px; color: #01263d; position: relative;}
.mainPost .elementor-post__text .elementor-post__read-more:after { content: "\f061"; font-family: "Font Awesome 6 pro"; height: 50px; width: 50px; background-color: #ef4953; color: #ffffff; display: inline-block; line-height: 50px; --fa-rotate-angle: -45deg; text-align: center; font-weight: 300; transform: rotate(-45deg); border-radius: 25px; margin-left: 20px; }
.mainPost .elementor-post__text .elementor-post__read-more:before { height: 80px; width: 1px; display: inline-block; content: ""; background: #01263d; position: absolute; }
.locationsFooter { overflow: hidden; }
.locationsFooter .group { mix-blend-mode: multiply; }
.elementor-pagination { margin-top: 30px; }

/* Redesign*/
.dotHead {padding: 0 0 0 36px;}
.dotHead::before { content: ""; height: 22px; width: 22px; background: #EF4A54; display: inline-block; position: absolute; top: 0; left: 0; border-radius: 11px;}

/* ANIMATIONS */
.track { border-left: 1px dashed #000000; border-bottom: 1px dashed #000000; height: 72px; width: 70px; top: -50px; left: -130px; }
.track.headline { left: -80px; }
.track .dot { height: 30px; width: 30px; border-radius: 15px; left: -15px; top: -15px; }
.line { width: 120px; height: 30px; border-bottom: 1px dashed #000000; left: -120px; top: 50%; transform: translateY(-50%); z-index: 99; }
.line .dot { height: 30px; width: 30px; border-radius: 15px; right: 70px; top: 15px; }
.line.spotlight { width: 100px; height: 30px; border-bottom: 1px dashed #000000; left: auto; right: -3rem; top: 30%; transform: translateY(-50%);}
.line.spotlight .dot { right: 80px; }
.tinydot { left: -6px; top: 27px; height: 5px; width: 5px; border-radius: 3px; }
.anim.active .dot.servTravel {  transition: 2s all ease; transform: translateX(85px); }
.anim.active .spotlight .dot.servTravel {  transform: translateX(95px); }
.dot.anim.travel.active { -webkit-animation: track 1.5s linear; animation: track 1.5s linear; animation-fill-mode: forwards; }
.td-1 { transition-delay: 250ms !important; }
.td-2 { transition-delay: 500ms !important; }

@-webkit-keyframes track { 
	0% { left: -15px; top: -15px; } 
	50% { left: -15px; top: 57px; } 
	100% { left: 55px; top: 57px; } 
}

@media screen and (max-width: 767px) {
	.text-shrink p, .text-shrink ul li , .text-shrink ol li { font-size: 16px !important; line-height: 24px !important; }
	.text-shrink h2 { font-size: 1.2em; }
	.text-shrink h3 { font-size: 20px; line-height: 28px; }
}

@media screen and (min-width: 768px) {
	.position-md-absolute { position: absolute; }
	.anim.appear { opacity: 0 }
	.anim.slideUp { transform: translateY(150px); transition: 2s all ease; }
	.anim.slideRight { transform: translateX( -100%) }
	.anim.slideLeft { transform: translateX( 100%) }
	.anim.appear.active { opacity: 1 }
	.anim.slideUp.active { transform: translateY(0); }
	.anim.slideRight.active { transform: translateX(0) }
	.anim.slideLeft.active { transform: translateX(0) }
	.locationsFooter { padding-bottom: 150px; }
	.locationsFooter .group { top: 0; right: 70px; width: 75%; }
	.sticky { position: fixed; top: 35%; right: 0; border-top-left-radius: 12px; border-bottom-left-radius: 12px; overflow: hidden; z-index: 99; }
	.sticky a { border-bottom: 1px solid #ffffff; }
	.sticky a:last-child { border-bottom: none; }
}
	
@media screen and (min-width: 992px) {
	#header { background: linear-gradient(180deg, rgba(1, 38, 61, 0.7) 0%, rgba(1, 38, 61, 0) 100%) !important; position: absolute; left: 0; right: 0; top: 0; z-index: 999; border-bottom: 1px solid #ffffff; padding: 0 24px; }
	#header #mega nav ul li a { font-size: 12px; color: #000000; font-weight: 400; line-height: 24px; padding: 0; }
	#header #mega nav ul li a:hover { background-color: #efefef; border: none; }
	#header #mega nav ul li.nav-title a { font-size: 20px; color: inherit; font-weight: 700; padding-bottom: 10px; }
	#header .elementor-widget-n-menu .e-n-menu-title { padding: 0; }
	#header .elementor-widget-n-menu .e-n-menu-title-container .e-n-menu-title-text { text-transform: uppercase; font-size: 14px; padding: 25px 10px; color: #ffffff; }
	#header .elementor-widget-n-menu .e-n-menu-title-container .e-n-menu-title-text:hover { border-bottom: 6px solid #0183a4; padding-bottom: 19px; color: #ffffff; }
	#header .e--pointer-underline .elementor-item:after { display: none; }
	#header .navPhone { font-size: 18px; }
	#header nav .e-n-menu-dropdown-icon { display: none !important; }
	#header .e-n-menu-item { position: relative; }
	#header .e-n-menu-item:not(:first-child) .e-n-menu-content { position: absolute; left: 0; width: 250px; }
	#header .e-n-menu-item:not(:first-child) .e-n-menu-content .e-con { padding: 0; }
	#header .e-n-menu-item:not(:first-child) .e-n-menu-content .e-con a { padding: 4px 16px; }
	#header .e-n-menu-item:not(:first-child) .e-n-menu-content .e-con a:hover { background-color: #e9ecef; }
	.solutions .ring { top: -84px; right: 150px; width: 400px; }
	.position-lg-absolute { position: absolute; }
	.h2 { font-size: 2rem; }
	.easelink { line-height: 64px !important; display: inline-block; color: #ffffff !important; }
	.easelink .circle { display: inline-block; border-radius: 32px; height: 64px; width: 64px; line-height: 64px; float: right; margin-left: 20px; text-align: center; }
	.split { -moz-column-count: 2; -webkit-column-count: 2; column-count: 2; }
	.split.three { -moz-column-count: 3; -webkit-column-count: 3; column-count: 3; }
	.locationsFooter { padding-bottom: 225px; }
	.text-xl { font-size: 60px !important; line-height: 72px;  }
}
	
@media screen and (min-width: 1200px) {
	.locationsFooter .group { top: 70px; }
}
	
@media screen and (min-width: 1400px) {
	.resources .eael-dual-header .title span:not(.lead) { display: block; }
	#header .elementor-widget-theme-site-logo a img { height: 56px; width: auto; }
	.locationsFooter .group { top: -30px; }
}

@media screen and (min-width: 1480px) {
	#header .navPhone { font-size: 22px; }
	.solutions .ring { top: -110px; right: 150px; width: 500px; }
	
}

@media screen and (min-width: 1680px) {
	#header .elementor-widget-n-menu .e-n-menu-title-container .e-n-menu-title-text { text-transform: uppercase; font-size: 18px; padding: 30px 20px; }
	#header .elementor-widget-n-menu .e-n-menu-title-container .e-n-menu-title-text:hover { border-bottom: 6px solid #0183a4; padding-bottom: 19px; color: #ffffff; }
	.locationsFooter .group { top: -30px; }
	.locationsFooter { padding-bottom: 300px; }
}

@media screen and (min-width: 1780px) {
	#header .elementor-widget-n-menu .e-n-menu-title-container .e-n-menu-title-text { font-size: 20px; }
}
