/*
 Theme Name:   Sapphire Falls Web Design
 Description:  Child theme for Divi
 Author:       John Waraksa
 Template:     Divi
 Version:      1.01
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  sf
*/

/* --------------------------------------------------
 * External Links (Text Modules Only)
 * -------------------------------------------------- */

.et_pb_text a.external-link {
  padding-right: .2em;
}

/*.et_pb_text a.external-link::after {
  /*content: "\e03e";  ETmodules external icon */
 /* content: "\24";
  font-family: "ETmodules";
  font-size: .9em;
  line-height: 1;
  margin-left: .15em;
  display: inline-block;
  transform: translateY(-0.1em);
  color: var(--gcid-primary-color);
} */

.et_pb_text a.external-link::after {
  content: "\24"; /* up-right arrow */
  font-family: "ETmodules";
  font-size: .9em;
  margin-left: .15em;
  display: inline-block;
  transform: translateY(-0.1em) rotate(0deg);
  transition: transform 0.25s ease;
  color: var(--gcid-primary-color);
}

/* rotate on hover */
.et_pb_text a.external-link:hover::after {
  transform: translateY(-0.1em) rotate(-45deg);
}

/* --------------------------------------------------
 * Primary Menu Icon (First Item Only)
 * -------------------------------------------------- */

#et-top-navigation #top-menu > li:first-child > a {
  padding-left: 1.5em;
}

#et-top-navigation #top-menu > li:first-child > a::before {
  content: "\e074"; /* ETmodules home icon */
  font-family: "ETmodules";
  font-size: 1em;
  line-height: 1;
  margin-right: .25em;
  display: inline-block;
  transform: translateY(-10%);
  vertical-align: middle;
}

/* --------------------------------------------------
 * Typography Spacing (Text Modules)
 * -------------------------------------------------- */

/* Space before headings following content */
:where(.et_pb_text)
  :is(p, ul, ol, blockquote)
  ~ :is(h1, h2, h3, h4, h5, h6) {
  padding-top: .75em;
}

/* Normalize bottom spacing */
:where(.et_pb_text) p:last-of-type {
  padding-bottom: 1em;
}

:where(.et_pb_text)
  :is(p, ul, ol, blockquote):last-child {
  padding-bottom: 0;
}

/* --------------------------------------------------
 * Lists
 * -------------------------------------------------- */

:where(.et_pb_text) ::marker {
  color: var(--gcid-primary-color);
  font-family: var(--et_global_heading_font);
}

:where(.et_pb_text)
  :is(ol, ul) li:not(:last-child) {
  padding-bottom: .5em;
}

/* --------------------------------------------------
 * Blockquotes
 * -------------------------------------------------- */

:where(.et_pb_text) blockquote {
  position: relative;
  margin: .5em 0 1.5em;
  padding: 1em 1em;
  border: none;
}

:where(.et_pb_text) blockquote::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gcid-primary-color);
  opacity: .1;
  border-radius: 5px;
}

:where(.et_pb_text) blockquote::after {
  content: "\7b"; /* ETmodules quote icon */
  font-family: "ETmodules";
  font-size: 3.5em;
  line-height: 1;
  position: absolute;
  top: -.3em;
  left: -.2em;
  opacity: .8;
  color: var(--gcid-primary-color);
}

/* --------------------------------------------------
 * Links
 * -------------------------------------------------- */

:where(.et_pb_text) a {
  transition: text-underline-offset .2s linear;
  text-underline-offset: .24em;
  text-decoration-thickness: .1em;
}

:where(.et_pb_text) a:hover {
  text-underline-offset: .12em;
}