/**
 * ELementor defined colours as of 30/01/2025
:root {
  --e-global-color-primary: #101828;    // 
  --e-global-color-secondary: #6941C6;  // 
  --e-global-color-text: #101828;       // 
  --e-global-color-accent: #CADD00;     // 
  --e-global-color-15cef93: #000000;    // base-black
  --e-global-color-879df71: #FFFFFF;    // base-white
  --e-global-color-1963539: #FCFAFF;    // brand-25
  --e-global-color-1ab2569: #F9F5FF;    // brand-50
  --e-global-color-c86e690: #F4EBFF;    // brand-100
  --e-global-color-ad477cf: #E9D7FE;    // brand-200
  --e-global-color-df5424d: #D6BBFB;    // brand-300
  --e-global-color-030edee: #B692F6;    // brand-400
  --e-global-color-2db927e: #9E77ED;    // brand-500
  --e-global-color-50c992f: #7F56D9;    // brand-600
  --e-global-color-491b5a6: #6941C6;    // brand-700
  --e-global-color-d22e199: #53389E;    // brand-800
  --e-global-color-1f3bd50: #42307D;    // brand-900
  --e-global-color-9bf112a: #2C1C5F;    // brand-950
  --e-global-color-37e3619: #FDFFEB;    // lime-25
  --e-global-color-235716e: #FAFFBF;    // lime-50
  --e-global-color-b043054: #F2FC90;    // lime-100
  --e-global-color-84c0e22: #E9F56A;    // lime-200
  --e-global-color-66dea0a: #DAE944;    // lime-300
  --e-global-color-57c7a56: #BDCF00;    // lime-400
  --e-global-color-a85d773: #BDCF00;    // lime-500
  --e-global-color-d5b8105: #ABBB00;    // lime-600
  --e-global-color-4ea9646: #818D00;    // lime-700
  --e-global-color-2228ff7: #5B6400;    // lime-800
  --e-global-color-2d165e8: #3F4500;    // lime-900
  --e-global-color-fef081e: #2B2F00;    // lime-950
  --e-global-color-7602a16: #FCFCFD;    // grey-25
  --e-global-color-e1bb6d5: #F9FAFB;    // grey-50
  --e-global-color-86f8342: #F2F4F7;    // grey-100
  --e-global-color-627e120: #E4E7EC;    // grey-200
  --e-global-color-00ad79f: #D0D5DD;    // grey-300
  --e-global-color-b83e6aa: #98A2B3;    // grey-400
  --e-global-color-3747a31: #667085;    // grey-500
  --e-global-color-274edd5: #475467;    // grey-600
  --e-global-color-0d18423: #344054;    // grey-700
  --e-global-color-f0d2f5b: #182230;    // grey-800
  --e-global-color-051249f: #101828;    // grey-900
  --e-global-color-239559a: #0C111D;    // grey-950
}
 */

/**
 * TYPOGRAPHY
 * These shoud ONLY be used in edge cases where the default typography is not suitable
 */
.h1,
.h1 .elementor-heading-title {
  font-size: 3rem  !important;
  line-height: 3.75rem  !important;
}

.h2,
.h2 .elementor-heading-title {
  font-size: 2.25rem !important;
  line-height: 2.275rem !important;
}

.h3,
.h3 .elementor-heading-title {
  font-size: 1.875rem  !important;
  line-height: 2.375rem !important;
}

.h4,
.h4 .elementor-heading-title {
  font-size: 1.5rem !important;
  line-height: 2rem !important;
}

.h5,
.h5 .elementor-heading-title {
  font-size: 1.25rem !important;
  line-height: 1.875rem  !important;
}

.h6,
.h6 .elementor-heading-title {
  font-size: 1.125rem !important;
  line-height: 1.875rem !important;
}

/**
 * GRID UTILITIES (allows quick classes for a 12 column grid in elementor)
 */
 
 .grid {
  display: grid;
  gap: 1rem;
 }
/* Default 12-column span for mobile */
.grid-1-2, .grid-1-3, .grid-1-4, .grid-1-5, .grid-1-6, .grid-1-7, .grid-1-8, .grid-1-9, .grid-1-10, .grid-1-11, .grid-1-12,
.grid-2-3, .grid-2-4, .grid-2-5, .grid-2-6, .grid-2-7, .grid-2-8, .grid-2-9, .grid-2-10, .grid-2-11, .grid-2-12,
.grid-3-4, .grid-3-5, .grid-3-6, .grid-3-7, .grid-3-8, .grid-3-9, .grid-3-10, .grid-3-11, .grid-3-12,
.grid-4-5, .grid-4-6, .grid-4-7, .grid-4-8, .grid-4-9, .grid-4-10, .grid-4-11, .grid-4-12,
.grid-5-6, .grid-5-7, .grid-5-8, .grid-5-9, .grid-5-10, .grid-5-11, .grid-5-12,
.grid-6-7, .grid-6-8, .grid-6-9, .grid-6-10, .grid-6-11, .grid-6-12,
.grid-7-8, .grid-7-9, .grid-7-10, .grid-7-11, .grid-7-12,
.grid-8-9, .grid-8-10, .grid-8-11, .grid-8-12,
.grid-9-10, .grid-9-11, .grid-9-12,
.grid-10-11, .grid-10-12,
.grid-11-12,
.grid-12 {
  grid-column: 1 / 13;
}

@media (min-width: 768px) {
  .grid:has(.e-con-inner) .e-con-inner { display:grid; grid-template-columns: repeat(12, 1fr); }
  .grid-1-2 { grid-column: 1 / 3; }
  .grid-1-3 { grid-column: 1 / 4; }
  .grid-1-4 { grid-column: 1 / 5; }
  .grid-1-5 { grid-column: 1 / 6; }
  .grid-1-6 { grid-column: 1 / 7; }
  .grid-1-7 { grid-column: 1 / 8; }
  .grid-1-8 { grid-column: 1 / 9; }
  .grid-1-9 { grid-column: 1 / 10; }
  .grid-1-10 { grid-column: 1 / 11; }
  .grid-1-11 { grid-column: 1 / 12; }
  .grid-1-12 { grid-column: 1 / 13; }
  .grid-2-3 { grid-column: 2 / 4; }
  .grid-2-4 { grid-column: 2 / 5; }
  .grid-2-5 { grid-column: 2 / 6; }
  .grid-2-6 { grid-column: 2 / 7; }
  .grid-2-7 { grid-column: 2 / 8; }
  .grid-2-8 { grid-column: 2 / 9; }
  .grid-2-9 { grid-column: 2 / 10; }
  .grid-2-10 { grid-column: 2 / 11; }
  .grid-2-11 { grid-column: 2 / 12; }
  .grid-2-12 { grid-column: 2 / 13; }
  .grid-3-4 { grid-column: 3 / 5; }
  .grid-3-5 { grid-column: 3 / 6; }
  .grid-3-6 { grid-column: 3 / 7; }
  .grid-3-7 { grid-column: 3 / 8; }
  .grid-3-8 { grid-column: 3 / 9; }
  .grid-3-9 { grid-column: 3 / 10; }
  .grid-3-10 { grid-column: 3 / 11; }
  .grid-3-11 { grid-column: 3 / 12; }
  .grid-3-12 { grid-column: 3 / 13; }
  .grid-4-5 { grid-column: 4 / 6; }
  .grid-4-6 { grid-column: 4 / 7; }
  .grid-4-7 { grid-column: 4 / 8; }
  .grid-4-8 { grid-column: 4 / 9; }
  .grid-4-9 { grid-column: 4 / 10; }
  .grid-4-10 { grid-column: 4 / 11; }
  .grid-4-11 { grid-column: 4 / 12; }
  .grid-4-12 { grid-column: 4 / 13; }
  .grid-5-6 { grid-column: 5 / 7; }
  .grid-5-7 { grid-column: 5 / 8; }
  .grid-5-8 { grid-column: 5 / 9; }
  .grid-5-9 { grid-column: 5 / 10; }
  .grid-5-10 { grid-column: 5 / 11; }
  .grid-5-11 { grid-column: 5 / 12; }
  .grid-5-12 { grid-column: 5 / 13; }
  .grid-6-7 { grid-column: 6 / 8; }
  .grid-6-8 { grid-column: 6 / 9; }
  .grid-6-9 { grid-column: 6 / 10; }
  .grid-6-10 { grid-column: 6 / 11; }
  .grid-6-11 { grid-column: 6 / 12; }
  .grid-6-12 { grid-column: 6 / 13; }
  .grid-7-8 { grid-column: 7 / 9; }
  .grid-7-9 { grid-column: 7 / 10; }
  .grid-7-10 { grid-column: 7 / 11; }
  .grid-7-11 { grid-column: 7 / 12; }
  .grid-7-12 { grid-column: 7 / 13; }
  .grid-8-9 { grid-column: 8 / 10; }
  .grid-8-10 { grid-column: 8 / 11; }
  .grid-8-11 { grid-column: 8 / 12; }
  .grid-8-12 { grid-column: 8 / 13; }
  .grid-9-10 { grid-column: 9 / 11; }
  .grid-9-11 { grid-column: 9 / 12; }
  .grid-9-12 { grid-column: 9 / 13; }
  .grid-10-11 { grid-column: 10 / 12; }
  .grid-10-12 { grid-column: 10 / 13; }
  .grid-11-12 { grid-column: 11 / 13; }
  .grid-12 { grid-column: 12 / 13; }
}

/* remove rounded corners */
.not-rounded {
  border-radius: 0 !important;
}

/* hide on mobile */
html .hide-on-mobile {
  display: none;
}
@media (min-width: 768px) {
  .hide-on-mobile {
    display: unset;
  }
}

/* hide elements based on logged in status */
.logged-in .hide-logged-in,
.logged-out .hide-logged-out {
  display: none;
}

/* no wrap */
.no-wrap {
  white-space: nowrap;
}

/**
 * BUTTONS
 */
[type=button],
[type=submit],
button,
.button,
body *.hello-child-button,
html .elementor-posts .elementor-post__read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: var(--e-global-color-2db927e);
  border-color: var(--e-global-color-2db927e);
  font-family: var(--e-global-typography-primary-font-family), sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75rem;
  color: #fff;
  text-decoration: none;
  border-style: solid;
  border-width: 1px;
  border-radius: 8px 8px 8px 8px;
  padding: 1rem 1.5rem;
  transition: all 0.3s ease;

  svg path { transition: all 0.3s ease; }
  svg path[fill] { fill: #fff; }
  svg path[stroke] { stroke: #fff; }

  &:hover,
  &:focus {
    background-color: var(--e-global-color-491b5a6);
    border-color: var(--e-global-color-491b5a6);
    color: #fff;

    svg path[fill] { fill: #fff; }
    svg path[stroke] { stroke: #fff; }
  }
}
[type=button].button--alt,
[type=submit].button--alt,
button.button--alt,
.button.button--alt,
body *.hello-child-button.button--alt,
html .elementor-posts .elementor-post__read-more.button--alt{
  background-color: #fff;
  border-color: var(--e-global-color-00ad79f);
  color: var(--e-global-color-text);

  svg path[fill] { fill: var(--e-global-color-text); }
  svg path[stroke] { stroke: var(--e-global-color-text); }

  &:hover,
  &:focus {
    background-color: var(--e-global-color-e1bb6d5);
    border-color: var(--e-global-color-00ad79f);
    color: var(--e-global-color-text);

    svg path[fill] { fill: var(--e-global-color-text); }
    svg path[stroke] { stroke: var(--e-global-color-text); }
  }
}
[type=button].button--danger,
[type=submit].button--danger,
button.button--danger,
.button.button--danger,
body *.hello-child-button.button--danger,
html .elementor-posts .elementor-post__read-more.button--danger{
  background-color: #fff;
  border-color: #FDA29B;
  color: #B42318;

  svg path[fill] { fill: #B42318; }
  svg path[stroke] { stroke: #B42318; }

  &:hover,
  &:focus {
    background-color: #fef3f2;
    border-color: #FDA29B;
    color: #B42318;

    svg path[fill] { fill: #B42318; }
    svg path[stroke] { stroke: #B42318; }
  }
}
[type=button].button--nostyle,
[type=submit].button--nostyle,
button.button--nostyle,
.button.button--nostyle,
body *.hello-child-button.button--nostyle,
html .elementor-posts .elementor-post__read-more.button--nostyle{
  background-color: transparent;
  border-color: transparent;
  color: var(--e-global-color-text);

  svg path[fill] { fill: var(--e-global-color-text); }
  svg path[stroke] { stroke: var(--e-global-color-text); }

  &:hover,
  &:focus {
    background-color: transparent;
    border-color: transparent;
    color: var(--e-global-color-text);

    svg path[fill] { fill: var(--e-global-color-text); }
    svg path[stroke] { stroke: var(--e-global-color-text); }
  }
}