/*
 Theme Name:   Greenlight Analytics 
 Theme URI:    https://wordpress.org/themes/twentyninteen/
 Description:  Custom theme built for Greenlight Analytics
 Author: 	   
 Template:     twentynineteen
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  greenlight-theme
*/

@import url("/wp-content/themes/greenlight-theme/assets/css/eliezer.css");
@import url("/wp-content/themes/greenlight-theme/assets/css/lucy.css");
@import url("/wp-content/themes/greenlight-theme/assets/css/dain.css");
@import url("/wp-content/themes/greenlight-theme/assets/css/form.css");

/*
ADOBE FONTS

=== Mokoko Regular ===
font-family: "mokoko", serif;

=== Neue Haas Grotesk Display ===
font-family: "neue-haas-grotesk-display", sans-serif;

=== Neue Haas Grotesk Text ===
font-family: "neue-haas-grotesk-text", sans-serif;


*/

/* ========= COLOR REFERENCES ========= */
:root {
  --color-gray: #353535; /* Primary */
  --color-slate: #3b5465; /* Secondary */
  --color-navy: #102739; /* Tertiary */
  --color-red: #e93447; /* Quaternary */
  --color-black: #1a1a1a; /* Quinary */
  --color-light-gray: #cccccb; /* Senary */
  --color-white: #ffffff;
}

/* ==================================== */

/* ======== TABLE OF CONTENTS =========
	1. TYPOGRAPHY
	2. GLOBAL
	3. MAIN CONTENT
		- Body
		- Gravity Forms
		- Privacy Policy
/* ==================================== */

/* ------------------------------ 
    1. Start Typography
------------------------------ */

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
li,
.btn,
button,
input {
  font-family: "neue-haas-grotesk-text", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  margin: 0;
}

.d1 {
  font-size: 80px;
  line-height: 1.075;
}

h1,
.h1 {
  font-size: 48px;
  line-height: 1.083;
}

h2,
.h2 {
  font-size: 32px;
  line-height: 1.0625;
}

h3,
.h3 {
  font-size: 26px;
  line-height: 1.30769;
}

h4,
.h4 {
  font-weight: 600;
  font-size: 20px;
}

p,
.p {
  font-weight: 400;
  font-style: normal;
  font-size: 14.5px;
  line-height: 1.65517;
  color: var(--darkGray);
}

.body-lg {
  font-size: 19px;
  line-height: 1.47368;
}
.body-sm {
  font-size: 11px;
  line-height: 1.45455;
}

a {
  font-size: 14.5px;
  line-height: 1.65517;
  color: #153f65;
  color: var(--blue);
  text-decoration: none;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
}

a:hover,
a:focus {
  color: var(--darkGray);
  text-decoration: none;
}

.btn-red {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 14.5px;
  line-height: 1.65517;
  color: rgba(255, 255, 255, 1);
  background: var(--color-red);
  border: 1.5px solid var(--color-red);
  padding: 8px 24px;
  border-radius: 384px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transform: all 0.3s ease-in-out;
}

.btn-red:hover,
.btn-red:focus,
.btn-red:active {
  border: 1.5px dashed #102739;
}

.btn-blue {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 14.5px;
  line-height: 1.65517;
  color: var(--color-light-gray);
  background: var(--color-navy);
  border: 1.5px solid var(--color-red);
  padding: 16px 32px;
  border-radius: 384px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transform: all 0.3s ease-in-out;
}

.btn-blue:hover,
.btn-blue:focus,
.btn-blue:active {
  border: 1.5px dashed var(--color-red);
}

.large-padding {
  padding: 5em 0;
}

/* ------------------------------ 
    1. End Typography
------------------------------ */

/* ------------------------------ 
    2. Start Global
------------------------------ */
@-ms-viewport {
  width: device-width;
}

body {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-weight: 200;
  font-style: normal;
  font-size: 14.5px;
  line-height: 1.65517;
  color: #153f65;
  background: var(--color-gray);
  overflow-x: hidden;
}

.mokoko {
  font-family: "mokoko", serif;
}

.neue-haas-grotesk-text {
  font-family: "neue-haas-grotesk-text", sans-serif;
}

.neue-haas-grotesk-display {
  font-family: "neue-haas-grotesk-display", sans-serif;
}

.opacity-1 {
  opacity: 1;
}

.opacity-5 {
  opacity: 0.5;
}

.f-200 {
  font-weight: 200;
  /* Light */
}

.f-300 {
  font-weight: 300;
  /* Regular */
}

.f-400 {
  font-weight: 400;
  /* Book */
}

.f-500 {
  font-weight: 500;
  /* Reg */
}

.f-600 {
  font-weight: 600;
  /* Demibold */
}

.f-700 {
  font-weight: 700;
  /* Bold */
}

.f-900 {
  font-weight: 900;
  /* Black */
}

.text-14 {
  font-size: 14px;
}

.text-20 {
  font-size: 20px;
}

.italic {
  font-style: italic;
}

.normal {
  font-style: normal;
}

.letter-space-normal {
  letter-spacing: normal;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: none;
}

section {
  position: relative;
}

.no-padding {
  padding: 0;
}

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

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

img {
  width: 100%;
}

/* =======================
     COLOR REFERENCES
  ======================= */

.color-navy {
  color: var(--color-navy);
}
.color-red {
  color: var(--color-red);
}
.color-slate {
  color: var(--color-slate);
}
.color-black {
  color: var(--color-black);
}
.color-gray {
  color: var(--color-gray);
}
.color-light-gray {
  color: var(--color-light-gray);
}
.color-white {
  color: var(--color-white);
}

.bg-navy {
  background: var(--color-navy);
}
.bg-red {
  background: var(--color-red);
}
.bg-slate {
  background: var(--color-slate);
}
.bg-black {
  background: var(--color-black);
}
.bg-gray {
  background: var(--color-gray);
}
.bg-light-gray {
  background: var(--color-light-gray);
}

.bg-white {
  background: #fff;
}

.hvr-underline-from-left:before {
  background: #e93447 !important;
  height: 3px;
}

.underline {
  text-decoration: underline;
}

.object-fit-contain {
  object-fit: contain !important;
}

/* Navigation hamburger menu slide out from the right side */
.menu-toggle {
  position: fixed;
  top: 20px;
  right: 20px;
  cursor: pointer;
  z-index: 999;
}

.bar {
  width: 30px;
  height: 3px;
  background-color: var(--blue);
  margin: 6px 0;
  transition: 0.4s;
}

/* #home .bar {
	background-color: #fff;
} */

.menu.active .bar:nth-child(1) {
  background-color: #fff;
  transform: rotate(-45deg) translate(-5px, 6px);
}

.menu.active .bar:nth-child(2) {
  background-color: #fff;
  opacity: 0;
}

.menu.active .bar:nth-child(3) {
  background-color: #fff;
  transform: rotate(45deg) translate(-7px, -7px);
}

.menu {
  position: fixed;
  top: 0;
  right: -300px;
  width: 300px;
  /* height: 100%; */
  background-color: var(--blue);
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
  transition: 0.4s;
}

.menu.active {
  right: 0;
}

.menu ul {
  list-style: none;
  padding: 0;
  margin: 60px 20px 40px;
}

.menu li {
  margin-bottom: 10px;
}

.menu a {
  text-decoration: none;
  color: #333;
  font-size: 16px;
  transition: color 0.3s;
  -webkit-transition: color 0.3s;
  -moz-transition: color 0.3s;
}

.menu a.active:bfore {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 5px;
  border-bottom: 5px solid var(--blue);
}

/* Nav - Desktop */
.nav-bar {
  min-height: 56px;
  background-color: var(--white);
  color: #353535;
  transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
}

.desktop-navigation {
  color: #353535;
}

/* .desktop-navigation .main-menu-item {
	padding: 20px;
} */

.main-menu-item a,
.desktop-navigation .main-menu-item span {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14.5px;
  line-height: 1.65517;
  text-align: center;
  color: #353535 !important;
  transition: opacity 0.2s ease-in-out;
}

.main-menu-item a:hover,
.main-menu-item a:focus,
.main-menu-item a:active,
.desktop-navigation .main-menu-item span:hover,
.desktop-navigation .main-menu-item span:focus,
.desktop-navigation .main-menu-item span:active {
  font-weight: 700;
}

.main-menu-item .active {
  font-weight: 700;
}

.desktop-navigation .main-menu-item a.active:after,
.mobile-navigation .main-menu-item a.active:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  border-bottom: 3px solid #e93447;
}
.main-menu-item .sub-menu-item a.active {
  color: #fff !important;
}

.desktop-navigation .has-sub-menu:hover a {
  color: var(--red) !important;
}

.desktop-navigation .main-menu-item.has-sub-menu .fa-angle-down {
  position: relative;
  top: 2px;
}

/* .main-menu-item:last-of-type a,
.main-menu-item:last-of-type span {
    padding-right: 0;
} */

/* Sub-Menu */
ul.nav li {
  position: relative;
}

ul.nav ul {
  display: none;
  visibility: hidden;
  opacity: 0;
  position: relative;
  padding: 5px 5px 5px 60px;
  right: calc(50% - 120px);
  top: 0;
  transform: translateY(0em);
  min-width: 220px;
  width: 100%;
  list-style: none;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transform: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 99;
  margin: 0;
  background: var(--blue);
  /* border-bottom: 3px solid #fff; */
}

/* ul.nav ul:before {
	content: "";
	height: 36px;
	position: absolute;
	top: -36px;
	right: 0;
	width: 100%;
} */

ul.nav .sub-menu:after {
  content: "";
  height: 20px;
  position: absolute;
  top: -25px;
  left: 25px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid var(--red);
  width: 20px;
}

ul.nav .has-sub-sub-menu a {
  border: none !important;
}

ul.nav ul ul {
  top: 0;
  left: 100%;
}

ul.nav li:hover > ul {
  display: block;
  visibility: visible;
  opacity: 1;
  transform: translateY(20px);
  /* box-shadow: 0 6px 12px 0 rgb(0 0 0 / 18%); */
}

ul.nav ul li {
  /* min-width: 260px; */
  width: auto;
}

.desktop-navigation .sub-menu-item {
  padding: 0 10px;
  margin: 5px 0;
}

.desktop-navigation .sub-menu-item .border-bottom {
  padding: 10px 2px;
  border-bottom: none !important;
}

.desktop-navigation .sub-menu-item a:hover {
  font-weight: 400;
  /* border-left: 1px solid var(--pink); */
  padding: 10px 8px;
  font-style: italic;
}

.desktop-navigation .sub-menu-item a {
  display: block;
  transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transform: all 0.2s ease-in-out;
}

.desktop-navigation .sub-menu-item:last-of-type .border-bottom {
  border: 0 !important;
}

.brand-logo img {
  max-width: 277px;
}

.has-sub-sub-menu.sub-menu-item {
  padding-top: 10px;
}

.has-sub-sub-menu.sub-menu-item a {
  padding-bottom: 0;
}

ul.nav ul ul.sub-sub-menu {
  position: relative;
  min-width: 0;
  display: block;
  visibility: visible;
  margin-top: 0;
  padding-top: 0 !important;
  opacity: 1;
  transform: none;
  border: none;
  top: 0;
  left: 0;
}

ul.nav ul ul.sub-sub-menu a {
  color: #fff;
  font-size: 0.75em;
  font-weight: 400;
  padding: 0;
}

ul.nav ul ul.sub-sub-menu:before {
  display: none;
}

ul.nav ul ul.sub-sub-menu li:after {
  display: none;
}

/* Sub-Menu With Children */
ul.nav ul li.has-sub:after {
  content: "";
  position: absolute;
  right: 10px;
  top: calc(50% - 7px);
  border-bottom: 5px solid transparent;
  border-left: 5px solid var(--blue);
  border-top: 5px solid transparent;
}

/* Nav Extras */
header#masthead {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: var(--lightGray);
  /* background: transparent; */
}

#masthead.scrolled {
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  transition: all 0.1s ease-in-out;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  box-shadow:
    0 3px 6px rgba(0, 0, 0, 0.16),
    0 3px 6px rgba(0, 0, 0, 0.23);
}

#home header#masthead {
  background: transparent;
}

#masthead.scrolled .desktop-navigation .brand-logo img {
  max-width: 210px;
}

/* #masthead.scrolled .nav-bar {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
} */

.brand-logo img {
  transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
}

.brand-logo img:hover {
  opacity: 0.7;
}

/* #masthead.scrolled .brand-logo img {
	display: none;
}

#masthead.scrolled .brand-logo-color {
	display: block !important;
} */

.brand-logo-color img {
  max-width: 95px;
}

/* Nav - Mobile */
.navbar {
  padding: 0;
  position: unset;
}

#mobile-navigation {
  position: absolute;
  width: 100%;
  left: 0;
  top: 100%;
  /* overflow-y: scroll; */
  /* height: calc(100vh - 70px); */
  z-index: 2;
}

.mobile-navigation .btn-donate {
  color: rgba(11, 34, 57, 0.8) !important;
  background: transparent;
  border-top: none;
  border-right: none;
  border-bottom: 5px solid var(--blue);
  border-left: none;
  padding: 0 !important;
}

.mobile-navigation .btn-donate:hover,
.mobile-navigation .btn-donate:focus,
.mobile-navigation .btn-donate:active {
  color: var(--darkBlue) !important;
}

.mobile-nav .navbar-toggler {
  line-height: normal;
  width: auto;
  background: none;
}

.mobile-navigation .navbar-toggler {
  font-size: 1.5rem;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transform: all 0.3s ease-in-out;
}

.mobile-nav-btn {
  margin: 5px 15px;
  font-weight: 100;
  background: transparent !important;
}

.mobile-nav ul {
  list-style-type: none;
  padding: 30px 20px 10px 20px;
}

.mobile-nav li {
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-bottom: 0;
  border-right: 0 !important;
  padding: 10px 15px;
  color: #fff;
}

.mobile-nav li:nth-child(1) {
  border-top: 0 !important;
}

.mobile-nav li:nth-last-child(3),
.mobile-nav li:nth-last-child(2) {
  border: none !important;
}

li.sub-menu-item:first-of-type a {
  padding-top: 0;
}

.mobile-nav .menu-item-has-children:first-of-type {
  border: 0 !important;
}

.mobile-nav li a:after {
  display: none;
}

.mobile-nav ul li a {
  color: #fff;
  display: inline-block;
  z-index: 1;
  margin: 0;
  font-weight: 400;
}

.mobile-nav ul li a {
  color: #fff;
}

.mobile-nav ul li a:hover,
.mobile-nav ul li a:visited {
  padding-left: 7px;
}

.mobile-nav ul li a.btn-nav:hover,
.mobile-nav ul li a.btn-nav:visited {
  padding-left: 20px;
}

.mobile-nav ul ul {
  margin-left: -20px;
  margin-right: -20px;
  padding: 10px 20px 0;
}

.mobile-nav ul ul li {
  line-height: 1;
  border: 0;
}

.mobile-nav ul ul a {
  font-size: 0.875em;
  /* 14px */
}

.mobile-nav ul ul ul a {
  padding-left: 80px !important;
}

.mobile-nav .sub-menu-item:first-of-type {
  border: 0 !important;
}

.mobile-nav .sub-menu-item a {
  font-weight: 400;
}

.mobile-nav .sub-menu-item .sub-sub-menu {
  display: block !important;
  border: none !important;
}

.mobile-nav .sub-menu-item .sub-sub-menu-item a {
  font-size: 0.75em;
  padding-left: 25px !important;
}

.mobile-navigation .brand-logo img {
  max-width: 210px;
}

.mobile-nav li:nth-last-child(3),
.mobile-nav li:nth-last-child(2) {
  border: none !important;
}

.dropdown-caret svg {
  color: #fff;
  margin-left: 10px;
}

.dropdown-caret {
  padding-right: 20px;
  position: absolute;
  right: 0;
  display: inline-block;
  width: 100%;
  text-align: right;
  z-index: 999;
}

.mobile-social-menu {
  padding: 15px 0;
  margin: 25px -20px 0;
}

.social-nav {
  position: absolute;
  right: 30px;
}

/* Hamburger Bars */
#hamburger {
  width: 30px;
  height: 30px;
  position: relative;
  margin: 15px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
}

#hamburger span {
  display: block;
  position: absolute;
  height: 5px;
  width: 100%;
  background: #3b5465;
  border-radius: 10px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

#hamburger:hover span {
  background: #3b5465;
}

#hamburger span:nth-child(1) {
  top: 0px;
}

#hamburger span:nth-child(2) {
  top: 10px;
  width: 20px;
  left: 8px;
}

#hamburger span:nth-child(3) {
  top: 20px;
}

#hamburger.open span:nth-child(1) {
  top: 12px;
  background: #3b5465;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}

#hamburger.open span:nth-child(2) {
  opacity: 0;
  left: -60px;
  background: #3b5465;
}

#hamburger.open span:nth-child(3) {
  top: 12px;
  background: #3b5465;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

hr {
  opacity: 1;
}

/* Footer */

.footer .footer-logo-wrap.brand-logo img {
  max-width: 665px;
  width: 100%;
}

/* .footer .main-menu-item a.active {
  border-bottom: 3px solid var(--color-red);
} */

.footer .main-menu-item .sub-menu-item a {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14.5px;
  line-height: 1.65517;
  text-align: center;
  color: var(--darkGray);
}

/* .footer .main-menu-item .sub-menu-item a.active {
  color: #fff !important;
  font-weight: 700;
} */

/* .footer-wrap hr {
  border-top: 5px solid var(--blue);
  padding-bottom: 10px;
  margin-left: 15px;
  margin-right: 15px;
} */

.footer-wrap .main-menu-item a.active:after,
.footer-wrap .main-menu-item a.active:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  border-bottom: 3px solid #e93447;
}

/* ------------------------------ 
    2. End Global
------------------------------ */

/* ------------------------------ 
    3. Start Main Content
------------------------------ */
/* ------------------------------ 
    Videos/oEmbed
------------------------------ */
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}

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

/* ------------------------------ 
    Body
------------------------------ */

/* ------------------------------ 
    3. End Main Content
------------------------------ */
