/* The icons the live site draws out of Divi's ETmodules font, re-drawn as SVG.
 *
 * Divi ships its glyphs as a private-use icon font. That font is part of the
 * theme, and the point of this rebuild is to leave the theme behind, so every
 * glyph the pages use is re-cut here as an inline SVG mask instead. Masks, not
 * background images, so each one still takes its colour from the element the
 * way a font glyph does, including on hover.
 *
 * Loaded last, so it also overrides the per-page rules that would otherwise
 * print a private-use character through content: attr(data-icon).
 *
 * Seven social marks, a menu caret, a hamburger, two slider chevrons and the
 * three data-icon glyphs. That is every one the 66 pages use.
 */

/* --------------------------------------------------------------- machinery */

.et-social-icon a::before,
.et-menu .menu-item-has-children > a:first-child::after,
.mobile_menu_bar::before,
.et-pb-arrow-prev::before,
.et-pb-arrow-next::before,
body #page-container .et_pb_section .et_pb_button[data-icon]::before,
body .pum-container .et_pb_section .et_pb_button[data-icon]::before {
  content: "" !important;
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  font-family: inherit !important;
  vertical-align: middle;
}

/* ------------------------------------------------------------ social icons */

.et-social-icon a::before {
  width: 1em;
  height: 1em;
}

.et-social-facebook a.icon::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.1 8.4h-2.2V7c0-.6.4-.8.7-.8h1.5V3.9h-2c-2.3 0-2.8 1.7-2.8 2.8v1.7H8.9v2.4h1.4V21h2.6v-10.2h1.9l.3-2.4z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.1 8.4h-2.2V7c0-.6.4-.8.7-.8h1.5V3.9h-2c-2.3 0-2.8 1.7-2.8 2.8v1.7H8.9v2.4h1.4V21h2.6v-10.2h1.9l.3-2.4z"/></svg>');
}

/* The live footer still labels this one Twitter and draws the current X mark. */
.et-social-twitter a.icon::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.2 4h2.7l-5.9 6.7L21 20h-5.4l-4.3-5.6L6.4 20H3.7l6.3-7.2L3.3 4h5.6l3.9 5.1L17.2 4zm-1 14.4h1.5L8.9 5.5H7.3l8.9 12.9z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.2 4h2.7l-5.9 6.7L21 20h-5.4l-4.3-5.6L6.4 20H3.7l6.3-7.2L3.3 4h5.6l3.9 5.1L17.2 4zm-1 14.4h1.5L8.9 5.5H7.3l8.9 12.9z"/></svg>');
}

/* The child theme repoints the Google icon at a map pin, and links it at the
 * practice's Google listing rather than a Google+ profile. */
.et-social-google-plus a.icon::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2.6a6 6 0 0 0-6 6c0 4.5 6 12.8 6 12.8s6-8.3 6-12.8a6 6 0 0 0-6-6zm0 8.4a2.4 2.4 0 1 1 0-4.8 2.4 2.4 0 0 1 0 4.8z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2.6a6 6 0 0 0-6 6c0 4.5 6 12.8 6 12.8s6-8.3 6-12.8a6 6 0 0 0-6-6zm0 8.4a2.4 2.4 0 1 1 0-4.8 2.4 2.4 0 0 1 0 4.8z"/></svg>');
}

.et-social-youtube a.icon::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.6 8.4a2.5 2.5 0 0 0-1.8-1.8C18.2 6.2 12 6.2 12 6.2s-6.2 0-7.8.4a2.5 2.5 0 0 0-1.8 1.8A26 26 0 0 0 2 12a26 26 0 0 0 .4 3.6 2.5 2.5 0 0 0 1.8 1.8c1.6.4 7.8.4 7.8.4s6.2 0 7.8-.4a2.5 2.5 0 0 0 1.8-1.8A26 26 0 0 0 22 12a26 26 0 0 0-.4-3.6zM10 15V9l5.2 3-5.2 3z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.6 8.4a2.5 2.5 0 0 0-1.8-1.8C18.2 6.2 12 6.2 12 6.2s-6.2 0-7.8.4a2.5 2.5 0 0 0-1.8 1.8A26 26 0 0 0 2 12a26 26 0 0 0 .4 3.6 2.5 2.5 0 0 0 1.8 1.8c1.6.4 7.8.4 7.8.4s6.2 0 7.8-.4a2.5 2.5 0 0 0 1.8-1.8A26 26 0 0 0 22 12a26 26 0 0 0-.4-3.6zM10 15V9l5.2 3-5.2 3z"/></svg>');
}

.et-social-pinterest a.icon::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2.5a9.5 9.5 0 0 0-3.5 18.3c-.1-.8-.2-2 0-2.8l1.2-5s-.3-.6-.3-1.5c0-1.4.8-2.5 1.8-2.5.9 0 1.3.6 1.3 1.4 0 .9-.6 2.2-.9 3.4-.2 1 .5 1.9 1.5 1.9 1.9 0 3.2-2.4 3.2-5.2 0-2.1-1.4-3.7-4-3.7a4.6 4.6 0 0 0-4.8 4.6c0 .9.3 1.5.7 2 .2.2.2.3.1.5l-.2.8c0 .3-.2.4-.5.2-1.3-.5-1.9-2-1.9-3.6 0-2.7 2.3-6 6.8-6 3.6 0 6 2.6 6 5.4 0 3.7-2 6.4-5 6.4-1 0-2-.5-2.3-1.2l-.6 2.4c-.2.8-.7 1.8-1.1 2.4A9.5 9.5 0 1 0 12 2.5z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2.5a9.5 9.5 0 0 0-3.5 18.3c-.1-.8-.2-2 0-2.8l1.2-5s-.3-.6-.3-1.5c0-1.4.8-2.5 1.8-2.5.9 0 1.3.6 1.3 1.4 0 .9-.6 2.2-.9 3.4-.2 1 .5 1.9 1.5 1.9 1.9 0 3.2-2.4 3.2-5.2 0-2.1-1.4-3.7-4-3.7a4.6 4.6 0 0 0-4.8 4.6c0 .9.3 1.5.7 2 .2.2.2.3.1.5l-.2.8c0 .3-.2.4-.5.2-1.3-.5-1.9-2-1.9-3.6 0-2.7 2.3-6 6.8-6 3.6 0 6 2.6 6 5.4 0 3.7-2 6.4-5 6.4-1 0-2-.5-2.3-1.2l-.6 2.4c-.2.8-.7 1.8-1.1 2.4A9.5 9.5 0 1 0 12 2.5z"/></svg>');
}

.et-social-linkedin a.icon::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.9 20H4V9.4h2.9V20zM5.4 8.1a1.7 1.7 0 1 1 0-3.4 1.7 1.7 0 0 1 0 3.4zM20 20h-2.9v-5.2c0-1.2 0-2.8-1.7-2.8s-2 1.3-2 2.7V20H8.6V9.4h2.7v1.5h.1c.4-.8 1.4-1.6 2.8-1.6 3 0 3.6 2 3.6 4.5V20z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.9 20H4V9.4h2.9V20zM5.4 8.1a1.7 1.7 0 1 1 0-3.4 1.7 1.7 0 0 1 0 3.4zM20 20h-2.9v-5.2c0-1.2 0-2.8-1.7-2.8s-2 1.3-2 2.7V20H8.6V9.4h2.7v1.5h.1c.4-.8 1.4-1.6 2.8-1.6 3 0 3.6 2 3.6 4.5V20z"/></svg>');
}

.et-social-instagram a.icon::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 4.6c2.4 0 2.7 0 3.6.1.9 0 1.4.2 1.7.3.4.2.7.4 1 .7.3.3.5.6.7 1 .1.3.3.8.3 1.7 0 .9.1 1.2.1 3.6s0 2.7-.1 3.6c0 .9-.2 1.4-.3 1.7-.2.4-.4.7-.7 1-.3.3-.6.5-1 .7-.3.1-.8.3-1.7.3-.9 0-1.2.1-3.6.1s-2.7 0-3.6-.1c-.9 0-1.4-.2-1.7-.3-.4-.2-.7-.4-1-.7-.3-.3-.5-.6-.7-1-.1-.3-.3-.8-.3-1.7 0-.9-.1-1.2-.1-3.6s0-2.7.1-3.6c0-.9.2-1.4.3-1.7.2-.4.4-.7.7-1 .3-.3.6-.5 1-.7.3-.1.8-.3 1.7-.3.9 0 1.2-.1 3.6-.1M12 3c-2.4 0-2.8 0-3.7.1-.9 0-1.6.2-2.2.4-.6.2-1.1.5-1.6 1-.5.5-.8 1-1 1.6-.2.6-.4 1.3-.4 2.2C3 9.2 3 9.6 3 12s0 2.8.1 3.7c0 .9.2 1.6.4 2.2.2.6.5 1.1 1 1.6.5.5 1 .8 1.6 1 .6.2 1.3.4 2.2.4.9.1 1.3.1 3.7.1s2.8 0 3.7-.1c.9 0 1.6-.2 2.2-.4.6-.2 1.1-.5 1.6-1 .5-.5.8-1 1-1.6.2-.6.4-1.3.4-2.2.1-.9.1-1.3.1-3.7s0-2.8-.1-3.7c0-.9-.2-1.6-.4-2.2-.2-.6-.5-1.1-1-1.6-.5-.5-1-.8-1.6-1-.6-.2-1.3-.4-2.2-.4C14.8 3 14.4 3 12 3zm0 4.4a4.6 4.6 0 1 0 0 9.2 4.6 4.6 0 0 0 0-9.2zm0 7.6a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm5.8-7.8a1.1 1.1 0 1 1-2.2 0 1.1 1.1 0 0 1 2.2 0z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 4.6c2.4 0 2.7 0 3.6.1.9 0 1.4.2 1.7.3.4.2.7.4 1 .7.3.3.5.6.7 1 .1.3.3.8.3 1.7 0 .9.1 1.2.1 3.6s0 2.7-.1 3.6c0 .9-.2 1.4-.3 1.7-.2.4-.4.7-.7 1-.3.3-.6.5-1 .7-.3.1-.8.3-1.7.3-.9 0-1.2.1-3.6.1s-2.7 0-3.6-.1c-.9 0-1.4-.2-1.7-.3-.4-.2-.7-.4-1-.7-.3-.3-.5-.6-.7-1-.1-.3-.3-.8-.3-1.7 0-.9-.1-1.2-.1-3.6s0-2.7.1-3.6c0-.9.2-1.4.3-1.7.2-.4.4-.7.7-1 .3-.3.6-.5 1-.7.3-.1.8-.3 1.7-.3.9 0 1.2-.1 3.6-.1M12 3c-2.4 0-2.8 0-3.7.1-.9 0-1.6.2-2.2.4-.6.2-1.1.5-1.6 1-.5.5-.8 1-1 1.6-.2.6-.4 1.3-.4 2.2C3 9.2 3 9.6 3 12s0 2.8.1 3.7c0 .9.2 1.6.4 2.2.2.6.5 1.1 1 1.6.5.5 1 .8 1.6 1 .6.2 1.3.4 2.2.4.9.1 1.3.1 3.7.1s2.8 0 3.7-.1c.9 0 1.6-.2 2.2-.4.6-.2 1.1-.5 1.6-1 .5-.5.8-1 1-1.6.2-.6.4-1.3.4-2.2.1-.9.1-1.3.1-3.7s0-2.8-.1-3.7c0-.9-.2-1.6-.4-2.2-.2-.6-.5-1.1-1-1.6-.5-.5-1-.8-1.6-1-.6-.2-1.3-.4-2.2-.4C14.8 3 14.4 3 12 3zm0 4.4a4.6 4.6 0 1 0 0 9.2 4.6 4.6 0 0 0 0-9.2zm0 7.6a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm5.8-7.8a1.1 1.1 0 1 1-2.2 0 1.1 1.1 0 0 1 2.2 0z"/></svg>');
}

/* --------------------------------------------------------- menu and slider */

/* The caret on a menu item that has a submenu. */
.et-menu .menu-item-has-children > a:first-child::after {
  width: 10px;
  height: 10px;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"><path d="M1.5 4l4.5 4.5L10.5 4z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"><path d="M1.5 4l4.5 4.5L10.5 4z"/></svg>');
  top: 4px;
}

.et-menu li li.menu-item-has-children > a:first-child::after {
  top: 12px;
}

/* The mobile hamburger. Divi draws its glyph at font-size 32px, so the mask box
 * is 32px: at 28 it is visibly smaller than the live one. */
.mobile_menu_bar::before {
  width: 32px;
  height: 32px;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zM3 11h18v2H3zM3 16h18v2H3z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zM3 11h18v2H3zM3 16h18v2H3z"/></svg>');
}

.et-pb-arrow-prev::before,
.et-pb-arrow-next::before {
  width: 48px;
  height: 48px;
}

.et-pb-arrow-prev::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 4.6L14 3.2 5.2 12l8.8 8.8 1.4-1.4L8 12z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 4.6L14 3.2 5.2 12l8.8 8.8 1.4-1.4L8 12z"/></svg>');
}

.et-pb-arrow-next::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.6 4.6L10 3.2l8.8 8.8-8.8 8.8-1.4-1.4L16 12z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.6 4.6L10 3.2l8.8 8.8-8.8 8.8-1.4-1.4L16 12z"/></svg>');
}

/* ---------------------------------------------------- the data-icon buttons */

/* Three buttons carry a glyph: the header's Book Online Now (a calendar, and
 * the only one drawn from FontAwesome rather than ETmodules), and the home
 * page's Call and Make an Enquiry pair. Sized and offset to sit where the font
 * glyph sat, which the per-page CSS positions with margin-left: -1.3em. */
body #page-container .et_pb_section .et_pb_button[data-icon]::before,
body .pum-container .et_pb_section .et_pb_button[data-icon]::before {
  width: 1em;
  height: 1em;
  position: absolute;
  margin-left: -1.3em;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
}

/* f073, FontAwesome calendar */
body #page-container .et_pb_section .et_pb_button[data-icon="\f073"]::before,
body .pum-container .et_pb_section .et_pb_button[data-icon="\f073"]::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 2v2H5.5A2.5 2.5 0 0 0 3 6.5v13A2.5 2.5 0 0 0 5.5 22h13a2.5 2.5 0 0 0 2.5-2.5v-13A2.5 2.5 0 0 0 18.5 4H17V2h-2v2H9V2H7zm12 8v9.5c0 .3-.2.5-.5.5h-13a.5.5 0 0 1-.5-.5V10h14z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 2v2H5.5A2.5 2.5 0 0 0 3 6.5v13A2.5 2.5 0 0 0 5.5 22h13a2.5 2.5 0 0 0 2.5-2.5v-13A2.5 2.5 0 0 0 18.5 4H17V2h-2v2H9V2H7zm12 8v9.5c0 .3-.2.5-.5.5h-13a.5.5 0 0 1-.5-.5V10h14z"/></svg>');
}

/* e090, ETmodules handset */
body #page-container .et_pb_section .et_pb_button[data-icon="\e090"]::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.7.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.7.1.3 0 .7-.2 1l-2.3 2.1z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.7.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.7.1.3 0 .7-.2 1l-2.3 2.1z"/></svg>');
}

/* e07e, ETmodules pointer */
body #page-container .et_pb_section .et_pb_button[data-icon="\e07e"]::before {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 2l12 8.6-5 1.1 3 6.3-2.6 1.3-3-6.3-3.6 3.5z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 2l12 8.6-5 1.1 3 6.3-2.6 1.3-3-6.3-3.6 3.5z"/></svg>');
}

/* The generic hover arrow Divi slides in on buttons that do not disable it. */
.et_pb_button::after {
  content: "" !important;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.6 4.6L10 3.2l8.8 8.8-8.8 8.8-1.4-1.4L16 12z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.6 4.6L10 3.2l8.8 8.8-8.8 8.8-1.4-1.4L16 12z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  font-size: 1em;
  vertical-align: middle;
}

/* Divi's FAQ toggles. The child theme already redraws these as a rotating "+"
 * in Montserrat, so only the size and colour need restating here. */
.et_pb_toggle_title::before {
  content: "+" !important;
  font-family: 'Montserrat', 'Raleway', sans-serif !important;
}
