/**
Theme Name: HW Houston – Astra Child Theme
Author: Design Rangers
Author URI: http://designrangers.com
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ge-johnson-astra-child-theme
Template: astra
*/

/*********************

INLINE INSTRUCTIONS

Dark Blue – #17468f
Light blue – #3f90c1
Dark gray – #2a2e31
Gray – #888c86
Light gray – #d0d0ce
X-light gray – #f8f8f8
Dark brown/gray – #5e4f47
Brown – #ad9867
Light brown – #EFEAE1

*********************/

/****
.ui-sortable .elementor-widget-image-carousel::before {
	content: "Image instructions: Images should be cool";
	display: block;
	background: #ffcb00;
	font-family: "Avenir Next Regular", Sans-serif;
	font-size: 15px;
	padding: 8px;
	margin-bottom: 8px;
}
****/

/*********************

TYPOGRAPHY 

Core heading sizes are controlled through the Customizer in WordPress
Based on 4:5 modular scale: http://www.modularscale.com/?17&px&1.25

*********************/

.elementor-widget-heading .elementor-heading-title {
  line-height: 1.125;
}
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title {
  line-height: 1.4;
}
body,
h1,
.entry-title a,
.entry-content h1,
.entry-content h1 a,
h2,
.entry-content h2,
.entry-content h2 a,
h3,
.entry-content h3,
.entry-content h3 a,
h4,
.entry-content h4,
.entry-content h4 a,
h5,
.entry-content h5,
.entry-content h5 a,
h6,
.entry-content h6,
.entry-content h6 a {
  color: #5e4f47;
}
h1,
.elementor-widget-heading h1.elementor-heading-title,
h2,
.elementor-widget-heading h2.elementor-heading-title,
h3,
.elementor-widget-heading h3.elementor-heading-title {
  font-weight: 600;
}
h4,
.elementor-widget-heading h4.elementor-heading-title,
h5,
.elementor-widget-heading h5.elementor-heading-title,
h6,
.elementor-widget-heading h6.elementor-heading-title {
  font-family: "Avenir Next Bold", Sans-serif;
  font-weight: normal;
}
h5,
.elementor-widget-heading h5.elementor-heading-title {
  text-transform: uppercase;
}
.elementor-element.elementor-widget-heading {
  margin-bottom: 0;
}
h1,
.elementor-element.elementor-widget-heading h1 {
  margin-bottom: 16px;
}
.elementor-widget-heading h1.elementor-heading-title.elementor-size-small {
  font-size: 42px;
  font-size: 2.470588235294118rem;
}
.elementor-widget-heading h1.elementor-heading-title.elementor-size-medium {
  font-size: 52px;
  font-size: 3.058823529411765rem;
}
.elementor-widget-heading h1.elementor-heading-title.elementor-size-large {
  font-size: 72px;
  font-size: 4.235294117647059rem;
}
.elementor-widget-heading h1.elementor-heading-title.elementor-size-xl {
  font-size: 81px;
  font-size: 4.764705882352941rem;
}
.elementor-widget-heading h1.elementor-heading-title.elementor-size-xxl {
  font-size: 101px;
  font-size: 5.941176470588235rem;
}
h2,
.elementor-element.elementor-widget-heading h2 {
  margin-bottom: 16px;
}
h3,
.elementor-element.elementor-widget-heading h3 {
  margin-bottom: 8px;
}
h4,
.elementor-element.elementor-widget-heading h4 {
  margin-bottom: 8px;
}
h5,
.elementor-element.elementor-widget-heading h5 {
  margin-bottom: 8px;
}
h6,
.elementor-element.elementor-widget-heading h6 {
  margin-bottom: 8px;
}
.extra-space-bottom.elementor-element.elementor-widget-heading h1,
.extra-space-bottom.elementor-element.elementor-widget-heading h2 {
  margin-bottom: 36px;
}
.extra-space-bottom.elementor-element.elementor-widget-heading h3,
.extra-space-bottom.elementor-element.elementor-widget-heading h4,
.extra-space-bottom.elementor-element.elementor-widget-heading h5,
.extra-space-bottom.elementor-element.elementor-widget-heading h6 {
  margin-bottom: 24px;
}
.entry-content .heading-space-tight h1,
.entry-content .heading-space-tight h2,
.entry-content .heading-space-tight h3,
.entry-content .heading-space-tight h4,
.entry-content .heading-space-tight h5,
.entry-content .heading-space-tight h6 {
  margin-bottom: 8px;
}

/********************************** 

LINKS

**********************************/

a,
.elementor a {
  color: #3f90c1;
}
a:hover,
.elementor a:hover {
  color: #17468f;
}

/********************************** 

GLOBAL CLASSES

**********************************/

/********************* COLORS *********************/
.text-white,
.text-white p,
.text-white.elementor-widget-heading.elementor-widget-heading
  .elementor-heading-title {
  color: #fff;
}
.text-blue,
.text-blue p,
.text-blue.elementor-widget-heading.elementor-widget-heading
  .elementor-heading-title {
  color: #0054a6;
}
.gray-x-light {
  background: #ebebeb;
}
.bkd-blue-x-light {
  background: #eaf7ff;
}

/********************* BORDERS *********************/

.border-gray {
  border: 1px solid #d0d0ce;
}
.border-gray-left {
  border-left: 1px solid #d0d0ce;
}
.border-gray-right {
  border-right: 1px solid #d0d0ce;
}
.border-gray-top {
  border-top: 1px solid #d0d0ce;
}
.border-gray-bottom {
  border-bottom: 1px solid #d0d0ce;
}
.border-blue-bottom-thick {
  border-bottom: 4px solid #00b5e2;
}

.border-brown {
  border: 1px solid #d6cbb3;
}
.border-brown-left {
  border-left: 1px solid #d6cbb3;
}
.border-brown-right {
  border-right: 1px solid #d6cbb3;
}
.border-brown-top {
  border-top: 1px solid #d6cbb3;
}
.border-brown-bottom {
  border-bottom: 1px solid #d6cbb3;
}

.border-white {
  border: 1px solid #fff;
}
.border-white-left {
  border-left: 1px solid #fff;
}
.border-white-right {
  border-right: 1px solid #fff;
}
.border-white-top {
  border-top: 1px solid #fff;
}
.border-white-bottom {
  border-bottom: 1px solid #fff;
}
.border-white-grid {
  border: 8px solid #fff;
}
.border-white-grid-left {
  border-left: 8px solid #fff;
}
.border-white-grid-right {
  border-right: 8px solid #fff;
}
.border-white-grid-top {
  border-top: 8px solid #fff;
}
.border-white-grid-bottom {
  border-bottom: 8px solid #fff;
}

/********************* PATTERNS *********************/

.pattern-hex-left.elementor-section > .elementor-background-overlay,
.pattern-hex-left.elementor-column > .elementor-background-overlay {
  background-image: url(images/hex_pattern.png);
  background-repeat: repeat-y;
  opacity: 0.4;
  width: 16px;
}
.pattern-hex-left-nested::before {
  content: "";
  background-image: url(images/hex_pattern.png);
  background-repeat: repeat-y;
  opacity: 0.4;
  width: 16px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

/********************* DEFAULT SECTION PADDING *********************/

.elementor-top-section.elementor-section-boxed,
.column-section-spacing {
  padding: 96px 22px;
}
.extra-space-top.elementor-top-section.elementor-section-boxed {
  padding: 168px 22px 96px 22px;
}
.section-pts.elementor-top-section.elementor-section-boxed {
  padding-top: 24px;
}
.section-pbs.elementor-top-section.elementor-section-boxed {
  padding-bottom: 24px;
}
.section-pbxs.elementor-top-section.elementor-section-boxed {
  padding-bottom: 8px;
}
.section-pbn.elementor-top-section.elementor-section-boxed {
  padding-bottom: 0;
}
.section-ptxs.elementor-top-section.elementor-section-boxed {
  padding-top: 8px;
}
.section-ptn.elementor-top-section.elementor-section-boxed {
  padding-top: 0;
}

/* 1. Don't set padding if an Elementor library item is embdedded within another section, via shortcode
2. Don't set padding if an Elementor library item is embdedded within a standard non-full width page
.elementor-top-section .elementor-top-section.elementor-section-boxed,
.inside-article .elementor-top-section.elementor-section-boxed {
	padding: 0;
}
*/
.elementor-section.section-border-top {
  border-style: solid;
  border-width: 1px 0px 0px 0px;
  border-color: #d0d0ce;
}
.elementor-section.section-border-bottom {
  border-style: solid;
  border-width: 0px 0px 1px 0px;
  border-color: #d0d0ce;
}
.elementor-top-section.elementor-section-boxed.hero-padding-default {
  padding: 240px 32px 120px 32px;
}
.hero-padding-default > .elementor-container {
  min-height: 40vh;
}

/********************* COLUMN PADDING AND MARGINS *********************/

.column-padding-tight.elementor-column
  > .elementor-element-populated.elementor-column-wrap {
  padding: 4px;
}
.elementor-container
  > .elementor-column.column-wide-text
  > .elementor-element-populated {
  padding: 64px 10%;
}
.elementor-container
  > .elementor-column.column-pan
  > .elementor-element-populated {
  padding: 0;
}
.column-grid-gap-left {
  margin-left: 8px;
}
.column-grid-gap-right {
  margin-right: 8px;
}

/********************* COLUMN GAPS
.elementor-78 .elementor-element.elementor-element-af90580 > .elementor-element-populated {}
.elementor-column-gap-default .elementor-element>.elementor-element-populated {
	padding: 16px;
}
.elementor-column-gap-narrow>.elementor-container>.elementor-column>.elementor-element-populated {
	padding: 8px;
}
.elementor-column-gap-wide>.elementor-container>.elementor-column>.elementor-element-populated {
	padding: 0 10%;
}
.elementor-column-gap-wider>.elementor-container>.elementor-column>.elementor-element-populated {
	padding: 15%;
}
*********************/
/********************* HELPER CLASSES *********************/

.body-small,
.body-small p {
  font-size: 15px;
}
.elementor-section.section-text-narrow .elementor-widget-text-editor,
.elementor-section.section-text-narrow .elementor-widget-heading {
  max-width: 700px;
}
.elementor-section.section-text-narrow-centered .elementor-widget-text-editor,
.elementor-section.section-text-narrow-centered .elementor-widget-heading {
  max-width: 700px;
  margin: 0 auto;
}
.elementor-column.column-text-narrow .elementor-widget-text-editor,
.elementor-column.column-text-narrow .elementor-widget-heading {
  max-width: 700px;
}
.text-narrow {
  max-width: 700px;
}
.text-narrow-centered {
  max-width: 700px;
  margin: 0 auto;
}
.text-intro p {
  margin-bottom: 0;
}
.text-white,
.text-white.elementor-widget-heading.elementor-widget-heading
  .elementor-heading-title {
  color: #fff;
}
.text-two-columns {
  -webkit-column-count: 2; /* Chrome, Safari, Opera */
  -moz-column-count: 2; /* Firefox */
  column-count: 2;
  -webkit-column-gap: 80px; /* Chrome, Safari, Opera */
  -moz-column-gap: 80px; /* Firefox */
  column-gap: 80px;
  -webkit-column-rule: 1px solid #d0d0ce; /* Chrome, Safari, Opera */
  -moz-column-rule: 1px solid #d0d0ce; /* Firefox */
  column-rule: 1px solid #d0d0ce;
}
.h4-small h4 {
  font-size: 1.117rem;
}
.font-medium,
.elementor-widget-text-editor .font-medium {
  font-family: "Avenir Next Medium", Sans-serif;
}
.hanging-punctuation {
  text-indent: -0.9em;
}
.global-box-shadow,
.column-box-shadow .elementor-widget-wrap {
  box-shadow: 0px 2px 20px 0px rgba(94, 79, 71, 0.25);
}
.global-text-shadow {
  text-shadow: 0px 2px 10px rgba(94, 79, 71, 0.4);
}
.font-serif {
  font-family: "minion-pro", Sans-serif;
}
.font-sans,
.font-sans.elementor-widget-heading .elementor-heading-title {
  font-family: "Avenir Next Regular", Sans-serif;
}
.font-sans-bold,
.font-sans-bold.elementor-widget-heading .elementor-heading-title {
  font-family: "Avenir Next Bold", Sans-serif;
}
.link-special {
}
.leftcol-space-wide {
  padding: 0 96px 0 0;
}
.rightcol-space-wide {
  padding: 0 0 0 96px;
}
.box-number-left {
  background: #00b5e2;
  text-align: center;
  display: block;
  position: absolute;
  width: 48px;
  height: 48px;
  left: -24px;
}
.elementor-widget-heading.elementor-widget-heading.box-number-left
  .elementor-heading-title {
  color: #fff;
  font-family: "Avenir Next Bold", Sans-serif;
  font-size: 22px;
  line-height: 48px;
}

/********************************** 

CARDS

**********************************/

.elementor-column.column-card
  > .elementor-element-populated
  > .elementor-widget-wrap {
  background: #fff;
  padding: 0;
}
.elementor-container
  > .elementor-column.column-card
  > .elementor-element-populated.elementor-widget-wrap {
  padding: 64px;
}
.elementor-container
  > .elementor-column.column-card.card-space-sm
  > .elementor-element-populated.elementor-widget-wrap {
  padding: 48px;
}
.elementor-column.column-card.card-white .elementor-widget-wrap {
  background: #fff;
}
.card-shadow {
}
.card-flat {
}
.column-card ul {
  margin-left: 0;
}
.column-card ul li {
  margin-bottom: 16px;
}
.elementor-widget-wrap > .elementor-element.column-card-image-full {
  border-bottom: 8px solid #fff;
  margin: -48px -48px 0 -48px;
  width: calc(100% + 96px);
}
.elementor-column.column-card-grid
  > .elementor-element-populated.elementor-column-wrap {
  padding: 4px;
}
.elementor-column.column-card.card-gray .elementor-widget-wrap {
  background: rgba(173, 152, 103, 0.2);
}
.elementor-column.column-card.card-blue .elementor-widget-wrap {
  background: #0054a6;
}
.elementor-column.column-card.card-brown-dark .elementor-widget-wrap {
  background: #5e4f47;
}
.elementor-column.column-card.card-brown .elementor-widget-wrap {
  background: #ad9867;
}
.elementor-column.column-card.card-brown-x-light .elementor-widget-wrap {
  background: #efeae1;
}
.elementor-column.column-card.card-blue-x-light .elementor-widget-wrap {
  background: #eaf7ff;
}
.elementor-column.column-card-grid h3.elementor-heading-title {
  margin-top: 32px;
}

/********************************** 

CALLOUT BARS

**********************************/

.section-callout-bar.elementor-top-section.elementor-section-boxed {
  padding: 32px 22px;
}
.section-callout-bar .elementor-element.elementor-widget-heading h4 {
  margin-bottom: 0;
}

/********************************** 

ELEMENTOR ELEMENTS

**********************************/

/********************* TEAM MEMBERS *********************/

.lae-grid-container {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.lae-team-members-style1 .lae-team-member-wrapper {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.lae-team-members-style1 .lae-team-member-wrapper {
  padding: 8px;
}
.lae-team-members-style1 .lae-team-member {
  box-shadow: 0px 2px 20px 0px rgba(94, 79, 71, 0.25);
  max-width: 100%;
}
.lae-team-members-style1 .lae-team-member .lae-image-wrapper img {
  margin: 0 auto;
  border-radius: 0;
}
.lae-team-members-style1 .lae-team-member .lae-team-member-text {
  background: #fff;
  text-align: left;
  padding: 40px;
}
.lae-team-members .lae-team-member .lae-team-member-text .lae-title {
  font-family: "minion-pro", Sans-serif;
  line-height: 1.125;
  font-size: 33px;
  font-size: 1.9411764705882rem;
  letter-spacing: 0;
  font-weight: 600;
  color: #5e4f47;
  text-transform: none;
  margin-top: 0;
  margin-bottom: 8px;
}
.lae-team-members
  .lae-team-member
  .lae-team-member-text
  .lae-team-member-position {
  font-size: 17px;
  font-size: 1rem;
  line-height: 1.4;
  font-family: "Avenir Next Bold", Sans-serif;
  font-weight: normal;
  font-style: normal;
  color: #5e4f47;
  margin-bottom: 10px;
}
.lae-team-members .lae-team-member .lae-team-member-details {
  font-family: "Avenir Next Regular", Sans-serif;
  font-size: 15px;
  font-size: 0.882rem;
  line-height: 1.5;
}
.lae-team-members .lae-team-member .lae-team-member-details a {
  font-family: "Avenir Next Bold", Sans-serif;
  display: block;
  margin-top: 16px;
}

/********************* COUNTERS *********************/

.elementor-counter-number,
.elementor-counter-number-prefix,
.elementor-counter-number-suffix {
  font-family: "Avenir Next Bold", Sans-serif;
  font-size: 33px;
  margin-bottom: 8px;
}
.elementor-counter .elementor-counter-title {
  color: #5e4f47;
  font-size: 17px;
  line-height: 1.25;
}
.counter-title-sm .elementor-counter .elementor-counter-title {
  font-size: 15px;
}

/********************* BUTTONS *********************/

a.elementor-button {
  color: #fff;
  text-transform: uppercase;
}
.elementor-button.elementor-size-xs,
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg,
.elementor-button.elementor-size-xl {
  border-radius: 0;
}
.elementor-widget-button a.elementor-button:hover,
.elementor-widget-button .elementor-button:hover {
  background-color: #17468f;
  color: #fff;
  opacity: 1;
  transform: scale(1.1);
}
.button-static.elementor-widget-button a.elementor-button:hover,
.elementor-widget-button .elementor-button:hover {
  transform: none;
}
.elementor-button.elementor-size-md {
  font-size: 17px;
  padding: 16px 24px;
}
.elementor-button.elementor-size-lg {
  font-size: 21.25px;
  padding: 24px 40px;
}
.link-underline.elementor-widget-button a.elementor-button,
.cta-card .elementor-cta__button.elementor-button {
  background-color: transparent;
  border: none;
  border-color: transparent;
  color: #3f90c1;
  padding: 8px 8px;
  text-transform: none;
  opacity: 1;
  outline-color: transparent;
}
.link-underline.elementor-widget-button a.elementor-button:hover,
.cta-card .elementor-cta__button.elementor-button:hover {
  background-color: transparent;
  transform: none;
}
.link-underline.elementor-widget-button a.elementor-button::after,
.cta-card .elementor-cta__button.elementor-button::after {
  content: "";
  display: block;
  width: 64%;
  height: 1px;
  background: #9fc7e0;
  margin: 8px auto;
  transition: all 0.5s;
}
.link-underline.elementor-widget-button a.elementor-button:hover,
.cta-card .elementor-cta__button.elementor-button:hover {
  color: #17468f;
}
.link-underline.elementor-widget-button a.elementor-button:hover::after,
.cta-card .elementor-cta__button.elementor-button:hover::after {
  width: 100%;
  background: #3f90c1;
  transition: all 0.5s;
}
.link-underline.link-underline-left.elementor-widget-button a.elementor-button,
.cta-card .elementor-cta__button.elementor-button {
  padding: 0;
  text-align: left;
}
.link-underline.link-underline-left.elementor-widget-button
  a.elementor-button::after,
.cta-card .elementor-cta__button.elementor-button::after {
  margin: 8px 0 8px 0;
}

/********************* ACCORDIONS AND TOGGLE ELEMENTS *********************/

.elementor-widget-accordion .elementor-accordion .elementor-tab-title,
.elementor-widget-toggle .elementor-toggle .elementor-tab-title {
  color: #5e4f47;
  font-family: "Avenir Next Regular", Sans-serif !important;
  font-weight: normal;
  line-height: 1.25;
}
.elementor-toggle-icon .fa {
  line-height: 1.25;
}

/********************* ELEMENTOR CALL-TO-ACTION BOX *********************/

body .elementor-widget-call-to-action .elementor-cta__title {
  font-family: "Avenir Next Bold", Sans-serif;
  font-size: 21px;
  font-size: 1.23529411765rem;
  margin-top: 0;
}
/********************************** 

PROJECT PAGES

**********************************/
.elementor-container
  > .elementor-column.gej-info-box
  > .elementor-element-populated.elementor-widget-wrap {
  padding: 16px 22px;
}
.gej-info-label,
.gej-info-label.elementor-widget-heading .elementor-heading-title {
  font-family: "Avenir Next Regular", Sans-serif;
  font-size: 15px;
}
.gej-info-label.elementor-widget:not(:last-child) {
  margin-bottom: 8px;
}
.button-projects a.elementor-button.elementor-size-sm {
  font-size: 21.25px;
  line-height: 1.25;
  text-transform: none;
  padding: 64px 24px;
}
.project-details .elementor-element.elementor-widget-heading h5 {
  margin-bottom: 16px;
}
/********************************** 
// MEDIA QUERIES
 
// Astra/Elementor Responsive Breakpoints

ASTRA BREAKPOINTS:
Mobile:         544px  !default;
Tablet:         768px  !default;

ELEMENTOR BREAKPOINTS:
Desktop small: 1024px !default;
Tablet: 767px !default;
Mobile: 479px !default;
 
**********************************/

@media (max-width: 2140px) {
  .gej-map-bkd .elementor-background-overlay {
    background-position: right -300px center !important;
  }
}

@media (max-width: 1940px) {
  .gej-map-bkd .elementor-background-overlay {
    background-position: right -445px center !important;
  }
}
@media (max-width: 1470px) {
  .gej-map-bkd .elementor-background-overlay {
    background-position: right -525px center !important;
  }
}

@media (max-width: 1024px) {
  /** TYPOGRAPHY **/
  .elementor-widget-heading h1.elementor-heading-title.elementor-size-small {
    font-size: 33px;
    font-size: 1.941176470588235rem;
  }
  .elementor-widget-heading h1.elementor-heading-title.elementor-size-medium {
    font-size: 42px;
    font-size: 2.470588235294118rem;
  }
  .elementor-widget-heading h1.elementor-heading-title.elementor-size-large {
    font-size: 64px;
    font-size: 3.764705882352941rem;
  }
  .elementor-widget-heading h1.elementor-heading-title.elementor-size-xl {
    font-size: 72px;
    font-size: 4.235294117647059rem;
  }
  .elementor-widget-heading h1.elementor-heading-title.elementor-size-xxl {
    font-size: 81px;
    font-size: 4.764705882352941rem;
  }

  /** DEFAULT SECTION PADDING **/
  .elementor-top-section.elementor-section-boxed,
  .column-section-spacing {
    padding: 48px 36px;
  }

  /********************* COLUMN GAPS *********************/

  .elementor-column-gap-wide
    > .elementor-container
    > .elementor-column
    > .elementor-element-populated {
    padding: 0 24px;
  }
  .elementor-column-gap-wider
    > .elementor-container
    > .elementor-column
    > .elementor-element-populated {
    padding: 0 32px;
  }

  /** HELPER CLASSES **/
  .elementor-container
    > .elementor-column.column-wide-text
    > .elementor-element-populated {
    padding: 64px;
  }
  .leftcol-space-wide {
    padding: 0 64px 0 0;
  }
  .rightcol-space-wide {
    padding: 0 0 0 64px;
  }
  .text-two-columns {
    -webkit-column-gap: 48px; /* Chrome, Safari, Opera */
    -moz-column-gap: 48px; /* Firefox */
    column-gap: 48px;
  }
  /** BORDERS **/
  .gej-stat-box .border-white-left {
    border-left: none;
    border-bottom: 1px solid #fff;
  }
  .gej-stat-box .border-white-right {
    border-right: none;
    border-bottom: 1px solid #fff;
  }
}

@media (max-width: 767px) {
  /** TYPOGRAPHY **/
  .elementor-widget-heading h1.elementor-heading-title.elementor-size-small {
    font-size: 26px;
    font-size: 1.529411764705882rem;
  }
  .elementor-widget-heading h1.elementor-heading-title.elementor-size-medium {
    font-size: 33px;
    font-size: 1.941176470588235rem;
  }
  .elementor-widget-heading h1.elementor-heading-title.elementor-size-large {
    font-size: 48px;
    font-size: 2.823529411764706rem;
  }
  .elementor-widget-heading h1.elementor-heading-title.elementor-size-xl {
    font-size: 52px;
    font-size: 3.058823529411765rem;
  }
  .elementor-widget-heading h1.elementor-heading-title.elementor-size-xxl {
    font-size: 64px;
    font-size: 3.764705882352941rem;
  }

  /********************* COLUMN GAPS *********************/

  .elementor-column-gap-wide
    > .elementor-container
    > .elementor-column
    > .elementor-element-populated {
    padding: 16px;
  }
  .elementor-column-gap-wider
    > .elementor-container
    > .elementor-column
    > .elementor-element-populated {
    padding: 24px;
  }

  /********************* COLUMN PADDING AND MARGINS *********************/

  .column-grid-gap-left {
    margin-left: 0;
  }
  .column-grid-gap-right {
    margin-right: 0;
  }

  /** HELPER CLASSES **/
  .elementor-container
    > .elementor-column.column-wide-text
    > .elementor-element-populated {
    padding: 64px 32px;
  }
  .text-two-columns {
    -webkit-column-count: 1; /* Chrome, Safari, Opera */
    -moz-column-count: 1; /* Firefox */
    column-count: 1;
    -webkit-column-gap: 0; /* Chrome, Safari, Opera */
    -moz-column-gap: 0; /* Firefox */
    column-gap: 0;
    -webkit-column-rule: none; /* Chrome, Safari, Opera */
    -moz-column-rule: none; /* Firefox */
    column-rule: none;
  }

  /** BORDERS **/
  .gej-stat-box .border-white-left {
    border-left: none;
    border-bottom: 1px solid #fff;
  }
  .gej-stat-box .border-white-right {
    border-right: none;
    border-bottom: 1px solid #fff;
  }
  .border-white-grid-left {
    border-left: none;
  }
  .border-white-grid-right {
    border-right: none;
  }

  .elementor-widget-call-to-action .elementor-cta__title {
    font-family: "Avenir Next Bold", Sans-serif;
    font-size: 21px;
    font-size: 1.23529411765rem;
  }
  .gej-map-bkd .elementor-background-overlay {
    background-position: center bottom !important;
  }
  /** PROJECT PAGES **/
  .gej-info-box .elementor-widget-wrap {
    padding: 0 22px;
  }
  .gej-info-box .border-gray-left {
    border-left: none;
    border-bottom: 1px solid #d0d0ce;
  }
  .gej-info-box .border-gray-right {
    border-right: none;
  }
  .gej-info-box.border-gray-bottom {
    border-bottom: none;
  }
  .button-projects.button-left {
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #fff;
  }
  .button-projects.button-right {
    border-right: none;
  }
  /** CARDS **/

  .elementor-container
    > .elementor-column.column-card
    > .elementor-element-populated.elementor-widget-wrap {
    padding: 48px;
  }
  .elementor-container
    > .elementor-column.column-card.card-space-sm
    > .elementor-element-populated.elementor-widget-wrap {
    padding: 40px;
  }
  .elementor-column.column-card-grid
    > .elementor-element-populated.elementor-column-wrap {
    padding: 4px 0;
  }
  .column-card-image-full {
    margin: -40px -40px 0 -40px;
    width: calc(100% + 80px);
  }

  /********************* GLOBAL CLASSES *********************/

  /** DEFAULT SECTION PADDING **/
  .elementor-top-section.elementor-section-boxed,
  .column-section-spacing {
    padding: 64px 22px;
  }
  .extra-space-top.elementor-top-section.elementor-section-boxed {
    padding: 112px 22px 64px 22px;
  }
  .section-pts.elementor-top-section.elementor-section-boxed {
    padding-top: 16px;
  }
  .section-pbs.elementor-top-section.elementor-section-boxed {
    padding-bottom: 16px;
  }
  /*
	.elementor-top-section .elementor-top-section.elementor-section-boxed,
	.inside-article .elementor-top-section.elementor-section-boxed {
	padding: 0;
	}
	*/
  .elementor-top-section.elementor-section-boxed.hero-padding-default {
    padding: 120px 32px 120px 32px;
  }
  /** HELPER CLASSES **/
  .leftcol-space-wide {
    padding-right: 0;
  }
  .rightcol-space-wide {
    padding: 0;
  }
}

@media (max-width: 544px) {
  .elementor-widget-call-to-action .elementor-cta__title {
    font-family: "Avenir Next Bold", Sans-serif;
    font-size: 19px;
    font-size: 1.11764705882rem;
  }
}

@media (max-width: 479px) {
  /********************* GLOBAL CLASSES *********************/

  /** DEFAULT SECTION PADDING **/
  .elementor-top-section.elementor-section-boxed,
  .column-section-spacing {
    padding: 48px 22px;
  }
  .extra-space-top.elementor-top-section.elementor-section-boxed {
    padding: 88px 22px 48px 22px;
  }
  /*
	.elementor-top-section .elementor-top-section.elementor-section-boxed,
	.inside-article .elementor-top-section.elementor-section-boxed {
	padding: 0;
	}
	*/
  .elementor-top-section.elementor-section-boxed.hero-padding-default {
    padding: 64px 32px 64px 32px;
  }
  /** HELPER CLASSES **/

  /** CARDS **/
  .elementor-container
    > .elementor-column.column-card
    > .elementor-element-populated.elementor-widget-wrap {
    padding: 40px;
  }
  .elementor-container
    > .elementor-column.column-card.card-space-sm
    > .elementor-element-populated.elementor-widget-wrap {
    padding: 32px;
  }
  .column-card-image-full {
    margin: -32px -32px 0 -32px;
    width: calc(100% + 64px);
  }
  /** PROJECT PAGES **/
  .button-projects a.elementor-button.elementor-size-sm {
    font-size: 17px;
    text-transform: none;
    padding: 32px 24px;
  }
}
