/*
Theme Name:   Thekganang
Theme URI:    http://lucidity.design
Description:  This is a custom child theme of Divi.
Author:       Richard George Davis
Author URI:   http://lucidity.design
Template:     Divi
Version:      2.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/
/*-- [   START - root   ] ---*/
:root {
  --color-1: #b75efe;
  --color-2: #f8f9fa;
  --color-3: #17bbb0;
  --color-4: #010540;
  --color-5: #02279e;
  --color-6: #6d7c90;
  --space-2xs: clamp(0.25rem,0.16rem + 0.43vw,0.5rem);
  --space-s: clamp(1rem,0.96rem + 0.22vw,1.125rem);
  --space-l: clamp(2rem,1.91rem + 0.43vw,2.25rem);
  --space-xl: clamp(3rem,2.87rem + 0.65vw,3.375rem);
  --size-base: clamp(1rem,0.96rem + 0.22vw,1.125rem);
  --size-step-5: clamp(0.8125rem,0.79rem + 0.11vw,0.875rem);
  --size-step-4: clamp(1.1875rem,1.12rem + 0.33vw,1.375rem);
  --size-step-3: clamp(1.4375rem,1.33rem + 0.54vw,1.75rem);
  --size-step-2: clamp(1.6875rem,1.51rem + 0.87vw,2.1875rem);
  --size-step-1: clamp(2.0625rem,1.85rem + 1.09vw,2.6875rem);
}

body .section_divider_1.section_has_divider.et_pb_top_divider .et_pb_top_inside_divider {
  top: -1px;
}

@media only screen and (max-width: 767px) {
  .section_divider_1.et_pb_section, .section_divider_2.et_pb_section, .section_divider_3.et_pb_section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
body.dipi-mobile-menu-fullscreen #mobile_menu {
  padding-top: 150px;
}

/*set the logo height and overlap on desktop*/
@media only screen and (min-width: 981px) {
  body #logo {
    min-height: 108%;
    margin-top: 10px;
  }
  .et-fixed-header#main-header #logo {
    margin-top: 5px;
  }
}
/*set the logo height and overlap on tablet and mobile*/
@media only screen and (max-width: 980px) {
  body #logo {
    max-height: 80%;
    width: auto;
    max-width: 80% !important;
  }
}
@media only screen and (min-width: 981px) {
  .et-fixed-header#main-header, .et-fixed-header#main-header .nav li ul, .et-fixed-header .et-search-form {
    background: linear-gradient(70deg, #010540 0%, #02279e 100%) !important;
  }
}
/*** Center Items Vertically ***/
.dp-vertical-align, .vertical-align {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/*** Reverse columns on mobiles ***/
@media screen and (max-width: 980px) {
  .reverse-columns {
    display: flex;
    flex-direction: column-reverse;
  }
}
/* DP Subheading */
.dp_subheading p:before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 8px;
  background: rgb(129, 111, 210);
  background: linear-gradient(90deg, #114fee 0%, #17bbb0 100%);
  left: 0;
  top: 35%;
  position: absolute;
  border-radius: 5px 20px;
}

.dp_subheading p {
  padding-left: 40px;
}

/*-- [   END - root   ] ---*/
/*--- [START - Base] ---*/
/* change color of text highlight */
::-moz-selection {
  color: var(--color-2);
  background: var(--color-1);
}

::selection {
  color: var(--color-2);
  background: var(--color-1);
}

/* fix Divi overflow */
#page-container {
  overflow: hidden;
}

@media all and (max-width: 980px) {
  html, body {
    overflow-x: hidden;
  }
  body {
    position: relative;
  }
}
/* Fix Divi Pixel logo on open mobile menu  */
@media screen and (max-width: 980px) {
  .logo_container {
    z-index: 99999999 !important;
    pointer-events: none;
  }
}
/* [ end Fixes ] */
/*-- [START - Custom styled text] ---*/
/* Top line */
.custom-styled-text-line:before {
  display: block;
  content: "";
  background: var(--color-1);
  height: 3px;
  width: 55px;
  margin-bottom: 20px;
}

/* Highlighted Link Animation Effect */
.custom-styled-text a:link {
  text-decoration: none;
  color: var(--color-1);
  background-image: linear-gradient(var(--color-1), var(--color-1)), linear-gradient(var(--color-3), var(--color-3));
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: 0% 2px, 100% 2px;
  transition: background-size 0.16s;
  position: relative;
}

.custom-styled-text a:link:hover,
.custom-styled-text a:link:focus {
  background-size: 100% 2px, 100% 100%;
  color: var(--color-2);
}

/*-- Font sizes ---*/
body .custom-styled-text {
  font-size: var(--size-base) !important;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-6);
}

.custom-styled-text :is(ul, ol) {
  font-size: calc(var(--size-base) * 0.85) !important;
}

.custom-styled-text h1 {
  font-size: var(--size-step-1);
}

.custom-styled-text h2 {
  font-size: var(--size-step-2);
}

.custom-styled-text h3 {
  font-size: var(--size-step-3);
  line-height: 1.2;
}

.custom-styled-text h4 {
  font-size: var(--size-step-4);
}

.custom-styled-text h5 {
  font-size: var(--size-step-5);
}

.custom-styled-text h6 {
  font-size: var(--size-step-6);
}

.custom-styled-text :is(h1, h2, h3, h4, h5, h6) {
  font-weight: 700;
  line-height: 1.2;
}

body #page-container .custom-styled-text :is(h1, h2, h3, h4, h5, h6):not(:last-child) {
  margin: 0px 0 var(--space-s) 0 !important;
  padding-bottom: 0 !important;
  padding: 0;
  text-wrap: balance;
}

/* body .custom-styled-text p:not(:last-child) {
  margin-top: 20px !important;
}

body .custom-styled-text p {
  margin-bottom: 0px;
} */
/*-- lists ---*/
.custom-styled-text :is(p + ul, p + ol) {
  margin-top: var(--space-s);
}

.custom-styled-text ul {
  list-style-type: none !important;
  list-style-position: inside;
  padding-left: calc(2em + 14px) !important;
  padding-bottom: 0em;
}

.custom-styled-text ul ul {
  margin: var(--space-2xs) 0 0;
}

.custom-styled-text ul > li {
  padding: 5.5px 0;
}

.custom-styled-text ul > li:before {
  content: "\e052" !important;
  color: var(--color-1);
  font-family: "ETMODULES" !important;
  margin-right: 14px !important;
  margin-left: -32px !important;
  font-size: 1.2em !important;
  padding: 5.5px 0 !important;
  position: relative;
  top: 4px;
}

.custom-styled-text ol {
  margin-top: var(--space-s);
  list-style-position: inside;
  padding-left: 27px !important;
  counter-reset: item;
  padding-bottom: 0em;
}

.custom-styled-text ol > li {
  margin: 0;
  padding: 5.5px 0 5.5px 1.2em;
  text-indent: -1.5em;
  list-style-type: none;
  counter-increment: item;
}

.custom-styled-text ol > li:before {
  display: inline-block;
  width: 1em;
  font-weight: bold;
  text-align: right;
  content: counter(item) ".";
  color: var(--color-1);
  margin-right: 18px !important;
  margin-left: -10px !important;
  padding: 3px 0 !important;
  top: 4px;
}

body .custom-styled-text ol > li > ul > li {
  text-indent: 0.2em;
}

.custom-styled-text ol ul {
  margin: var(--space-3xs) 0 0;
}

.custom-styled-text ol ul li {
  padding: 3px 0;
}

.custom-styled-text ol ul li:before {
  margin-right: 15px !important;
  margin-left: -43px !important;
}

@media (max-width: 49em) {
  .custom-styled-text a, .custom-styled-text > * {
    word-wrap: break-word;
    -webkit-hyphens: auto;
            hyphens: auto;
    overflow-wrap: break-word;
    word-break: break-word;
  }
}
/* legal */
.legal.custom-styled-text {
  font-size: calc(var(--size-base) * 0.85) !important;
}

.legal.custom-styled-text :is(ul, ol) {
  font-size: calc(var(--size-base) * 0.75) !important;
}

.legal.custom-styled-text h1 {
  font-size: calc(var(--size-step-1) * 0.75);
}

.legal.custom-styled-text h2 {
  font-size: calc(var(--size-step-2) * 0.75);
  padding-top: var(--space-xl) !important;
}

.legal.custom-styled-text h3 {
  font-size: calc(var(--size-step-3) * 0.75);
  padding-top: var(--space-l) !important;
}

.legal.custom-styled-text h4 {
  font-size: calc(var(--size-step-4) * 0.75);
}

.legal.custom-styled-text h5 {
  font-size: calc(var(--size-step-5) * 0.75);
}

.legal.custom-styled-text h6 {
  font-size: calc(var(--size-step-6) * 0.75);
}

.legal.custom-styled-text h2:before {
  display: block;
  content: "";
  background: var(--color-1);
  height: 3px;
  width: 55px;
  margin-bottom: 20px;
}

.legal.custom-styled-text ul {
  padding-left: var(--space-xl) !important;
}

.legal.custom-styled-text ul > li:before {
  content: "\e052" !important;
  color: var(--color-1);
  font-family: "ETMODULES" !important;
  margin-right: 14px !important;
  margin-left: -32px !important;
  font-size: 1.2em !important;
  padding: 5.5px 0 !important;
  position: relative;
  top: 4px;
}

.legal.custom-styled-text ol,
.legal.custom-styled-text ul {
  margin: var(--space-2xs) 0 0;
}

/*-- [   END - imports   ] ---*/
/* DP Sign Up Form */
/* Show right swiper arrow next to left arrow on testimonials carousel */
/* Creative Team Member */
/*** Blog Grid ***/
/***  Portfolio ***/
