/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
## Theme custom styles
    - Variables
    - Font Families
    - Paragraphs
    - Headers
    - Buttons Styles
    - Links hover effect
  # Third Party plugins customisation
    - Slick Slider
    - Gravity Forms
  # Mobile theme custom styles

## Helper classes 
  # Text format
    - Text color
    - Text Styles
    - Text alignment
  # Sections & Containers
    - Define section according to UI
    - Containers
    - Grids
  # Flex Containers
  # Paddings and Margins (top & bottom)
    * Multiple of 4
    - dt_pt_: Desktop padding top
    - dt_pb_: Desktop padding bottom
    - dt_mt_: Desktop margin top
    - dt_mb: Desktop margin bottom
  # Hide elements on Desktop
  # Mobile

## Global sections
    - Header menu
    - Add global sections styles at the end of the document and update Table of Contents
--------------------------------------------------------------*/

/*=====================================
* Theme Custom Stylesheet
=======================================*/

/* GLOBAL DESKTOP */

/* Theme colors */
:root {
  --white: #ffffff;
  --black: #000000;

  --gcw_gunmetal: #2F3335;
  --gcw_orange: #F94403;
  --gcw_offwhite: #FAFAF5;
  --gcw_charcoal: #0E0E0E;
  --gcw_offblack: #1A1A1A;
  --gcw_grey: #DEE2E6;
  --gcw_lightgrey: #D6DADE;

  --linkColor: #f94403;
  --bodyBg: #0e0e0e;

  --textDark: #0e0e0e;
  --textLight: #DEE2E6;

  --dtNavHeight: 96rem;
  --mbNavHeight: 64rem;
}

/*===================
* Fonts Family
======================*/

/* Headers */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

/* Paragraphs, button and body copy */
p,
.btn,
.body_copy {
  font-weight: 400;
  color: var(--textLight);
  -webkit-font-smoothing: antialiased;
}

/*===================
* Main Fonts format
====================*/
/* Headings  */

h1 {
  font-size: 82rem;
  line-height: 84rem;
}

/* 
h2 {
  font-size: 32rem ;
  line-height: 38rem;
}

h3 {
  font-size: 24rem ;
  line-height: 28rem;
}

h4 {
  font-size: 18rem ;
  line-height: 22rem;
}
*/

/* Texts */
p,
.body_copy {
  font-size: 16rem;
  line-height: 24rem;
}

.body_copy.small {
  font-size: 14rem;
  line-height: 18rem;
}

.body_copy.large {
  font-size: 18rem;
  line-height: 20rem;
}

/*===================
* Buttons styles
====================*/
.btn,
.btn_primary,
.btn_secondary,
.gform_wrapper.gravity_theme input[type="submit"] {
  /* Global */
  -webkit-appearance: none !important;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content !important;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.3s ease-out;

  /* Custom: */
  height: 56rem;
  text-transform: uppercase;
  font-size: 14rem;
  line-height: 14rem;
  font-weight: 700;
  letter-spacing: 0.5rem;
  border: 2rem solid #ffffff;
  border-radius: 0;
  background-color: transparent;
  color: var(--textLight) !important;
}

.btn_primary:hover,
.gform_wrapper.gravity-theme input[type="submit"]:hover {
  background-color: var(--white) !important;
  color: var(--textDark) !important;
}

/*===================
* Links hover effect
====================*/

.underline_effect,
.main_menu_wrapper ul li a {
  width: fit-content;
  position: relative;
  -moz-transition: ease-out 0.3s 0.1s;
  -o-transition: ease-out 0.3s 0.1s;
  -webkit-transition: ease-out 0.3s;
  -webkit-transition-delay: 0.1s;
  transition: ease-out 0.3s 0.1s;
}

.underline_effect::after,
.main_menu_wrapper ul li a::after {
  background: var(--white);
  height: 1px;
  width: 100%;
  content: "";
  position: absolute;
  left: 0rem;
  bottom: -4rem;
  -moz-transform: scaleX(0);
  -ms-transform: scaleX(0);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.underline_effect:hover::after,
.main_menu_wrapper ul li a:hover::after {
  -moz-transform: scaleX(1);
  -ms-transform: scaleX(1);
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

/*=====================================
* PLUGIN: Slider Slick - general
****** Add 'ha_slider' class in the markup when creating slider *******
=====================================*/
.ha_slider {
  overflow: hidden;
}

.ha_slider {
  display: none;
}

.ha_slider.slick-initialized {
  display: block;
}

/* Dots  + 'arrow ← DRAG' */
.ha_slider .slick-dots::before {
  content: "← DRAG";
  color: var(--white) !important;
  margin-right: 8rem;
  font-size: 12rem;
}

.ha_slider .slick-dots {
  bottom: -32rem;
  height: 24rem;
  right: 9vw;
  width: 90vw;
  text-align: right;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.ha_slider.slick-slider {
  margin-bottom: 48rem !important;
}

.ha_slider .slick-dots li {
  width: 10rem !important;
  margin: auto 3rem !important;
}

.ha_slider .slick-dots li button {
  width: 100%;
  text-align: center;
  padding: 0;
}

.ha_slider .slick-dots li button::before {
  font-size: 32rem !important;
  color: transparent;
  opacity: 1;
  -webkit-text-stroke: 1px var(--textLight);
  width: 100%;
}

.ha_slider .slick-dots li.slick-active button:before {
  opacity: 1;
  color: var(--textLight);
}

/*===================*************
* PLUGIN: Gravity Forms - general
*************====================*/

.gform_wrapper.gravity-theme input:focus-visible,
.gform_wrapper.gravity-theme select:focus-visible,
.gform_wrapper.gravity-theme textarea:focus-visible {
  outline: none !important;
}

/* Fields: */
.gform_wrapper.gravity-theme input[type="color"],
.gform_wrapper.gravity-theme input[type="date"],
.gform_wrapper.gravity-theme input[type="datetime-local"],
.gform_wrapper.gravity-theme input[type="datetime"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="month"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="password"],
.gform_wrapper.gravity-theme input[type="search"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="time"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="week"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
  background: transparent;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid var(--gcw_gunmetal);
  font-family: "Atlas Grotesk", sans-serif;
  font-weight: 400;
  font-size: 14rem;
  line-height: 16rem;
  letter-spacing: 0.233333rem;
  color: var(--textLight);
}

.gform_wrapper.gravity-theme select{
  -webkit-appearance: none !important;
}
.ginput_container.ginput_container_textarea {
  margin-top: 8rem;
}

.gform_wrapper.gravity-theme textarea {
  height: auto !important;
  background: transparent !important;
  border: 2rem solid #fff;
  padding: 16rem !important;
}

/* Placeholder */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: var(--textLight) !important;
}

/* Gap between fields: */
.gform_wrapper.gravity-theme .gform_fields {
  row-gap: 8rem !important;
}

/* Validation Messages */
.gform_wrapper .gform_validation_errors>h2,
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
  margin: 0 !important;
  padding: 0 !important;
}

.gform_wrapper .gform_validation_errors>h2 {
  font-family: "Atlas Grotesk", sans-serif !important;
  text-transform: unset !important;
}

/* GLOBAL MOBILE */
/***********************************
  USE max-width:768rem; for mobile
************************************/
@media only screen and (max-width: 768px) {

  h1 {
    font-size: 40rem;
    line-height: 48rem;
  }

  /* h1,
h2 {
  font-size: 32rem !important;
  line-height: 38rem !important;
}

h3 {
  font-size: 24rem !important;
  line-height: 28rem !important;
}

h4 {
  font-size: 18rem !important;
  line-height: 22rem !important;
} */

  .body_copy {
    font-size: 14rem;
    line-height: 20rem;
  }

  .btn {
    padding: 0 20rem !important;
    font-size: 11rem !important;
  }
}

/*
*
*
=======================================
* Here Agency Global Helper classes
=======================================*/
.textDark {
  color: var(--textDark) !important;
}

.textLight {
  color: var(--textLight) !important;
}

.uppercase {
  text-transform: uppercase !important;
}

.medium {
  font-weight: 500 !important;
}

.bold {
  font-weight: 700 !important;
}

/********************
* Text align
*********************/
.dt_ta_left {
  width: 100%;
  text-align: left;
}

.dt_ta_center {
  width: 100%;
  text-align: center;
}

.dt_ta_right {
  width: 100%;
  text-align: right;
}

/********************
* HA custom sections
*********************/
.ha_section {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
}

.ha_section.full_width {
  padding-left: 0;
  padding-right: 0;
}

.ha_section_container {
  width: 100%;
  max-width: 1284rem;
  /* padding: 0 20rem; */
}

.grid {
  display: grid;
}

.ha_section_container.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 1.93%;
}

.col_gap_24 {
  column-gap: 24px;
}

.col_start_1 {
  grid-column-start: 1;
}

.col_start_2 {
  grid-column-start: 2;
}

.col_start_3 {
  grid-column-start: 3;
}

.col_start_4 {
  grid-column-start: 4;
}

.col_start_5 {
  grid-column-start: 5;
}

.col_start_6 {
  grid-column-start: 6;
}

.col_start_7 {
  grid-column-start: 7;
}

.col_start_8 {
  grid-column-start: 8;
}

.col_start_9 {
  grid-column-start: 9;
}

.col_start_10 {
  grid-column-start: 10;
}

.col_start_11 {
  grid-column-start: 11;
}

.col_start_12 {
  grid-column-start: 12;
}

.col_start_13 {
  grid-column-start: 13;
}

.col_end_1 {
  grid-column-end: 1;
}

.col_end_2 {
  grid-column-end: 2;
}

.col_end_3 {
  grid-column-end: 3;
}

.col_end_4 {
  grid-column-end: 4;
}

.col_end_5 {
  grid-column-end: 5;
}

.col_end_6 {
  grid-column-end: 6;
}

.col_end_7 {
  grid-column-end: 7;
}

.col_end_8 {
  grid-column-end: 8;
}

.col_end_9 {
  grid-column-end: 9;
}

.col_end_10 {
  grid-column-end: 10;
}

.col_end_11 {
  grid-column-end: 11;
}

.col_end_12 {
  grid-column-end: 12;
}

.col_end_13 {
  grid-column-end: 13;
}

.span_1 {
  grid-column: span 1;
}

.span_4 {
  grid-column: span 4;
}

.span_5 {
  grid-column: span 5;
}

.span_6 {
  grid-column: span 6;
}

.span_7 {
  grid-column: span 7;
}

.span_8 {
  grid-column: span 8;
}

.span_9 {
  grid-column: span 9;
}

.span_10 {
  grid-column: span 10;
}

.span_11 {
  grid-column: span 11;
}

.span_12 {
  grid-column: span 12;
}

/********************
* Flex containers
*********************/

.flex_container {
  display: flex;
}

.flex_row {
  flex-direction: row;
}

.flex_col {
  flex-direction: column;
}

.fa_start {
  align-items: flex-start;
}

.fa_center {
  align-items: center;
}

.fa_end {
  align-items: flex-end;
}

.fa_around {
  align-items: space-around;
}

.fa_between {
  align-items: space-between;
}

.fj_start {
  justify-content: flex-start;
}

.fj_center {
  justify-content: center;
}

.fj_end {
  justify-content: flex-end;
}

.fj_around {
  justify-content: space-around;
}

.fj_between {
  justify-content: space-between;
}

/*************************
* Desktop Paddings - top
**************************/
.dt_pt_0 {
  padding-top: 0;
}

.dt_pt_4 {
  padding-top: 4rem;
}

.dt_pt_8 {
  padding-top: 8rem;
}

.dt_pt_12 {
  padding-top: 12rem;
}

.dt_pt_16 {
  padding-top: 16rem;
}

.dt_pt_20 {
  padding-top: 20rem;
}

.dt_pt_24 {
  padding-top: 24rem;
}

.dt_pt_28 {
  padding-top: 28rem;
}

.dt_pt_32 {
  padding-top: 32rem;
}

.dt_pt_36 {
  padding-top: 36rem;
}

.dt_pt_40 {
  padding-top: 40rem;
}

.dt_pt_44 {
  padding-top: 44rem;
}

.dt_pt_48 {
  padding-top: 48rem;
}

.dt_pt_52 {
  padding-top: 52rem;
}

.dt_pt_56 {
  padding-top: 56rem;
}

.dt_pt_60 {
  padding-top: 60rem;
}

.dt_pt_64 {
  padding-top: 64rem;
}

.dt_pt_68 {
  padding-top: 68rem;
}

.dt_pt_72 {
  padding-top: 72rem;
}

.dt_pt_76 {
  padding-top: 76rem;
}

.dt_pt_80 {
  padding-top: 80rem;
}

.dt_pt_84 {
  padding-top: 84rem;
}

.dt_pt_88 {
  padding-top: 88rem;
}

.dt_pt_92 {
  padding-top: 92rem;
}

.dt_pt_96 {
  padding-top: 96rem;
}

.dt_pt_100 {
  padding-top: 100rem;
}

.dt_pt_104 {
  padding-top: 104rem;
}

.dt_pt_108 {
  padding-top: 108rem;
}

.dt_pt_120 {
  padding-top: 120rem;
}

.dt_pt_156 {
  padding-top: 156rem;
}

/*************************
* Desktop Margins - top
**************************/
.dt_mt_0 {
  margin-top: 0rem;
}

.dt_mt_4 {
  margin-top: 4rem;
}

.dt_mt_8 {
  margin-top: 8rem;
}

.dt_mt_12 {
  margin-top: 12rem;
}

.dt_mt_16 {
  margin-top: 16rem;
}

.dt_mt_20 {
  margin-top: 20rem;
}

.dt_mt_24 {
  margin-top: 24rem;
}

.dt_mt_28 {
  margin-top: 28rem;
}

.dt_mt_32 {
  margin-top: 32rem;
}

.dt_mt_36 {
  margin-top: 36rem;
}

.dt_mt_40 {
  margin-top: 40rem;
}

.dt_mt_44 {
  margin-top: 44rem;
}

.dt_mt_48 {
  margin-top: 48rem;
}

.dt_mt_52 {
  margin-top: 52rem;
}

.dt_mt_56 {
  margin-top: 56rem;
}

.dt_mt_60 {
  margin-top: 60rem;
}

.dt_mt_64 {
  margin-top: 64rem;
}

.dt_mt_68 {
  margin-top: 68rem;
}

.dt_mt_72 {
  margin-top: 72rem;
}

.dt_mt_76 {
  margin-top: 76rem;
}

.dt_mt_80 {
  margin-top: 80rem;
}

.dt_mt_84 {
  margin-top: 84rem;
}

.dt_mt_88 {
  margin-top: 88rem;
}

.dt_mt_92 {
  margin-top: 92rem;
}

.dt_mt_96 {
  margin-top: 96rem;
}

.dt_mt_100 {
  margin-top: 100rem;
}

.dt_mt_120 {
  margin-top: 120rem;
}

.dt_mt_132 {
  margin-top: 132rem;
}

.dt_mt_156 {
  margin-top: 156rem;
}

/******************************
* Desktop Paddings - Bottom
*******************************/
.dt_pb_0 {
  padding-bottom: 0rem;
}

.dt_pb_4 {
  padding-bottom: 4rem;
}

.dt_pb_8 {
  padding-bottom: 8rem;
}

.dt_pb_12 {
  padding-bottom: 12rem;
}

.dt_pb_16 {
  padding-bottom: 16rem;
}

.dt_pb_20 {
  padding-bottom: 20rem;
}

.dt_pb_24 {
  padding-bottom: 24rem;
}

.dt_pb_28 {
  padding-bottom: 28rem;
}

.dt_pb_32 {
  padding-bottom: 32rem;
}

.dt_pb_36 {
  padding-bottom: 36rem;
}

.dt_pb_40 {
  padding-bottom: 40rem;
}

.dt_pb_44 {
  padding-bottom: 44rem;
}

.dt_pb_48 {
  padding-bottom: 48rem;
}

.dt_pb_52 {
  padding-bottom: 52rem;
}

.dt_pb_56 {
  padding-bottom: 56rem;
}

.dt_pb_60 {
  padding-bottom: 60rem;
}

.dt_pb_64 {
  padding-bottom: 64rem;
}

.dt_pb_68 {
  padding-bottom: 68rem;
}

.dt_pb_72 {
  padding-bottom: 72rem;
}

.dt_pb_76 {
  padding-bottom: 76rem;
}

.dt_pb_80 {
  padding-bottom: 80rem;
}

.dt_pb_84 {
  padding-bottom: 84rem;
}

.dt_pb_88 {
  padding-bottom: 88rem;
}

.dt_pb_92 {
  padding-bottom: 92rem;
}

.dt_pb_116 {
  padding-bottom: 116rem;
}

.dt_pb_120 {
  padding-bottom: 120rem;
}

.dt_pb_200 {
  padding-bottom: 200rem;
}

/******************************
* Desktop Margins - Bottom
*******************************/
.dt_mb_0 {
  margin-bottom: 0rem;
}

.dt_mb_4 {
  margin-bottom: 4rem;
}

.dt_mb_8 {
  margin-bottom: 8rem;
}

.dt_mb_12 {
  margin-bottom: 12rem;
}

.dt_mb_16 {
  margin-bottom: 16rem;
}

.dt_mb_20 {
  margin-bottom: 20rem;
}

.dt_mb_24 {
  margin-bottom: 24rem;
}

.dt_mb_28 {
  margin-bottom: 28rem;
}

.dt_mb_32 {
  margin-bottom: 32rem;
}

.dt_mb_36 {
  margin-bottom: 36rem;
}

.dt_mb_40 {
  margin-bottom: 40rem;
}

.dt_mb_44 {
  margin-bottom: 44rem;
}

.dt_mb_48 {
  margin-bottom: 48rem;
}

.dt_mb_52 {
  margin-bottom: 52rem;
}

.dt_mb_56 {
  margin-bottom: 56rem;
}

.dt_mb_60 {
  margin-bottom: 60rem;
}

.dt_mb_64 {
  margin-bottom: 64rem;
}

.dt_mb_68 {
  margin-bottom: 68rem;
}

.dt_mb_72 {
  margin-bottom: 72rem;
}

.dt_mb_76 {
  margin-bottom: 76rem;
}

.dt_mb_80 {
  margin-bottom: 80rem;
}

.dt_mb_84 {
  margin-bottom: 84rem;
}

.dt_mb_88 {
  margin-bottom: 88rem;
}

.dt_mb_92 {
  margin-bottom: 92rem;
}

.dt_mb_96 {
  margin-bottom: 100rem;
}

.dt_mb_100 {
  margin-bottom: 100rem;
}

.dt_mb_120 {
  margin-bottom: 120rem;
}

.dt_mb_156 {
  margin-bottom: 156rem;
}

.dt_mb_200 {
  margin-bottom: 200rem;
}

/******************************
* Desktop - Column offsets
*******************************/

.offset_left {
  padding-left: 5.6%;
}

.offset_left-1-col {
  padding-left: 17.15%;
}

.offset_right {
  padding-right: 5.6%;
}

.offset_right-1-col {
  padding-right: 17.15%;
}

/******************************
* Hide elements on Desktop
*******************************/
.hide_desktop,
.hide_icon {
  display: none !important;
}

@media only screen and (min-width: 1441px) {

  .ha_section_container {
    width: 100%;
    max-width: 80vw;
  }

}

/******************************
* Global mobile
*******************************/

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

  /********************
* Flex containers
*********************/

  .mb_flex_container {
    display: flex !important;
  }

  .mb_flex_row {
    flex-direction: row !important;
  }

  .mb_flex_col {
    flex-direction: column !important;
  }

  .mb_fa_start {
    align-items: flex-start !important;
  }

  .mb_fa_center {
    align-items: center !important;
  }

  .mb_fa_end {
    align-items: flex-end !important;
  }

  .mb_fa_around {
    align-items: space-around !important;
  }

  .mb_fa_between {
    align-items: space-between !important;
  }

  .mb_fj_start {
    justify-content: flex-start !important;
  }

  .mb_fj_center {
    justify-content: center !important;
  }

  .mb_fj_end {
    justify-content: flex-end !important;
  }

  .mb_fj_around {
    justify-content: space-around !important;
  }

  .mb_fj_between {
    justify-content: space-between !important;
  }

  /********************
  * Text align
  *********************/

  .mb_ta_left {
    width: 100%;
    text-align: left !important;
  }

  .mb_ta_center {
    width: 100%;
    text-align: center !important;
  }

  .mb_ta_right {
    width: 100%;
    text-align: right !important;
  }

  /**********************
  * Mobile - Paddings Top
  ***********************/

  .mb_pt_0 {
    padding-top: 0 !important;
  }

  .mb_pt_4 {
    padding-top: 4rem !important;
  }

  .mb_pt_8 {
    padding-top: 8rem !important;
  }

  .mb_pt_12 {
    padding-top: 12rem !important;
  }

  .mb_pt_16 {
    padding-top: 16rem !important;
  }

  .mb_pt_20 {
    padding-top: 20rem !important;
  }

  .mb_pt_24 {
    padding-top: 24rem !important;
  }

  .mb_pt_28 {
    padding-top: 28rem !important;
  }

  .mb_pt_32 {
    padding-top: 32rem !important;
  }

  .mb_pt_48 {
    padding-top: 48rem !important;
  }

  .mb_pt_52 {
    padding-top: 52rem !important;
  }

  .mb_pt_56 {
    padding-top: 56rem !important;
  }

  .mb_pt_60 {
    padding-top: 60rem !important;
  }

  .mb_pt_64 {
    padding-top: 64rem !important;
  }

  .mb_pt_84 {
    padding-top: 84rem !important;
  }

  .mb_pt_92 {
    padding-top: 92rem !important;
  }

  /**********************
  * Mobile - Margins Top
  ***********************/
  .mb_mt_0 {
    margin-top: 0 !important;
  }

  .mb_mt_4 {
    margin-top: 4rem !important;
  }

  .mb_mt_8 {
    margin-top: 8rem !important;
  }

  .mb_mt_12 {
    margin-top: 12rem !important;
  }

  .mb_mt_16 {
    margin-top: 16rem !important;
  }

  .mb_mt_20 {
    margin-top: 20rem !important;
  }

  .mb_mt_24 {
    margin-top: 24rem !important;
  }

  .mb_mt_28 {
    margin-top: 28rem !important;
  }

  .mb_mt_32 {
    margin-top: 32rem !important;
  }

  .mb_mt_36 {
    margin-top: 36rem !important;
  }

  .mb_mt_40 {
    margin-top: 40rem !important;
  }

  .mb_mt_48 {
    margin-top: 48rem !important;
  }

  .mb_mt_52 {
    margin-top: 52rem !important;
  }

  .mb_mt_56 {
    margin-top: 56rem !important;
  }

  .mb_mt_60 {
    margin-top: 60rem !important;
  }

  .mb_mt_64 {
    margin-top: 64rem !important;
  }

  .mb_mt_84 {
    margin-top: 84rem !important;
  }

  .mb_mt_90 {
    margin-top: 84rem !important;
  }

  /*************************
  * Mobile - Paddings Botom
  **************************/
  .mb_pb_0 {
    padding-bottom: 0 !important;
  }

  .mb_pb_16 {
    padding-bottom: 16rem !important;
  }

  .mb_pb_20 {
    padding-bottom: 20rem !important;
  }

  .mb_pb_24 {
    padding-bottom: 24rem !important;
  }

  .mb_pb_32 {
    padding-bottom: 32rem !important;
  }

  .mb_pb_48 {
    padding-bottom: 48rem !important;
  }

  .mb_pb_56 {
    padding-bottom: 56rem !important;
  }

  .mb_pb_64 {
    padding-bottom: 64rem !important;
  }

  .mb_pb_84 {
    padding-bottom: 84rem !important;
  }

  /*************************
  * Mobile - Margins Botom
  **************************/

  .mb_mb_0 {
    margin-bottom: 0 !important;
  }

  .mb_mb_4 {
    margin-bottom: 4rem !important;
  }

  .mb_mb_8 {
    margin-bottom: 8rem !important;
  }

  .mb_mb_16 {
    margin-bottom: 16rem !important;
  }

  .mb_mb_20 {
    margin-bottom: 20rem !important;
  }

  .mb_mb_24 {
    margin-bottom: 24rem !important;
  }

  .mb_mb_28 {
    margin-bottom: 28rem !important;
  }

  .mb_mb_32 {
    margin-bottom: 32rem !important;
  }

  .mb_mb_48 {
    margin-bottom: 48rem !important;
  }

  .mb_mb_56 {
    margin-bottom: 56rem !important;
  }

  .mb_mb_60 {
    margin-bottom: 60rem !important;
  }

  .mb_mb_64 {
    margin-bottom: 64rem !important;
  }

  /*************************
  * Mobile - Paddings side
  **************************/
  .mb_side_paddings {
    padding-left: 7vw;
    padding-right: 7vw;
  }

  .mb_pl_0 {
    padding-left: 0 !important;
  }

  .mb_pr_0 {
    padding-right: 0 !important;
  }

  /*************************
  * Mobile - Offsets
  **************************/

  .offset_left {
    padding-left: 0 !important;
  }

  .offset_right {
    padding-right: 0 !important;
  }

  /*************************
  * Hide elements
  **************************/

  .hide_desktop {
    display: inherit !important;
  }

  .hide_mobile {
    display: none !important;
  }
}

/*
*
*
=======================================
* CUSTOM HEADER MENU NAV BAR
=======================================*/
.desktop_nav,
.desktop_nav_sticky {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.desktop_menu_nav {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20rem;

  height: var(--dtNavHeight);
  background-color: var(--bodyBg);
}

.nav_left {
  width: auto;
  padding-right: 2vw;
}

.main_logo {
  display: flex;
  width: 18vw;
  max-width: 260rem;
}

.main_logo img {
  width: 100%;
}

.nav_right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-left: 2vw;
  width: 90%;
  height: 100%;
}

.main_menu_wrapper {
  height: 100%;
}

.main_menu_wrapper div {
  height: 100%;
}

.main_menu_wrapper ul {
  list-style: none;
  display: flex;
  flex-direction: row;
  height: 100%;
}

.main_menu_wrapper ul li {
  display: flex;
  align-items: center;
  margin-right: 2vw;
  font-family: "Atlas Grotesk", sans-serif;
  font-size: 14rem;
  height: 100% !important;
  line-height: 100% !important;
  font-weight: 300;
}

i.arrow_icon {
  margin-left: 4rem;
}

.main_menu_wrapper ul li a {
  color: var(--textLight);
  text-decoration: none;
}

/* Dropdown desktop submenu */
/* First level submenu */
.menu-item-has-children {
  position: relative;
}

.main_menu_wrapper ul.sub-menu {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  flex-direction: column;
  transition: all 0.4s ease-out;
  opacity: 1;
  background-color: var(--mainBlue);
  border-radius: 4rem;
  border: 1px solid var(--lightBlue);
  padding: 16rem 58rem 16rem 32rem;
  transform: translateY(100%);
  z-index: 99;
}

.main_menu_wrapper ul.sub-menu li {
  font-size: 12rem;
  padding-bottom: 16rem;
}

.main_menu_wrapper ul.sub-menu li:last-child {
  padding-bottom: 0;
}

.main_menu_wrapper .menu-item-has-children:hover ul.sub-menu {
  display: flex;
}

.main_menu_wrapper .menu-item-has-children i.arrow-icon img {
  transition: all 0.3s ease-out;
}

.main_menu_wrapper .menu-item-has-children:hover i.arrow-icon img {
  transform: rotate(180deg);
}

/* STICKY NAV */
.desktop_nav_sticky {
  transition: all 0.3s ease-out;
  top: 0;
  position: fixed;
  z-index: 999;
}

.desktop_nav_sticky.hidden_nav {
  transform: translateY(-100%);
}

/* MOBILE NAV - DESKTOP HIDDEN */
.mobile_nav {
  display: none;
}

/* menu links loading staggered */
.mobile_bottom_nav ul li {
  animation: slideInLeft 0.3s ease-in-out backwards;
}

.mobile_bottom_nav .mobile_inner_container a.social {
  animation: slideInLeft 0.3s ease-in-out backwards;
}

@keyframes slideInLeft {
  from {
    transform: translate(-25%, 0);
    opacity: 0;
  }

  to {
    transform: translate(0, 0);
    opacity: 1;
  }
}

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

  .desktop_nav,
  .desktop_nav_sticky {
    display: none;
  }

  .mobile_nav {
    /* display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    flex-direction: column;
    position: fixed;
    z-index: 99; */


    display: block !important;
    /* position: relative; */
    position: absolute;
    width: 100%;
    z-index: 99;
  }

  .mobile_top_nav,
  .mobile_top_nav_sticky {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    /* border-bottom: 1rem solid var(--bodyBg); */
    padding: 0 20rem;
    z-index: 10;
    height: var(--mbNavHeight);
    background: var(--bodyBg);
  }


  .mobile_top_nav_sticky {
    transition: all 0.3s ease-out;
    top: 0;
    position: fixed;
    z-index: 999;
  }

  .mobile_top_nav_sticky.hidden_nav {
    transform: translateY(-100%);
  }

  .mobile_top_left {
    width: 70%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  a.main_logo_mobile {
    display: flex;
  }

  .mobile_top_left .main_logo_mobile .main_logo_grey {
    width: 100%;
    max-width: 218rem;
    height: auto;
  }

  .mobile_top_right {
    position: relative;
    width: 30%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  /** hamburger menu **/
  .hamburger_button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;

    /* Custom */
    width: 24rem;
    height: 12rem;
  }

  .menu_wrapper {
    position: relative;
    margin: auto;
    width: 100%;
    height: 100%;
    cursor: pointer;
    z-index: 999;
  }

  .hamburger_menu,
  .hamburger_menu:after,
  .hamburger_menu:before {
    background: var(--white);
    width: 100%;
    height: 2rem;
  }

  .hamburger_menu {
    background: transparent;
    position: relative;
    transition: all 0ms 300ms;
  }

  .hamburger_menu:after,
  .hamburger_menu:before {
    content: "";
    position: absolute;
    right: 0;
    transition: all 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1),
      transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  }

  .hamburger_menu:before {
    bottom: 6rem;
  }

  .hamburger_menu:after {
    top: 6rem;
  }

  .hamburger_menu.animate {
    background: transparent;
  }

  .hamburger_menu.animate:before {
    bottom: 0;
    transform: rotate(-45deg);
    transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1),
      transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
  }

  .hamburger_menu.animate:after {
    top: 0;
    transform: rotate(45deg);
    transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1),
      transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
  }

  /** End hamburger menu **/

  .mobile_bottom_nav {
    display: none;
    width: 100%;
    height: calc(100vh - 64rem);
    padding: 24rem 5% 66rem;
    overflow: scroll;
    background-color: var(--bodyBg);
    /* position: relative; */
    position: fixed;
    top: var(--mbNavHeight);
  }

  .mobile_inner_container {
    /*     display:none; */
    position: relative;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  .mobile_bottom_nav ul {
    list-style: none;
    width: 100%;
    text-align: left;
  }

  .mobile_bottom_nav ul li a {
    text-decoration: none;
    font-family: "Activist", sans-serif;
    color: var(--white);
    font-size: 20rem;
    line-height: 20rem;
  }

  .mobile_nav .menu-item-has-children i.arrow-icon img {
    transition: all 0.3s ease-out;
  }

  .rotate {
    transform: rotate(180deg);
  }

  .mobile_bottom_nav ul.sub-menu {
    padding-bottom: 0;
  }

  .mobile_bottom_nav ul.sub-menu li a {
    font-size: 16rem;
    line-height: 16rem;
    padding-left: 7rem;
  }

  .mobile_bottom_row {
    width: 100%;
    position: absolute;
    bottom: 0;
  }

  .event-date {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-content: center;
    padding-bottom: 24rem;
  }
}

.mobile_bottom_nav ul li {
  animation: slideInLeft 0.3s ease-in-out backwards;
}

.mobile_bottom_nav .mobile_inner_container a.social {
  animation: slideInLeft 0.3s ease-in-out backwards;
}

@keyframes slideInLeft {
  from {
    transform: translate(-25%, 0);
    opacity: 0;
  }

  to {
    transform: translate(0, 0);
    opacity: 1;
  }
}

@media only screen and (max-width: 500px) {
  .mobile_bottom_nav ul li a {
    font-size: 20rem;
    line-height: 24rem;
  }
}

/* Hide scrollbar for Chrome, Safari and Opera */
.mobile_bottom_nav::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.mobile_bottom_nav {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

/* Lock scroll when menu is open*/
.stop_scrolling {
  /*      height: 100%; */
  overflow: hidden;
}