/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* UTILS ----------------------------------------- */

.hide-imp { display: none !important; }
.show-imp { display: block !important; }



/* COMMON ----------------------------------------- */
/* low specificity so it can be overridden */

/* TEXT */
h1:not(:last-child),
h2:not(:last-child),
h3:not(:last-child),
h4:not(:last-child),
h5:not(:last-child),
h6:not(:last-child),
p:not(:last-child),
.brxe-text-basic:not(:last-child) {
  margin-bottom: 3rem;
}

/* IMG */
img {
  border-radius: 8px;
}
@media only screen and (min-width: 1024px) {
  img {
    border-radius: 10px;
  }
}

/* TEXT CONTENT */
.brxe-text strong {
  font-weight: 500;
}

/* LISTS */
.brxe-text ul,
.brxe-text ol {
  padding-left: 20px;
}
@media only screen and (min-width: 1024px) {
  .brxe-text ul,
  .brxe-text ol {
    padding-left: 40px;
  }
}
.brxe-text li {
  padding-left: .9rem;
}
.brxe-text li::marker {
  font-size: .8em;
}


/* SCROLLSMOOTHER ----------------------------------------- */

#smooth-content {
  will-change : transform;
}


/* GRAVITY FORMS ----------------------------------------- */
/* recommended for overriding default: body .gform_wrapper .gform_body .gform_fields */
/* via https://docs.gravityforms.com/css-targeting-examples/ */

body .gform_wrapper .gform_required_legend {
  display: none;
}

body .gform_wrapper .gfield_label {
  font-size: clamp(16px, 14.421px + 0.439vw, 22px); /* --fs-label */
  font-weight: 400;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  display: flex;
  align-items: flex-start;
}

body .gform_wrapper .gfield_required {
  color: #E65F5C;
  font-size: 16px;
}

body .gform_wrapper .gchoice .gform-field-label {
  font-size: clamp(20px, 17.895px + 0.585vw, 28px);
  line-height: 1;
}

/* texty inputs */
body .gform_wrapper .gfield input[type="text"],
body .gform_wrapper .gfield input[type="email"],
body .gform_wrapper .gfield input[type="url"],
body .gform_wrapper .gfield input[type="tel"],
body .gform_wrapper .gfield input[type="number"] {
  background: transparent;
  border: 0;
  border-bottom: solid black 2px;
  border-radius: 0;
  box-shadow: none;
  font-size: clamp(16px, 14.947px + 0.292vw, 20px);
  outline: none;
  padding: 10px 0;
}
body .gform_wrapper .gfield textarea {
  background: transparent;
  border: 0;
  border-bottom: solid black 2px;
  border-radius: 0;
  box-shadow: none;
  font-size: 20px;
}
body .gform_wrapper .gfield textarea {
  background: rgba(201, 184, 163, 0.40);
  border-radius: 8px 8px 0 0;
}

/* select */
body .gform_wrapper select.gfield_select {
  font-size: clamp(16px, 14.421px + 0.439vw, 20px);
  font-weight: 400;
}

/* radio/checkboxes */
body .gform_wrapper .gfield input.gfield-choice-input {
  width: 25px;
  height: 25px;
  background: transparent;
  box-shadow: none;
  border: solid black 2px;
}
body .gform_wrapper .gfield input.gfield-choice-input:before {
  color: black !important;
  background: black !important;
  width: 14px;
  height: 14px;
}
input + .gform-field-label {
  margin-left: 15px !important;
}

body .gform_wrapper .gf_list_inline .gchoice {
  padding-inline-end: 30px !important;
}

/* description */
body .gform_wrapper .gfield_description {
  font-size: 16px;
}
body .gform_wrapper .gfield_description:not(.validation_message) {
  color: inherit;
}


/* Coupon */
td.gf_coupon_name_container *, .gf_coupon_discount {
  font-size: 16px !important;
  color: inherit !important;
}
input#gf_coupon_button {
  background: transparent;
  opacity: 1;
  border-radius: 100px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: solid black 1px;
  color: black;
  box-shadow: none;
}

.gform_footer {
  margin-top: 70px !important;
}

/* submit (custom button added in functions.php) */
.aion-gf-button {
  background: black !important;
  border-radius: 100px !important;
  color: white !important;
  text-transform: uppercase !important;
  font-size: var(--fs-button) !important;
  font-weight: 400 !important;
  letter-spacing: .5px !important;
  justify-content: space-between !important;
  padding: var(--button-padding-y) var(--button-padding-right) var(--button-padding-y) var(--button-padding-left) !important;
  gap:clamp(10px, -4.568px + 4.047vw, 55px) !important;
}
@media only screen and (min-width: 1024px) {
  .aion-gf-button {
    min-width: 400px !important;
  }
}
/* this needed because of annoying GF reset */
.aion-gf-button svg,
.aion-gf-button svg * {
  all: revert-layer !important;
}


/* BRICKS ACCORDION ----------------------------------------- */

:where(.brxe-accordion) .accordion-title {
  align-items: flex-start;
}

:where(.brxe-accordion) .accordion-title svg {
  transition: all 200ms;
}

:where(.brxe-accordion) .accordion-content-wrapper a {
  text-decoration: underline;
}

:where(.brxe-accordion) .accordion-content-wrapper strong {
  font-weight: 500;
}

:where(.brxe-accordion) .accordion-content-wrapper ul {
  list-style: disc;
}


/* BUTTONS ----------------------------------------- */

.aion-button {
  gap: clamp(10px, -4.568px + 4.047vw, 55px);
  justify-content: space-between;
  width: 100% !important;
}

@media only screen and (max-width: 1024px) {
  .aion-button svg {
    width: 37px !important;
    height: 37px !important;
  }
}

@media only screen and (min-width: 768px) {
  .aion-button {
    width: unset !important;
  }
}

@media only screen and (min-width: 1024px) {
  .aion-button {
    min-width: 400px;
  }
}


/* FOOTNOTES PLUGIN */

:root ol.footnotes {
  border-left: solid black 1px;
  color: inherit !important;
  font-style: italic;
  line-height: 1.4;
  margin-top: 60px;
}
:root ol.footnotes li {
  font-size: 90%;
  text-wrap: pretty;
}


/* CLIP BOX ----------------------------------------- */
/* clip path + ensure padding within */

.clipbox {
  clip-path: inset(8px round 8px);
  padding-top: 8px;
  padding-bottom: 8px;
  padding-right: var(--container-padding-x);
  padding-left: var(--container-padding-x);
}
.clipbox + .clipbox {
  margin-top: -8px;
}
@media only screen and (min-width: 1666px) {
  .clipbox {
    clip-path: inset(25px round 8px);
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .clipbox + .clipbox {
    margin-top: -25px;
  }
}


/* CUSTOM ANIMATIONS (added via functions.php) ----------------------------------------- */

/* Custom fadeInUp */
.brx-animate-aionFadeInUp {
  animation-name: aion-fade-in-up;
}

@keyframes aion-fade-in-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* GSAP SplitText (added via class, not interactions) */
/* data-builder-mode added so it doesn't happen within bricks builder */
body:not([data-builder-mode]) .splittext {
  opacity: 0;
  transition: all 1s;
}
body:not([data-builder-mode]) .splittext.active {
  opacity: 1;
}
body:not([data-builder-mode]) .splittext .split-parent {
  overflow: hidden;
}
body:not([data-builder-mode]) .splittext.complete .split-parent {
  overflow: visible;
}