/*
Theme Name: Justin Mather Official
Theme URI: https://justinmathermusic.com
Author: Justin Mather Team
Author URI: https://justinmathermusic.com
Description: Official WordPress Theme for Justin Mather - Americana, Indie Rock & Producer. Includes full discography with streaming links, audio player, video showcase, photo gallery, collaborations, and sync inquiry form.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: justin-mather
*/

/* ==========================================================================
   JUSTIN MATHER - OFFICIAL ARTIST WEBSITE
   Brand Colors: Blue, White, Green, Maroon, Purple
   Clean, simple, professional Americana & Indie Rock aesthetic
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,400;1,600&family=Outfit:wght@400;500;600;700&display=swap');

:root {
  /* Brand Color Palette */
  --color-blue-deep: #0e1927;
  --color-blue-primary: #1e3a5f;
  --color-blue-accent: #2563eb;
  --color-blue-light: #eff6ff;

  --color-white: #ffffff;
  --color-cream: #faf9f5;
  --color-sand: #f3efe6;

  --color-maroon: #7a1f33;
  --color-maroon-dark: #5c1424;
  --color-maroon-light: #fae8eb;

  --color-green: #235d46;
  --color-green-light: #eaf4ef;
  --color-green-accent: #10b981;

  --color-purple: #4c2866;
  --color-purple-dark: #371a4d;
  --color-purple-light: #f5effb;

  /* Neutrals & UI */
  --text-primary: #1a202c;
  --text-secondary: #4a5568;
  --text-muted: #718096;
  --text-inverse: #ffffff;

  --bg-primary: #ffffff;
  --bg-secondary: #f8fafc;
  --bg-dark: #0f172a;
  --bg-dark-surface: #1e293b;

  --border-light: #e2e8f0;
  --border-medium: #cbd5e1;

  /* Typography */
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-heading: 'Outfit', sans-serif;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -1px rgba(0,0,0,0.04);
  --shadow-lg: 0 10px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.04);
  --shadow-xl: 0 20px 35px -10px rgba(14,25,39,0.18);

  /* Layout */
  --container-max: 1400px;
  --header-height: 80px;
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 9999px;
}

/* ==========================================================================
   Base & Reset
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-sans);
  color: var(--text-primary);
  background-color: var(--bg-primary);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: var(--transition);
}

ul, ol {
  list-style: none;
}

button, input, textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* ==========================================================================
   Layout & Container
   ========================================================================== */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.container-narrow {
  max-width: 860px;
}

.container-wide {
  max-width: 1360px;
}

.section {
  padding: 90px 0;
}

.section-sm {
  padding: 50px 0;
}

.section-dark {
  background-color: var(--color-blue-deep);
  color: var(--text-inverse);
}

.section-cream {
  background-color: var(--color-cream);
}

.section-sand {
  background-color: var(--color-sand);
}

/* ==========================================================================
   Typography
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.25;
}

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4 {
  color: var(--text-inverse);
}

h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.85rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.35rem, 2.5vw, 1.75rem); }
h4 { font-size: 1.25rem; }

.section-header {
  text-align: center;
  margin-bottom: 54px;
}

.section-header.text-left {
  text-align: left;
}

.section-subtitle {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-maroon);
  margin-bottom: 12px;
}

.section-dark .section-subtitle {
  color: #f4b4c0;
}

.section-title {
  position: relative;
  margin-bottom: 16px;
}

.section-header p.lead {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.125rem;
  color: var(--text-secondary);
}

.section-dark .section-header p.lead {
  color: #cbd5e1;
}

/* ==========================================================================
   Buttons & Badges
   ========================================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 28px;
  font-family: var(--font-heading);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  border-radius: var(--radius-full);
  cursor: pointer;
  border: 1px solid transparent;
  transition: var(--transition);
  text-align: center;
  white-space: nowrap;
}

.btn-primary {
  background-color: var(--color-blue-primary);
  color: var(--color-white);
  box-shadow: 0 4px 14px rgba(30, 58, 95, 0.25);
}

.btn-primary:hover {
  background-color: #152943;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(30, 58, 95, 0.35);
  color: var(--color-white);
}

.btn-maroon {
  background-color: var(--color-maroon);
  color: var(--color-white);
  box-shadow: 0 4px 14px rgba(122, 31, 51, 0.3);
}

.btn-maroon:hover {
  background-color: var(--color-maroon-dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(122, 31, 51, 0.45);
  color: var(--color-white);
}

.btn-green {
  background-color: var(--color-green);
  color: var(--color-white);
}

.btn-green:hover {
  background-color: #174231;
  transform: translateY(-2px);
  color: var(--color-white);
}

.btn-purple {
  background-color: var(--color-purple);
  color: var(--color-white);
}

.btn-purple:hover {
  background-color: var(--color-purple-dark);
  transform: translateY(-2px);
  color: var(--color-white);
}

.btn-outline {
  background-color: transparent;
  border-color: var(--border-medium);
  color: var(--text-primary);
}

.btn-outline:hover {
  border-color: var(--color-blue-primary);
  background-color: var(--color-blue-primary);
  color: var(--color-white);
}

.btn-outline-white {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.4);
  color: var(--color-white);
}

.btn-outline-white:hover {
  border-color: var(--color-white);
  background-color: var(--color-white);
  color: var(--color-blue-deep);
}

.btn-sm {
  padding: 8px 18px;
  font-size: 0.85rem;
}

.btn-lg {
  padding: 15px 36px;
  font-size: 1.05rem;
}

.btn-icon {
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Streaming Specific Buttons */
.btn-spotify {
  background-color: #1db954;
  color: #ffffff;
}
.btn-spotify:hover {
  background-color: #1aa34a;
  transform: translateY(-2px);
  color: #ffffff;
}

.btn-apple {
  background-color: #000000;
  color: #ffffff;
}
.btn-apple:hover {
  background-color: #222222;
  transform: translateY(-2px);
  color: #ffffff;
}

.btn-youtube {
  background-color: #ff0000;
  color: #ffffff;
}
.btn-youtube:hover {
  background-color: #cc0000;
  transform: translateY(-2px);
  color: #ffffff;
}

/* Badges */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: var(--radius-full);
}

.badge-gold {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  color: #854d0e;
  border: 1px solid #facc15;
}

.badge-maroon {
  background-color: var(--color-maroon-light);
  color: var(--color-maroon);
}

.badge-green {
  background-color: var(--color-green-light);
  color: var(--color-green);
}

.badge-blue {
  background-color: var(--color-blue-light);
  color: var(--color-blue-primary);
}

.badge-purple {
  background-color: var(--color-purple-light);
  color: var(--color-purple);
}

/* ==========================================================================
   Header & Top Navigation
   ========================================================================== */
.site-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  background-color: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(226, 232, 240, 0.8);
  z-index: 1000;
  transition: var(--transition);
}

.site-header.scrolled {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  height: 72px;
}

.site-header .container {
  max-width: var(--container-max);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 2vw, 36px);
  height: 100%;
  min-width: 0;
}

/* Brand / Logo */
.site-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  text-decoration: none;
}

.brand-logo-img {
  height: 48px;
  max-width: 160px;
  width: auto;
  object-fit: contain;
}

.brand-text {
  display: flex;
  flex-direction: column;
}

.brand-name {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-blue-deep);
  letter-spacing: 0.5px;
  line-height: 1.1;
  white-space: nowrap;
}

.brand-tagline {
  font-family: var(--font-heading);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--color-maroon);
  white-space: nowrap;
}

/* Nav Menu */
.nav-menu {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.4vw, 24px);
  flex-shrink: 1;
  min-width: 0;
}

.nav-link {
  font-family: var(--font-heading);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--text-secondary);
  letter-spacing: 0.3px;
  position: relative;
  padding: 6px 0;
  white-space: nowrap;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--color-maroon);
  transition: width 0.25s ease;
}

.nav-link:hover,
.nav-link.active {
  color: var(--color-blue-deep);
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

/* Header CTAs */
.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.mobile-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 1.6rem;
  color: var(--color-blue-deep);
  cursor: pointer;
  padding: 6px;
}

/* Mobile Nav Drawer */
.mobile-nav {
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: 100%;
  background-color: #ffffff;
  border-bottom: 1px solid var(--border-light);
  box-shadow: var(--shadow-lg);
  padding: 24px;
  display: none;
  flex-direction: column;
  gap: 16px;
  z-index: 999;
}

.mobile-nav.open {
  display: flex;
}

.mobile-nav .nav-link {
  font-size: 1.1rem;
  padding: 10px 0;
  border-bottom: 1px solid #f1f5f9;
}

/* ==========================================================================
   Page Banner (for inner pages)
   ========================================================================== */
.page-banner {
  background: linear-gradient(135deg, var(--color-blue-deep) 0%, #172b47 100%);
  color: var(--color-white);
  padding: 70px 0;
  position: relative;
  overflow: hidden;
}

.page-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 85% 30%, rgba(122, 31, 51, 0.25) 0%, transparent 60%),
                    radial-gradient(circle at 15% 70%, rgba(76, 40, 102, 0.25) 0%, transparent 60%);
  pointer-events: none;
}

.page-banner-content {
  position: relative;
  z-index: 2;
  text-align: center;
}

.page-banner-title {
  color: #ffffff;
  margin-bottom: 12px;
}

.page-banner-desc {
  max-width: 650px;
  margin: 0 auto;
  font-size: 1.15rem;
  color: #cbd5e1;
}

.breadcrumb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.85rem;
  color: #94a3b8;
  margin-bottom: 14px;
  font-family: var(--font-heading);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.breadcrumb a {
  color: #e2e8f0;
}

.breadcrumb a:hover {
  color: #ffffff;
}

/* ==========================================================================
   Hero Section (Homepage)
   ========================================================================== */
.hero-section {
  position: relative;
  background: linear-gradient(135deg, #0b131e 0%, #162438 60%, #1f1b2e 100%);
  color: #ffffff;
  padding: 110px 0 100px;
  overflow: hidden;
}

.hero-bg-overlay {
  position: absolute;
  inset: 0;
  background-image: 
    radial-gradient(circle at 20% 40%, rgba(122, 31, 51, 0.3) 0%, transparent 50%),
    radial-gradient(circle at 80% 60%, rgba(35, 93, 70, 0.25) 0%, transparent 50%),
    radial-gradient(circle at 50% 80%, rgba(76, 40, 102, 0.3) 0%, transparent 60%);
  pointer-events: none;
}

.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: center;
  gap: 50px;
}

.hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 8px 18px;
  border-radius: var(--radius-full);
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #fce7f3;
  margin-bottom: 24px;
}

.hero-title {
  color: #ffffff;
  font-size: clamp(2.6rem, 5.5vw, 4rem);
  line-height: 1.15;
  margin-bottom: 20px;
  font-weight: 700;
}

.hero-title span {
  font-style: italic;
  color: #fbcfe8;
  font-weight: 500;
}

.hero-roles {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  color: #93c5fd;
  margin-bottom: 22px;
  letter-spacing: 1px;
}

.hero-description {
  font-size: 1.125rem;
  color: #e2e8f0;
  line-height: 1.7;
  margin-bottom: 34px;
  max-width: 560px;
}

.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 40px;
}

/* Quick Streaming Links */
.hero-streaming-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 24px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.hero-streaming-label {
  font-family: var(--font-heading);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #94a3b8;
  font-weight: 600;
}

.hero-streaming-icons {
  display: flex;
  gap: 12px;
}

.streaming-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ffffff;
  transition: var(--transition);
}

.streaming-icon-link:hover {
  background: var(--color-white);
  color: var(--color-blue-deep);
  transform: translateY(-2px);
}

/* Hero Image Card */
.hero-media-wrapper {
  position: relative;
}

.hero-image-frame {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.hero-image-frame img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}

/* Floating Award Ribbon */
.hero-award-floating {
  position: absolute;
  bottom: -24px;
  left: -20px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  padding: 16px 22px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xl);
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 320px;
  border: 1px solid rgba(234, 179, 8, 0.3);
  z-index: 5;
}

.award-badge-img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  flex-shrink: 0;
}

.award-badge-text {
  font-family: var(--font-heading);
}

.award-badge-title {
  font-size: 0.82rem;
  font-weight: 800;
  color: #854d0e;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.2;
}

.award-badge-sub {
  font-size: 0.76rem;
  color: var(--text-secondary);
  line-height: 1.3;
}

/* ==========================================================================
   Award Spotlight Banner
   ========================================================================== */
.award-spotlight-bar {
  background: linear-gradient(90deg, #5c1424 0%, #7a1f33 50%, #4c2866 100%);
  color: #ffffff;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.award-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.award-bar-left {
  display: flex;
  align-items: center;
  gap: 18px;
}

.award-bar-icon {
  font-size: 2rem;
  color: #facc15;
}

.award-bar-headline {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff;
}

.award-bar-desc {
  font-size: 0.9rem;
  color: #fce7f3;
}

/* ==========================================================================
   Music & Discography Cards
   ========================================================================== */
.album-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}

.album-card {
  background: #ffffff;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border-light);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}

.album-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-xl);
  border-color: rgba(30, 58, 95, 0.2);
}

.album-cover-wrapper {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: #0f172a;
}

.album-cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.album-card:hover .album-cover-img {
  transform: scale(1.05);
}

.album-overlay {
  position: absolute;
  inset: 0;
  background: rgba(14, 25, 39, 0.85);
  backdrop-filter: blur(4px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 24px;
  opacity: 0;
  transition: var(--transition);
}

.album-card:hover .album-overlay {
  opacity: 1;
}

.album-overlay-title {
  color: #ffffff;
  font-family: var(--font-serif);
  font-size: 1.2rem;
  text-align: center;
}

.album-overlay-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  max-width: 200px;
}

.album-overlay-links .btn {
  width: 100%;
  padding: 8px 16px;
  font-size: 0.82rem;
}

.album-badge-corner {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
}

.album-info {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.album-title {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  margin-bottom: 6px;
  color: var(--text-primary);
}

.album-meta {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-maroon);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.album-desc {
  font-size: 0.92rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 20px;
  flex-grow: 1;
}

.album-streaming-btns {
  display: flex;
  align-items: center;
  gap: 8px;
  border-top: 1px solid var(--border-light);
  padding-top: 16px;
}

.album-streaming-btns .btn {
  flex: 1;
  padding: 8px 10px;
  font-size: 0.78rem;
  gap: 5px;
}

/* Featured Release Hero Spotlight */
.featured-album-box {
  background: linear-gradient(135deg, #ffffff 0%, var(--color-sand) 100%);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(122, 31, 51, 0.2);
  padding: 48px;
  box-shadow: var(--shadow-lg);
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 60px;
}

.featured-cover-area {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
}

.featured-cover-area img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.featured-content-area {
  display: flex;
  flex-direction: column;
}

.featured-tracklist {
  margin: 20px 0 28px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: var(--radius-md);
  padding: 16px 20px;
  border: 1px solid rgba(226, 232, 240, 0.8);
}

.track-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.9rem;
}

.track-item:last-child {
  border-bottom: none;
}

.track-number {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-maroon);
  width: 24px;
}

.track-name {
  flex-grow: 1;
  font-weight: 500;
  color: var(--text-primary);
}

.track-duration {
  font-size: 0.82rem;
  color: var(--text-muted);
}

/* ==========================================================================
   Interactive Audio Player Bar
   ========================================================================== */
.audio-player-widget {
  background: var(--color-blue-deep);
  color: #ffffff;
  border-radius: var(--radius-lg);
  padding: 24px 32px;
  box-shadow: var(--shadow-xl);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 48px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.player-track-info {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 240px;
}

.player-thumb {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-sm);
  object-fit: cover;
}

.player-title {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.2;
}

.player-artist {
  font-size: 0.82rem;
  color: #94a3b8;
}

.player-controls {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-grow: 1;
  max-width: 560px;
}

.player-btn {
  background: none;
  border: none;
  color: #ffffff;
  cursor: pointer;
  font-size: 1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}

.player-btn:hover {
  color: #fbcfe8;
}

.player-btn-play {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--color-maroon);
  color: #ffffff;
  font-size: 1.1rem;
}

.player-btn-play:hover {
  background: #9f1239;
  transform: scale(1.05);
}

.player-progress-bar {
  flex-grow: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.progress-track {
  flex-grow: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
  cursor: pointer;
  position: relative;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--color-maroon), #ec4899);
  border-radius: 3px;
  width: 35%;
  position: relative;
}

.time-display {
  font-size: 0.75rem;
  font-family: var(--font-heading);
  color: #94a3b8;
}

/* ==========================================================================
   Videos Page & Showcase
   ========================================================================== */
.video-featured-frame {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
  margin-bottom: 50px;
  background-color: #000;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--border-light);
}

.video-featured-frame iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.video-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.video-card {
  background: #ffffff;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border-light);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}

.video-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
}

.video-thumb-wrapper {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #000;
  cursor: pointer;
}

.video-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.video-card:hover .video-thumb-img {
  transform: scale(1.05);
}

.video-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255, 0, 0, 0.9);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  transition: var(--transition);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

.video-card:hover .video-play-btn {
  background: #ff0000;
  transform: translate(-50%, -50%) scale(1.15);
}

.video-card-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.video-category {
  font-family: var(--font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-maroon);
  margin-bottom: 6px;
  letter-spacing: 1px;
}

.video-title {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  line-height: 1.35;
  color: var(--text-primary);
  margin-bottom: 10px;
}

.video-meta {
  font-size: 0.82rem;
  color: var(--text-muted);
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* ==========================================================================
   Gallery Page & Lightbox
   ========================================================================== */
.gallery-filters {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 40px;
}

.gallery-filter-btn {
  padding: 8px 22px;
  border-radius: var(--radius-full);
  background: #f1f5f9;
  border: 1px solid var(--border-light);
  color: var(--text-secondary);
  font-family: var(--font-heading);
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
}

.gallery-filter-btn:hover,
.gallery-filter-btn.active {
  background: var(--color-blue-primary);
  color: #ffffff;
  border-color: var(--color-blue-primary);
}

.gallery-masonry {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.gallery-item {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  background-color: #0f172a;
  cursor: pointer;
  aspect-ratio: 1 / 1;
}

.gallery-item.span-2 {
  grid-column: span 2;
  grid-row: span 2;
}

.gallery-item.landscape {
  aspect-ratio: 4 / 3;
}

.gallery-item.portrait {
  aspect-ratio: 3 / 4;
}

.gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.gallery-item:hover .gallery-img {
  transform: scale(1.08);
}

.gallery-hover-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(14, 25, 39, 0.9) 0%, rgba(14, 25, 39, 0.2) 60%, transparent 100%);
  opacity: 0;
  transition: var(--transition);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  color: #ffffff;
}

.gallery-item:hover .gallery-hover-overlay {
  opacity: 1;
}

.gallery-caption-title {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 600;
}

.gallery-caption-tag {
  font-size: 0.75rem;
  color: #fbcfe8;
  font-family: var(--font-heading);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Lightbox Modal */
.lightbox-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.94);
  backdrop-filter: blur(8px);
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}

.lightbox-modal.active {
  display: flex;
}

.lightbox-content {
  position: relative;
  max-width: 90vw;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lightbox-img {
  max-width: 100%;
  max-height: 75vh;
  object-fit: contain;
  border-radius: var(--radius-sm);
  box-shadow: 0 10px 40px rgba(0,0,0,0.5);
}

.lightbox-caption {
  color: #ffffff;
  font-family: var(--font-serif);
  font-size: 1.15rem;
  margin-top: 16px;
  text-align: center;
}

.lightbox-close {
  position: absolute;
  top: 24px;
  right: 28px;
  background: none;
  border: none;
  color: #ffffff;
  font-size: 2.5rem;
  cursor: pointer;
  z-index: 2010;
}

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.15);
  border: none;
  color: #ffffff;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  cursor: pointer;
  transition: var(--transition);
}

.lightbox-nav:hover {
  background: rgba(255, 255, 255, 0.3);
}

.lightbox-prev { left: 24px; }
.lightbox-next { right: 24px; }

/* ==========================================================================
   Collaborations & TV/Film Credits Page
   ========================================================================== */
.collab-featured-card {
  background: #ffffff;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-light);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  display: grid;
  grid-template-columns: 420px 1fr;
  margin-bottom: 48px;
  transition: var(--transition);
}

.collab-featured-card:hover {
  box-shadow: var(--shadow-xl);
  border-color: rgba(76, 40, 102, 0.3);
}

.collab-img-side {
  position: relative;
  min-height: 380px;
}

.collab-img-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.collab-info-side {
  padding: 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.collab-metric-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--color-purple-light);
  color: var(--color-purple);
  padding: 6px 14px;
  border-radius: var(--radius-full);
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 700;
  margin-bottom: 14px;
}

.collab-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 40px;
}

.collab-card {
  background: #ffffff;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-light);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}

.collab-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: rgba(30, 58, 95, 0.2);
}

.collab-card-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.collab-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.collab-card-category {
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-maroon);
  margin-bottom: 8px;
  letter-spacing: 1px;
}

.collab-card-title {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  margin-bottom: 12px;
}

.collab-card-desc {
  font-size: 0.92rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 20px;
  flex-grow: 1;
}

/* Placements list (TV/Film) */
.credits-table-box {
  background: #ffffff;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-light);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  margin-top: 48px;
}

.credits-table-header {
  background: var(--color-blue-deep);
  color: #ffffff;
  padding: 24px 32px;
}

.credits-table-header h3 {
  color: #ffffff;
  margin-bottom: 6px;
}

.credits-table-header p {
  color: #94a3b8;
  font-size: 0.9rem;
}

.credits-table {
  width: 100%;
  border-collapse: collapse;
}

.credits-table th,
.credits-table td {
  padding: 16px 24px;
  text-align: left;
  border-bottom: 1px solid #f1f5f9;
}

.credits-table th {
  background: #f8fafc;
  font-family: var(--font-heading);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-secondary);
}

.credits-table td {
  font-size: 0.92rem;
  color: var(--text-primary);
}

.credits-table tr:hover td {
  background-color: #fdf2f4;
}

/* ==========================================================================
   About Page & Bio
   ========================================================================== */
.about-hero-grid {
  display: grid;
  grid-template-columns: 460px 1fr;
  gap: 56px;
  align-items: flex-start;
  margin-bottom: 60px;
}

.about-portrait-card {
  position: sticky;
  top: 100px;
}

.about-portrait-frame {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
  border: 1px solid var(--border-light);
  margin-bottom: 20px;
}

.about-portrait-frame img {
  width: 100%;
  height: 540px;
  object-fit: cover;
  object-position: center top;
}

.about-quick-facts {
  background: var(--color-sand);
  border-radius: var(--radius-md);
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.fact-item {
  display: flex;
  margin-bottom: 12px;
  font-size: 0.9rem;
}

.fact-item:last-child {
  margin-bottom: 0;
}

.fact-label {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-blue-deep);
  width: 130px;
  flex-shrink: 0;
}

.fact-value {
  color: var(--text-secondary);
}

.about-text-content {
  font-size: 1.08rem;
  line-height: 1.8;
  color: #2d3748;
}

.about-text-content p {
  margin-bottom: 24px;
}

.about-pullquote {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.4rem;
  color: var(--color-maroon);
  border-left: 4px solid var(--color-maroon);
  padding-left: 24px;
  margin: 36px 0;
  line-height: 1.6;
}

/* Timeline / Milestones */
.timeline-section {
  position: relative;
  margin-top: 50px;
}

.timeline-track {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
}

.timeline-track::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: var(--border-medium);
  transform: translateX(-50%);
}

.timeline-item {
  position: relative;
  margin-bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 50%;
  padding-right: 36px;
}

.timeline-item:nth-child(even) {
  margin-left: 50%;
  justify-content: flex-start;
  padding-right: 0;
  padding-left: 36px;
}

.timeline-dot {
  position: absolute;
  top: 50%;
  right: -8px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--color-maroon);
  border: 3px solid #ffffff;
  box-shadow: 0 0 0 2px var(--color-maroon);
  z-index: 2;
}

.timeline-item:nth-child(even) .timeline-dot {
  right: auto;
  left: -8px;
}

.timeline-content-card {
  background: #ffffff;
  border-radius: var(--radius-md);
  padding: 20px 24px;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border-light);
  max-width: 360px;
}

.timeline-year {
  font-family: var(--font-heading);
  font-weight: 800;
  color: var(--color-maroon);
  font-size: 0.9rem;
  margin-bottom: 4px;
}

.timeline-title {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  margin-bottom: 8px;
}

.timeline-text {
  font-size: 0.88rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* ==========================================================================
   Contact Page & Form
   ========================================================================== */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 50px;
  align-items: flex-start;
}

.contact-info-card {
  background: linear-gradient(135deg, var(--color-blue-deep) 0%, #1a2a40 100%);
  color: #ffffff;
  border-radius: var(--radius-lg);
  padding: 44px;
  box-shadow: var(--shadow-xl);
}

.contact-info-card h3 {
  color: #ffffff;
  margin-bottom: 14px;
}

.contact-info-card p {
  color: #cbd5e1;
  font-size: 0.98rem;
  line-height: 1.7;
  margin-bottom: 32px;
}

.contact-detail-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 40px;
}

.contact-detail-item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.contact-icon-box {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #93c5fd;
  font-size: 1.2rem;
  flex-shrink: 0;
}

.contact-detail-text h4 {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.contact-detail-text p,
.contact-detail-text a {
  font-size: 1.05rem;
  color: #ffffff;
  font-weight: 500;
  margin-bottom: 0;
}

.contact-detail-text a:hover {
  color: #fbcfe8;
}

.contact-form-box {
  background: #ffffff;
  border-radius: var(--radius-lg);
  padding: 44px;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border-light);
}

.form-group {
  margin-bottom: 22px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-label {
  display: block;
  font-family: var(--font-heading);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.form-control {
  width: 100%;
  padding: 13px 18px;
  border: 1px solid var(--border-medium);
  border-radius: var(--radius-sm);
  background-color: #ffffff;
  color: var(--text-primary);
  transition: var(--transition);
}

.form-control:focus {
  outline: none;
  border-color: var(--color-blue-primary);
  box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.15);
}

textarea.form-control {
  resize: vertical;
  min-height: 140px;
}

.form-alert {
  padding: 14px 18px;
  border-radius: var(--radius-sm);
  margin-bottom: 20px;
  display: none;
  font-size: 0.92rem;
}

.form-alert.show {
  display: block !important;
}

.form-alert.success {
  background-color: var(--color-green-light);
  color: var(--color-green);
  border: 1px solid #a7f3d0;
}

.form-alert.error {
  background-color: var(--color-maroon-light);
  color: var(--color-maroon);
  border: 1px solid #fecdd3;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer {
  background-color: var(--color-blue-deep);
  color: #cbd5e1;
  padding: 80px 0 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-top {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
  gap: 48px;
  margin-bottom: 60px;
}

.footer-brand-title {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  color: #ffffff;
  margin-bottom: 12px;
}

.footer-brand-desc {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #94a3b8;
  margin-bottom: 24px;
  max-width: 320px;
}

.footer-heading {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #ffffff;
  margin-bottom: 20px;
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-links a {
  font-size: 0.92rem;
  color: #94a3b8;
  transition: var(--transition);
}

.footer-links a:hover {
  color: #ffffff;
  padding-left: 4px;
}

.footer-social-row {
  display: flex;
  gap: 12px;
}

.footer-social-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.1rem;
  transition: var(--transition);
}

.footer-social-btn:hover {
  background: var(--color-white);
  color: var(--color-blue-deep);
  transform: translateY(-3px);
}

.footer-newsletter-form {
  display: flex;
  gap: 8px;
  margin-top: 14px;
}

.footer-newsletter-form input {
  flex-grow: 1;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  font-size: 0.88rem;
}

.footer-newsletter-form input:focus {
  outline: none;
  border-color: #93c5fd;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 0.85rem;
  color: #64748b;
}

/* ==========================================================================
   Responsive Media Queries
   ========================================================================== */
@media (max-width: 1240px) {
  .brand-tagline {
    display: none;
  }
  .nav-menu {
    gap: 14px;
  }
  .nav-link {
    font-size: 0.88rem;
  }
  .header-actions {
    gap: 8px;
  }
  .header-actions .btn-sm {
    padding: 7px 12px;
    font-size: 0.82rem;
  }
}

@media (max-width: 1024px) {
  .nav-menu,
  .header-actions .btn {
    display: none;
  }
  .mobile-toggle {
    display: block;
  }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .hero-media-wrapper {
    order: -1;
    max-width: 520px;
    margin: 0 auto;
  }
  .album-grid,
  .video-grid,
  .collab-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .gallery-masonry {
    grid-template-columns: repeat(3, 1fr);
  }
  .about-hero-grid {
    grid-template-columns: 1fr;
  }
  .about-portrait-card {
    position: static;
    max-width: 480px;
    margin: 0 auto 40px;
  }
  .featured-album-box,
  .collab-featured-card {
    grid-template-columns: 1fr;
    padding: 32px;
  }
  .footer-top {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .section {
    padding: 60px 0;
  }
  .album-grid,
  .video-grid,
  .collab-grid {
    grid-template-columns: 1fr;
  }
  .gallery-masonry {
    grid-template-columns: repeat(2, 1fr);
  }
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .form-row {
    grid-template-columns: 1fr;
  }
  .timeline-track::before {
    left: 20px;
  }
  .timeline-item,
  .timeline-item:nth-child(even) {
    width: 100%;
    margin-left: 0;
    padding-left: 50px;
    padding-right: 0;
    justify-content: flex-start;
  }
  .timeline-dot,
  .timeline-item:nth-child(even) .timeline-dot {
    left: 12px;
    right: auto;
  }
  .audio-player-widget {
    flex-direction: column;
    align-items: stretch;
    padding: 20px;
  }
  .footer-top {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width: 480px) {
  .gallery-masonry {
    grid-template-columns: 1fr;
  }
  .hero-award-floating {
    position: static;
    margin-top: 16px;
    max-width: 100%;
  }
}

/* ==========================================================================
   100% Guaranteed Vector Icons System (Zero-Dependency & CORS-Proof)
   Renders crisp vector SVGs via CSS masks and SVG-JS engine.
   Eliminates all missing character boxes / striped glyph boxes permanently.
   ========================================================================== */

/* Standard SVG inline styling for FontAwesome SVG Engine */
svg.svg-inline--fa {
  display: inline-block;
  height: 1em;
  overflow: visible;
  vertical-align: -0.125em;
  fill: currentColor;
}

.btn svg.svg-inline--fa,
.btn i[class*="fa-"] {
  margin-right: 6px;
}

.footer-social-btn svg.svg-inline--fa,
.footer-social-btn i[class*="fa-"] {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
}

.video-play-btn svg.svg-inline--fa,
.video-play-btn i[class*="fa-"] {
  width: 1.4rem;
  height: 1.4rem;
  margin-left: 2px;
}

/* Base i tag vector icon styles */
i[class*="fa-"] {
  display: inline-block;
  vertical-align: -0.125em;
  line-height: 1;
  background-color: currentColor;
}

/* Prevent any broken glyph / box characters from ever displaying */
i[class*="fa-"]::before {
  content: "" !important;
  display: none !important;
}

/* Icon: spotify */
i.fa-spotify,
i[class*="fa-spotify"] {
  width: 0.969em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath fill='%23000' d='M248%208C111.1%208%200%20119.1%200%20256s111.1%20248%20248%20248%20248-111.1%20248-248S384.9%208%20248%208zm100.7%20364.9c-4.2%200-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9%201-9%202.6-11.9%202.6-9.7%200-15.8-7.7-15.8-15.8%200-10.3%206.1-15.2%2013.6-16.8%2081.9-18.1%20165.6-16.5%20237%2026.2%206.1%203.9%209.7%207.4%209.7%2016.5s-7.1%2015.4-15.2%2015.4zm26.9-65.6c-5.2%200-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8%201.3-7.4%202.6-11.9%202.6-10.7%200-19.4-8.7-19.4-19.4s5.2-17.8%2015.5-20.7c27.8-7.8%2056.2-13.6%2097.8-13.6%2064.9%200%20127.6%2016.1%20177%2045.5%208.1%204.8%2011.3%2011%2011.3%2019.7-.1%2010.8-8.5%2019.5-19.4%2019.5zm31-76.2c-5.2%200-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6%201-8.1%202.6-12.9%202.6-13.2%200-23.3-10.3-23.3-23.6%200-13.6%208.4-21.3%2017.4-23.9%2035.2-10.3%2074.6-15.2%20117.5-15.2%2073%200%20149.5%2015.2%20205.4%2047.8%207.8%204.5%2012.9%2010.7%2012.9%2022.6%200%2013.6-11%2023.3-23.2%2023.3z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath fill='%23000' d='M248%208C111.1%208%200%20119.1%200%20256s111.1%20248%20248%20248%20248-111.1%20248-248S384.9%208%20248%208zm100.7%20364.9c-4.2%200-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9%201-9%202.6-11.9%202.6-9.7%200-15.8-7.7-15.8-15.8%200-10.3%206.1-15.2%2013.6-16.8%2081.9-18.1%20165.6-16.5%20237%2026.2%206.1%203.9%209.7%207.4%209.7%2016.5s-7.1%2015.4-15.2%2015.4zm26.9-65.6c-5.2%200-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8%201.3-7.4%202.6-11.9%202.6-10.7%200-19.4-8.7-19.4-19.4s5.2-17.8%2015.5-20.7c27.8-7.8%2056.2-13.6%2097.8-13.6%2064.9%200%20127.6%2016.1%20177%2045.5%208.1%204.8%2011.3%2011%2011.3%2019.7-.1%2010.8-8.5%2019.5-19.4%2019.5zm31-76.2c-5.2%200-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6%201-8.1%202.6-12.9%202.6-13.2%200-23.3-10.3-23.3-23.6%200-13.6%208.4-21.3%2017.4-23.9%2035.2-10.3%2074.6-15.2%20117.5-15.2%2073%200%20149.5%2015.2%20205.4%2047.8%207.8%204.5%2012.9%2010.7%2012.9%2022.6%200%2013.6-11%2023.3-23.2%2023.3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: apple */
i.fa-apple,
i[class*="fa-apple"] {
  width: 0.750em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M318.7%20268.7c-.2-36.7%2016.4-64.4%2050-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3%2020.7-88.5%2020.7-15%200-49.4-19.7-76.4-19.7C63.3%20141.2%204%20184.8%204%20273.5q0%2039.3%2014.4%2081.2c12.8%2036.7%2059%20126.7%20107.2%20125.2%2025.2-.6%2043-17.9%2075.8-17.9%2031.8%200%2048.3%2017.9%2076.4%2017.9%2048.6-.7%2090.4-82.5%20102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4%2024.8-61.9%2024-72.5-24.1%201.4-52%2016.4-67.9%2034.9-17.5%2019.8-27.8%2044.3-25.6%2071.9%2026.1%202%2049.9-11.4%2069.5-34.3z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M318.7%20268.7c-.2-36.7%2016.4-64.4%2050-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3%2020.7-88.5%2020.7-15%200-49.4-19.7-76.4-19.7C63.3%20141.2%204%20184.8%204%20273.5q0%2039.3%2014.4%2081.2c12.8%2036.7%2059%20126.7%20107.2%20125.2%2025.2-.6%2043-17.9%2075.8-17.9%2031.8%200%2048.3%2017.9%2076.4%2017.9%2048.6-.7%2090.4-82.5%20102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4%2024.8-61.9%2024-72.5-24.1%201.4-52%2016.4-67.9%2034.9-17.5%2019.8-27.8%2044.3-25.6%2071.9%2026.1%202%2049.9-11.4%2069.5-34.3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: youtube */
i.fa-youtube,
i[class*="fa-youtube"] {
  width: 1.125em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M549.655%20124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781%2064%20288%2064%20288%2064S117.22%2064%2074.629%2075.486c-23.497%206.322-42.003%2024.947-48.284%2048.597-11.412%2042.867-11.412%20132.305-11.412%20132.305s0%2089.438%2011.412%20132.305c6.281%2023.65%2024.787%2041.5%2048.284%2047.821C117.22%20448%20288%20448%20288%20448s170.78%200%20213.371-11.486c23.497-6.321%2042.003-24.171%2048.284-47.821%2011.412-42.867%2011.412-132.305%2011.412-132.305s0-89.438-11.412-132.305zm-317.51%20213.508V175.185l142.739%2081.205-142.739%2081.201z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M549.655%20124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781%2064%20288%2064%20288%2064S117.22%2064%2074.629%2075.486c-23.497%206.322-42.003%2024.947-48.284%2048.597-11.412%2042.867-11.412%20132.305-11.412%20132.305s0%2089.438%2011.412%20132.305c6.281%2023.65%2024.787%2041.5%2048.284%2047.821C117.22%20448%20288%20448%20288%20448s170.78%200%20213.371-11.486c23.497-6.321%2042.003-24.171%2048.284-47.821%2011.412-42.867%2011.412-132.305%2011.412-132.305s0-89.438-11.412-132.305zm-317.51%20213.508V175.185l142.739%2081.205-142.739%2081.201z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: play */
i.fa-play,
i[class*="fa-play"] {
  width: 0.750em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M73%2039c-14.8-9.1-33.4-9.4-48.5-.9S0%2062.6%200%2080V432c0%2017.4%209.4%2033.4%2024.5%2041.9s33.7%208.1%2048.5-.9L361%20297c14.3-8.7%2023-24.2%2023-41s-8.7-32.2-23-41L73%2039z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M73%2039c-14.8-9.1-33.4-9.4-48.5-.9S0%2062.6%200%2080V432c0%2017.4%209.4%2033.4%2024.5%2041.9s33.7%208.1%2048.5-.9L361%20297c14.3-8.7%2023-24.2%2023-41s-8.7-32.2-23-41L73%2039z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: award */
i.fa-award,
i[class*="fa-award"] {
  width: 0.750em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M173.8%205.5c11-7.3%2025.4-7.3%2036.4%200L228%2017.2c6%203.9%2013%205.8%2020.1%205.4l21.3-1.3c13.2-.8%2025.6%206.4%2031.5%2018.2l9.6%2019.1c3.2%206.4%208.4%2011.5%2014.7%2014.7L344.5%2083c11.8%205.9%2019%2018.3%2018.2%2031.5l-1.3%2021.3c-.4%207.1%201.5%2014.2%205.4%2020.1l11.8%2017.8c7.3%2011%207.3%2025.4%200%2036.4L366.8%20228c-3.9%206-5.8%2013-5.4%2020.1l1.3%2021.3c.8%2013.2-6.4%2025.6-18.2%2031.5l-19.1%209.6c-6.4%203.2-11.5%208.4-14.7%2014.7L301%20344.5c-5.9%2011.8-18.3%2019-31.5%2018.2l-21.3-1.3c-7.1-.4-14.2%201.5-20.1%205.4l-17.8%2011.8c-11%207.3-25.4%207.3-36.4%200L156%20366.8c-6-3.9-13-5.8-20.1-5.4l-21.3%201.3c-13.2%20.8-25.6-6.4-31.5-18.2l-9.6-19.1c-3.2-6.4-8.4-11.5-14.7-14.7L39.5%20301c-11.8-5.9-19-18.3-18.2-31.5l1.3-21.3c.4-7.1-1.5-14.2-5.4-20.1L5.5%20210.2c-7.3-11-7.3-25.4%200-36.4L17.2%20156c3.9-6%205.8-13%205.4-20.1l-1.3-21.3c-.8-13.2%206.4-25.6%2018.2-31.5l19.1-9.6C65%2070.2%2070.2%2065%2073.4%2058.6L83%2039.5c5.9-11.8%2018.3-19%2031.5-18.2l21.3%201.3c7.1%20.4%2014.2-1.5%2020.1-5.4L173.8%205.5zM272%20192a80%2080%200%201%200%20-160%200%2080%2080%200%201%200%20160%200zM1.3%20441.8L44.4%20339.3c.2%20.1%20.3%20.2%20.4%20.4l9.6%2019.1c11.7%2023.2%2036%2037.3%2062%2035.8l21.3-1.3c.2%200%20.5%200%20.7%20.2l17.8%2011.8c5.1%203.3%2010.5%205.9%2016.1%207.7l-37.6%2089.3c-2.3%205.5-7.4%209.2-13.3%209.7s-11.6-2.2-14.8-7.2L74.4%20455.5l-56.1%208.3c-5.7%20.8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248%2060.4L211.7%20413c5.6-1.8%2011-4.3%2016.1-7.7l17.8-11.8c.2-.1%20.4-.2%20.7-.2l21.3%201.3c26%201.5%2050.3-12.6%2062-35.8l9.6-19.1c.1-.2%20.2-.3%20.4-.4l43.2%20102.5c2.2%205.3%201.4%2011.4-2.1%2016s-9.3%206.9-15%206l-56.1-8.3-32.2%2049.2c-3.2%205-8.9%207.7-14.8%207.2s-11-4.3-13.3-9.7z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M173.8%205.5c11-7.3%2025.4-7.3%2036.4%200L228%2017.2c6%203.9%2013%205.8%2020.1%205.4l21.3-1.3c13.2-.8%2025.6%206.4%2031.5%2018.2l9.6%2019.1c3.2%206.4%208.4%2011.5%2014.7%2014.7L344.5%2083c11.8%205.9%2019%2018.3%2018.2%2031.5l-1.3%2021.3c-.4%207.1%201.5%2014.2%205.4%2020.1l11.8%2017.8c7.3%2011%207.3%2025.4%200%2036.4L366.8%20228c-3.9%206-5.8%2013-5.4%2020.1l1.3%2021.3c.8%2013.2-6.4%2025.6-18.2%2031.5l-19.1%209.6c-6.4%203.2-11.5%208.4-14.7%2014.7L301%20344.5c-5.9%2011.8-18.3%2019-31.5%2018.2l-21.3-1.3c-7.1-.4-14.2%201.5-20.1%205.4l-17.8%2011.8c-11%207.3-25.4%207.3-36.4%200L156%20366.8c-6-3.9-13-5.8-20.1-5.4l-21.3%201.3c-13.2%20.8-25.6-6.4-31.5-18.2l-9.6-19.1c-3.2-6.4-8.4-11.5-14.7-14.7L39.5%20301c-11.8-5.9-19-18.3-18.2-31.5l1.3-21.3c.4-7.1-1.5-14.2-5.4-20.1L5.5%20210.2c-7.3-11-7.3-25.4%200-36.4L17.2%20156c3.9-6%205.8-13%205.4-20.1l-1.3-21.3c-.8-13.2%206.4-25.6%2018.2-31.5l19.1-9.6C65%2070.2%2070.2%2065%2073.4%2058.6L83%2039.5c5.9-11.8%2018.3-19%2031.5-18.2l21.3%201.3c7.1%20.4%2014.2-1.5%2020.1-5.4L173.8%205.5zM272%20192a80%2080%200%201%200%20-160%200%2080%2080%200%201%200%20160%200zM1.3%20441.8L44.4%20339.3c.2%20.1%20.3%20.2%20.4%20.4l9.6%2019.1c11.7%2023.2%2036%2037.3%2062%2035.8l21.3-1.3c.2%200%20.5%200%20.7%20.2l17.8%2011.8c5.1%203.3%2010.5%205.9%2016.1%207.7l-37.6%2089.3c-2.3%205.5-7.4%209.2-13.3%209.7s-11.6-2.2-14.8-7.2L74.4%20455.5l-56.1%208.3c-5.7%20.8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248%2060.4L211.7%20413c5.6-1.8%2011-4.3%2016.1-7.7l17.8-11.8c.2-.1%20.4-.2%20.7-.2l21.3%201.3c26%201.5%2050.3-12.6%2062-35.8l9.6-19.1c.1-.2%20.2-.3%20.4-.4l43.2%20102.5c2.2%205.3%201.4%2011.4-2.1%2016s-9.3%206.9-15%206l-56.1-8.3-32.2%2049.2c-3.2%205-8.9%207.7-14.8%207.2s-11-4.3-13.3-9.7z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: trophy */
i.fa-trophy,
i[class*="fa-trophy"] {
  width: 1.125em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M400%200H176c-26.5%200-48.1%2021.8-47.1%2048.2c.2%205.3%20.4%2010.6%20.7%2015.8H24C10.7%2064%200%2074.7%200%2088c0%2092.6%2033.5%20157%2078.5%20200.7c44.3%2043.1%2098.3%2064.8%20138.1%2075.8c23.4%206.5%2039.4%2026%2039.4%2045.6c0%2020.9-17%2037.9-37.9%2037.9H192c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032H384c17.7%200%2032-14.3%2032-32s-14.3-32-32-32H357.9C337%20448%20320%20431%20320%20410.1c0-19.6%2015.9-39.2%2039.4-45.6c39.9-11%2093.9-32.7%20138.2-75.8C542.5%20245%20576%20180.6%20576%2088c0-13.3-10.7-24-24-24H446.4c.3-5.2%20.5-10.4%20.7-15.8C448.1%2021.8%20426.5%200%20400%200zM48.9%20112h84.4c9.1%2090.1%2029.2%20150.3%2051.9%20190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1%20254.3c-22.4%2021.8-48.3%2037.3-73.2%2048.3c22.7-40.3%2042.8-100.5%2051.9-190.6h84.4c-5.1%2066.3-31.1%20111.2-63%20142.3z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M400%200H176c-26.5%200-48.1%2021.8-47.1%2048.2c.2%205.3%20.4%2010.6%20.7%2015.8H24C10.7%2064%200%2074.7%200%2088c0%2092.6%2033.5%20157%2078.5%20200.7c44.3%2043.1%2098.3%2064.8%20138.1%2075.8c23.4%206.5%2039.4%2026%2039.4%2045.6c0%2020.9-17%2037.9-37.9%2037.9H192c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032H384c17.7%200%2032-14.3%2032-32s-14.3-32-32-32H357.9C337%20448%20320%20431%20320%20410.1c0-19.6%2015.9-39.2%2039.4-45.6c39.9-11%2093.9-32.7%20138.2-75.8C542.5%20245%20576%20180.6%20576%2088c0-13.3-10.7-24-24-24H446.4c.3-5.2%20.5-10.4%20.7-15.8C448.1%2021.8%20426.5%200%20400%200zM48.9%20112h84.4c9.1%2090.1%2029.2%20150.3%2051.9%20190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1%20254.3c-22.4%2021.8-48.3%2037.3-73.2%2048.3c22.7-40.3%2042.8-100.5%2051.9-190.6h84.4c-5.1%2066.3-31.1%20111.2-63%20142.3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: headphones */
i.fa-headphones,
i[class*="fa-headphones"] {
  width: 1.000em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256%2080C149.9%2080%2062.4%20159.4%2049.6%20262c9.4-3.8%2019.6-6%2030.4-6c26.5%200%2048%2021.5%2048%2048V432c0%2026.5-21.5%2048-48%2048c-44.2%200-80-35.8-80-80V384%20336%20288C0%20146.6%20114.6%2032%20256%2032s256%20114.6%20256%20256v48%2048%2016c0%2044.2-35.8%2080-80%2080c-26.5%200-48-21.5-48-48V304c0-26.5%2021.5-48%2048-48c10.8%200%2021%202.1%2030.4%206C449.6%20159.4%20362.1%2080%20256%2080z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256%2080C149.9%2080%2062.4%20159.4%2049.6%20262c9.4-3.8%2019.6-6%2030.4-6c26.5%200%2048%2021.5%2048%2048V432c0%2026.5-21.5%2048-48%2048c-44.2%200-80-35.8-80-80V384%20336%20288C0%20146.6%20114.6%2032%20256%2032s256%20114.6%20256%20256v48%2048%2016c0%2044.2-35.8%2080-80%2080c-26.5%200-48-21.5-48-48V304c0-26.5%2021.5-48%2048-48c10.8%200%2021%202.1%2030.4%206C449.6%20159.4%20362.1%2080%20256%2080z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: headphones-simple */
i.fa-headphones-simple,
i[class*="fa-headphones-simple"] {
  width: 1.000em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256%2080C141.1%2080%2048%20173.1%2048%20288V392c0%2013.3-10.7%2024-24%2024s-24-10.7-24-24V288C0%20146.6%20114.6%2032%20256%2032s256%20114.6%20256%20256V392c0%2013.3-10.7%2024-24%2024s-24-10.7-24-24V288c0-114.9-93.1-208-208-208zM80%20352c0-35.3%2028.7-64%2064-64h16c17.7%200%2032%2014.3%2032%2032V448c0%2017.7-14.3%2032-32%2032H144c-35.3%200-64-28.7-64-64V352zm288-64c35.3%200%2064%2028.7%2064%2064v64c0%2035.3-28.7%2064-64%2064H352c-17.7%200-32-14.3-32-32V320c0-17.7%2014.3-32%2032-32h16z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256%2080C141.1%2080%2048%20173.1%2048%20288V392c0%2013.3-10.7%2024-24%2024s-24-10.7-24-24V288C0%20146.6%20114.6%2032%20256%2032s256%20114.6%20256%20256V392c0%2013.3-10.7%2024-24%2024s-24-10.7-24-24V288c0-114.9-93.1-208-208-208zM80%20352c0-35.3%2028.7-64%2064-64h16c17.7%200%2032%2014.3%2032%2032V448c0%2017.7-14.3%2032-32%2032H144c-35.3%200-64-28.7-64-64V352zm288-64c35.3%200%2064%2028.7%2064%2064v64c0%2035.3-28.7%2064-64%2064H352c-17.7%200-32-14.3-32-32V320c0-17.7%2014.3-32%2032-32h16z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: music */
i.fa-music,
i[class*="fa-music"] {
  width: 1.000em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M499.1%206.3c8.1%206%2012.9%2015.6%2012.9%2025.7v72V368c0%2044.2-43%2080-96%2080s-96-35.8-96-80s43-80%2096-80c11.2%200%2022%201.6%2032%204.6V147L192%20223.8V432c0%2044.2-43%2080-96%2080s-96-35.8-96-80s43-80%2096-80c11.2%200%2022%201.6%2032%204.6V200%20128c0-14.1%209.3-26.6%2022.8-30.7l320-96c9.7-2.9%2020.2-1.1%2028.3%205z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M499.1%206.3c8.1%206%2012.9%2015.6%2012.9%2025.7v72V368c0%2044.2-43%2080-96%2080s-96-35.8-96-80s43-80%2096-80c11.2%200%2022%201.6%2032%204.6V147L192%20223.8V432c0%2044.2-43%2080-96%2080s-96-35.8-96-80s43-80%2096-80c11.2%200%2022%201.6%2032%204.6V200%20128c0-14.1%209.3-26.6%2022.8-30.7l320-96c9.7-2.9%2020.2-1.1%2028.3%205z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: compact-disc */
i.fa-compact-disc,
i[class*="fa-compact-disc"] {
  width: 1.000em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M0%20256a256%20256%200%201%201%20512%200A256%20256%200%201%201%200%20256zm256%2032a32%2032%200%201%201%200-64%2032%2032%200%201%201%200%2064zm-96-32a96%2096%200%201%200%20192%200%2096%2096%200%201%200%20-192%200zM96%20240c0-35%2017.5-71.1%2045.2-98.8S205%2096%20240%2096c8.8%200%2016-7.2%2016-16s-7.2-16-16-16c-45.4%200-89.2%2022.3-121.5%2054.5S64%20194.6%2064%20240c0%208.8%207.2%2016%2016%2016s16-7.2%2016-16z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M0%20256a256%20256%200%201%201%20512%200A256%20256%200%201%201%200%20256zm256%2032a32%2032%200%201%201%200-64%2032%2032%200%201%201%200%2064zm-96-32a96%2096%200%201%200%20192%200%2096%2096%200%201%200%20-192%200zM96%20240c0-35%2017.5-71.1%2045.2-98.8S205%2096%20240%2096c8.8%200%2016-7.2%2016-16s-7.2-16-16-16c-45.4%200-89.2%2022.3-121.5%2054.5S64%20194.6%2064%20240c0%208.8%207.2%2016%2016%2016s16-7.2%2016-16z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: calendar */
i.fa-calendar,
i[class*="fa-calendar"] {
  width: 0.875em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M152%2024c0-13.3-10.7-24-24-24s-24%2010.7-24%2024V64H64C28.7%2064%200%2092.7%200%20128v16%2048V448c0%2035.3%2028.7%2064%2064%2064H384c35.3%200%2064-28.7%2064-64V192%20144%20128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24%2010.7-24%2024V64H152V24zM48%20192H400V448c0%208.8-7.2%2016-16%2016H64c-8.8%200-16-7.2-16-16V192z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M152%2024c0-13.3-10.7-24-24-24s-24%2010.7-24%2024V64H64C28.7%2064%200%2092.7%200%20128v16%2048V448c0%2035.3%2028.7%2064%2064%2064H384c35.3%200%2064-28.7%2064-64V192%20144%20128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24%2010.7-24%2024V64H152V24zM48%20192H400V448c0%208.8-7.2%2016-16%2016H64c-8.8%200-16-7.2-16-16V192z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: envelope */
i.fa-envelope,
i[class*="fa-envelope"] {
  width: 1.000em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M64%20112c-8.8%200-16%207.2-16%2016v22.1L220.5%20291.7c20.7%2017%2050.4%2017%2071.1%200L464%20150.1V128c0-8.8-7.2-16-16-16H64zM48%20212.2V384c0%208.8%207.2%2016%2016%2016H448c8.8%200%2016-7.2%2016-16V212.2L322%20328.8c-38.4%2031.5-93.7%2031.5-132%200L48%20212.2zM0%20128C0%2092.7%2028.7%2064%2064%2064H448c35.3%200%2064%2028.7%2064%2064V384c0%2035.3-28.7%2064-64%2064H64c-35.3%200-64-28.7-64-64V128z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M64%20112c-8.8%200-16%207.2-16%2016v22.1L220.5%20291.7c20.7%2017%2050.4%2017%2071.1%200L464%20150.1V128c0-8.8-7.2-16-16-16H64zM48%20212.2V384c0%208.8%207.2%2016%2016%2016H448c8.8%200%2016-7.2%2016-16V212.2L322%20328.8c-38.4%2031.5-93.7%2031.5-132%200L48%20212.2zM0%20128C0%2092.7%2028.7%2064%2064%2064H448c35.3%200%2064%2028.7%2064%2064V384c0%2035.3-28.7%2064-64%2064H64c-35.3%200-64-28.7-64-64V128z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: paper-plane */
i.fa-paper-plane,
i[class*="fa-paper-plane"] {
  width: 1.000em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M16.1%20260.2c-22.6%2012.9-20.5%2047.3%203.6%2057.3L160%20376V479.3c0%2018.1%2014.6%2032.7%2032.7%2032.7c9.7%200%2018.9-4.3%2025.1-11.8l62-74.3%20123.9%2051.6c18.9%207.9%2040.8-4.5%2043.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448%20256zm52.1%2025.5L409.7%2090.6%20190.1%20336l1.2%201L68.2%20285.7zM403.3%20425.4L236.7%20355.9%20450.8%20116.6%20403.3%20425.4z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M16.1%20260.2c-22.6%2012.9-20.5%2047.3%203.6%2057.3L160%20376V479.3c0%2018.1%2014.6%2032.7%2032.7%2032.7c9.7%200%2018.9-4.3%2025.1-11.8l62-74.3%20123.9%2051.6c18.9%207.9%2040.8-4.5%2043.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448%20256zm52.1%2025.5L409.7%2090.6%20190.1%20336l1.2%201L68.2%20285.7zM403.3%20425.4L236.7%20355.9%20450.8%20116.6%20403.3%20425.4z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: location-dot */
i.fa-location-dot,
i[class*="fa-location-dot"] {
  width: 0.750em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M215.7%20499.2C267%20435%20384%20279.4%20384%20192C384%2086%20298%200%20192%200S0%2086%200%20192c0%2087.4%20117%20243%20168.3%20307.2c12.3%2015.3%2035.1%2015.3%2047.4%200zM192%20128a64%2064%200%201%201%200%20128%2064%2064%200%201%201%200-128z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M215.7%20499.2C267%20435%20384%20279.4%20384%20192C384%2086%20298%200%20192%200S0%2086%200%20192c0%2087.4%20117%20243%20168.3%20307.2c12.3%2015.3%2035.1%2015.3%2047.4%200zM192%20128a64%2064%200%201%201%200%20128%2064%2064%200%201%201%200-128z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: star */
i.fa-star,
i[class*="fa-star"] {
  width: 1.125em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M287.9%200c9.2%200%2017.6%205.2%2021.6%2013.5l68.6%20141.3%20153.2%2022.6c9%201.3%2016.5%207.6%2019.3%2016.3s.5%2018.1-5.9%2024.5L433.6%20328.4l26.2%20155.6c1.5%209-2.2%2018.1-9.7%2023.5s-17.3%206-25.3%201.7l-137-73.2L151%20509.1c-8.1%204.3-17.9%203.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1%20218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9%2019.3-16.3l153.2-22.6L266.3%2013.5C270.4%205.2%20278.7%200%20287.9%200zm0%2079L235.4%20187.2c-3.5%207.1-10.2%2012.1-18.1%2013.3L99%20217.9%20184.9%20303c5.5%205.5%208.1%2013.3%206.8%2021L171.4%20443.7l105.2-56.2c7.1-3.8%2015.6-3.8%2022.6%200l105.2%2056.2L384.2%20324.1c-1.3-7.7%201.2-15.5%206.8-21l85.9-85.1L358.6%20200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9%2079z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M287.9%200c9.2%200%2017.6%205.2%2021.6%2013.5l68.6%20141.3%20153.2%2022.6c9%201.3%2016.5%207.6%2019.3%2016.3s.5%2018.1-5.9%2024.5L433.6%20328.4l26.2%20155.6c1.5%209-2.2%2018.1-9.7%2023.5s-17.3%206-25.3%201.7l-137-73.2L151%20509.1c-8.1%204.3-17.9%203.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1%20218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9%2019.3-16.3l153.2-22.6L266.3%2013.5C270.4%205.2%20278.7%200%20287.9%200zm0%2079L235.4%20187.2c-3.5%207.1-10.2%2012.1-18.1%2013.3L99%20217.9%20184.9%20303c5.5%205.5%208.1%2013.3%206.8%2021L171.4%20443.7l105.2-56.2c7.1-3.8%2015.6-3.8%2022.6%200l105.2%2056.2L384.2%20324.1c-1.3-7.7%201.2-15.5%206.8-21l85.9-85.1L358.6%20200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9%2079z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: arrow-right */
i.fa-arrow-right,
i[class*="fa-arrow-right"] {
  width: 0.875em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M438.6%20278.6c12.5-12.5%2012.5-32.8%200-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L338.8%20224%2032%20224c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l306.7%200L233.4%20393.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M438.6%20278.6c12.5-12.5%2012.5-32.8%200-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L338.8%20224%2032%20224c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l306.7%200L233.4%20393.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: arrow-up-right-from-square */
i.fa-arrow-up-right-from-square,
i[class*="fa-arrow-up-right-from-square"] {
  width: 1.000em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M320%200c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032h82.7L201.4%20265.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L448%20109.3V192c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32V32c0-17.7-14.3-32-32-32H320zM80%2032C35.8%2032%200%2067.8%200%20112V432c0%2044.2%2035.8%2080%2080%2080H400c44.2%200%2080-35.8%2080-80V320c0-17.7-14.3-32-32-32s-32%2014.3-32%2032V432c0%208.8-7.2%2016-16%2016H80c-8.8%200-16-7.2-16-16V112c0-8.8%207.2-16%2016-16H192c17.7%200%2032-14.3%2032-32s-14.3-32-32-32H80z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M320%200c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032h82.7L201.4%20265.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L448%20109.3V192c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32V32c0-17.7-14.3-32-32-32H320zM80%2032C35.8%2032%200%2067.8%200%20112V432c0%2044.2%2035.8%2080%2080%2080H400c44.2%200%2080-35.8%2080-80V320c0-17.7-14.3-32-32-32s-32%2014.3-32%2032V432c0%208.8-7.2%2016-16%2016H80c-8.8%200-16-7.2-16-16V112c0-8.8%207.2-16%2016-16H192c17.7%200%2032-14.3%2032-32s-14.3-32-32-32H80z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: tv */
i.fa-tv,
i[class*="fa-tv"] {
  width: 1.250em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M64%2064V352H576V64H64zM0%2064C0%2028.7%2028.7%200%2064%200H576c35.3%200%2064%2028.7%2064%2064V352c0%2035.3-28.7%2064-64%2064H64c-35.3%200-64-28.7-64-64V64zM128%20448H512c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032H128c-17.7%200-32-14.3-32-32s14.3-32%2032-32z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M64%2064V352H576V64H64zM0%2064C0%2028.7%2028.7%200%2064%200H576c35.3%200%2064%2028.7%2064%2064V352c0%2035.3-28.7%2064-64%2064H64c-35.3%200-64-28.7-64-64V64zM128%20448H512c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032H128c-17.7%200-32-14.3-32-32s14.3-32%2032-32z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: house */
i.fa-house,
i[class*="fa-house"] {
  width: 1.125em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M575.8%20255.5c0%2018-15%2032.1-32%2032.1h-32l.7%20160.2c0%202.7-.2%205.4-.5%208.1V472c0%2022.1-17.9%2040-40%2040H456c-1.1%200-2.2%200-3.3-.1c-1.4%20.1-2.8%20.1-4.2%20.1H416%20392c-22.1%200-40-17.9-40-40V448%20384c0-17.7-14.3-32-32-32H256c-17.7%200-32%2014.3-32%2032v64%2024c0%2022.1-17.9%2040-40%2040H160%20128.1c-1.5%200-3-.1-4.5-.2c-1.2%20.1-2.4%20.2-3.6%20.2H104c-22.1%200-40-17.9-40-40V360c0-.9%200-1.9%20.1-2.8V287.6H32c-18%200-32-14-32-32.1c0-9%203-17%2010-24L266.4%208c7-7%2015-8%2022-8s15%202%2021%207L564.8%20231.5c8%207%2012%2015%2011%2024z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M575.8%20255.5c0%2018-15%2032.1-32%2032.1h-32l.7%20160.2c0%202.7-.2%205.4-.5%208.1V472c0%2022.1-17.9%2040-40%2040H456c-1.1%200-2.2%200-3.3-.1c-1.4%20.1-2.8%20.1-4.2%20.1H416%20392c-22.1%200-40-17.9-40-40V448%20384c0-17.7-14.3-32-32-32H256c-17.7%200-32%2014.3-32%2032v64%2024c0%2022.1-17.9%2040-40%2040H160%20128.1c-1.5%200-3-.1-4.5-.2c-1.2%20.1-2.4%20.2-3.6%20.2H104c-22.1%200-40-17.9-40-40V360c0-.9%200-1.9%20.1-2.8V287.6H32c-18%200-32-14-32-32.1c0-9%203-17%2010-24L266.4%208c7-7%2015-8%2022-8s15%202%2021%207L564.8%20231.5c8%207%2012%2015%2011%2024z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: volume-high */
i.fa-volume-high,
i[class*="fa-volume-high"] {
  width: 1.250em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M533.6%2032.5C598.5%2085.2%20640%20165.8%20640%20256s-41.5%20170.7-106.4%20223.5c-10.3%208.4-25.4%206.8-33.8-3.5s-6.8-25.4%203.5-33.8C557.5%20398.2%20592%20331.2%20592%20256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8%2033.8-3.5zM473.1%20107c43.2%2035.2%2070.9%2088.9%2070.9%20149s-27.7%20113.8-70.9%20149c-10.3%208.4-25.4%206.8-33.8-3.5s-6.8-25.4%203.5-33.8C475.3%20341.3%20496%20301.1%20496%20256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8%2033.8-3.5zm-60.5%2074.5C434.1%20199.1%20448%20225.9%20448%20256s-13.9%2056.9-35.4%2074.5c-10.3%208.4-25.4%206.8-33.8-3.5s-6.8-25.4%203.5-33.8C393.1%20284.4%20400%20271%20400%20256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8%2033.8-3.5zM301.1%2034.8C312.6%2040%20320%2051.4%20320%2064V448c0%2012.6-7.4%2024-18.9%2029.2s-25%203.1-34.4-5.3L131.8%20352H64c-35.3%200-64-28.7-64-64V224c0-35.3%2028.7-64%2064-64h67.8L266.7%2040.1c9.4-8.4%2022.9-10.4%2034.4-5.3z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M533.6%2032.5C598.5%2085.2%20640%20165.8%20640%20256s-41.5%20170.7-106.4%20223.5c-10.3%208.4-25.4%206.8-33.8-3.5s-6.8-25.4%203.5-33.8C557.5%20398.2%20592%20331.2%20592%20256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8%2033.8-3.5zM473.1%20107c43.2%2035.2%2070.9%2088.9%2070.9%20149s-27.7%20113.8-70.9%20149c-10.3%208.4-25.4%206.8-33.8-3.5s-6.8-25.4%203.5-33.8C475.3%20341.3%20496%20301.1%20496%20256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8%2033.8-3.5zm-60.5%2074.5C434.1%20199.1%20448%20225.9%20448%20256s-13.9%2056.9-35.4%2074.5c-10.3%208.4-25.4%206.8-33.8-3.5s-6.8-25.4%203.5-33.8C393.1%20284.4%20400%20271%20400%20256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8%2033.8-3.5zM301.1%2034.8C312.6%2040%20320%2051.4%20320%2064V448c0%2012.6-7.4%2024-18.9%2029.2s-25%203.1-34.4-5.3L131.8%20352H64c-35.3%200-64-28.7-64-64V224c0-35.3%2028.7-64%2064-64h67.8L266.7%2040.1c9.4-8.4%2022.9-10.4%2034.4-5.3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: microphone-lines */
i.fa-microphone-lines,
i[class*="fa-microphone-lines"] {
  width: 0.750em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M96%2096V256c0%2053%2043%2096%2096%2096s96-43%2096-96H208c-8.8%200-16-7.2-16-16s7.2-16%2016-16h80V192H208c-8.8%200-16-7.2-16-16s7.2-16%2016-16h80V128H208c-8.8%200-16-7.2-16-16s7.2-16%2016-16h80c0-53-43-96-96-96S96%2043%2096%2096zM320%20240v16c0%2070.7-57.3%20128-128%20128s-128-57.3-128-128V216c0-13.3-10.7-24-24-24s-24%2010.7-24%2024v40c0%2089.1%2066.2%20162.7%20152%20174.4V464H120c-13.3%200-24%2010.7-24%2024s10.7%2024%2024%2024h72%2072c13.3%200%2024-10.7%2024-24s-10.7-24-24-24H216V430.4c85.8-11.7%20152-85.3%20152-174.4V216c0-13.3-10.7-24-24-24s-24%2010.7-24%2024v24z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M96%2096V256c0%2053%2043%2096%2096%2096s96-43%2096-96H208c-8.8%200-16-7.2-16-16s7.2-16%2016-16h80V192H208c-8.8%200-16-7.2-16-16s7.2-16%2016-16h80V128H208c-8.8%200-16-7.2-16-16s7.2-16%2016-16h80c0-53-43-96-96-96S96%2043%2096%2096zM320%20240v16c0%2070.7-57.3%20128-128%20128s-128-57.3-128-128V216c0-13.3-10.7-24-24-24s-24%2010.7-24%2024v40c0%2089.1%2066.2%20162.7%20152%20174.4V464H120c-13.3%200-24%2010.7-24%2024s10.7%2024%2024%2024h72%2072c13.3%200%2024-10.7%2024-24s-10.7-24-24-24H216V430.4c85.8-11.7%20152-85.3%20152-174.4V216c0-13.3-10.7-24-24-24s-24%2010.7-24%2024v24z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: file-contract */
i.fa-file-contract,
i[class*="fa-file-contract"] {
  width: 0.750em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M64%200C28.7%200%200%2028.7%200%2064V448c0%2035.3%2028.7%2064%2064%2064H320c35.3%200%2064-28.7%2064-64V160H256c-17.7%200-32-14.3-32-32V0H64zM256%200V128H384L256%200zM80%2064h64c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016H80c-8.8%200-16-7.2-16-16s7.2-16%2016-16zm0%2064h64c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016H80c-8.8%200-16-7.2-16-16s7.2-16%2016-16zm54.2%20253.8c-6.1%2020.3-24.8%2034.2-46%2034.2H80c-8.8%200-16-7.2-16-16s7.2-16%2016-16h8.2c7.1%200%2013.3-4.6%2015.3-11.4l14.9-49.5c3.4-11.3%2013.8-19.1%2025.6-19.1s22.2%207.7%2025.6%2019.1l11.6%2038.6c7.4-6.2%2016.8-9.7%2026.8-9.7c15.9%200%2030.4%209%2037.5%2023.2l4.4%208.8H304c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016H240c-6.1%200-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2%202.1-8.8%205.5l-8.8%2017.7c-2.9%205.9-9.2%209.4-15.7%208.8s-12.1-5.1-13.9-11.3L144%20349l-9.8%2032.8z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M64%200C28.7%200%200%2028.7%200%2064V448c0%2035.3%2028.7%2064%2064%2064H320c35.3%200%2064-28.7%2064-64V160H256c-17.7%200-32-14.3-32-32V0H64zM256%200V128H384L256%200zM80%2064h64c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016H80c-8.8%200-16-7.2-16-16s7.2-16%2016-16zm0%2064h64c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016H80c-8.8%200-16-7.2-16-16s7.2-16%2016-16zm54.2%20253.8c-6.1%2020.3-24.8%2034.2-46%2034.2H80c-8.8%200-16-7.2-16-16s7.2-16%2016-16h8.2c7.1%200%2013.3-4.6%2015.3-11.4l14.9-49.5c3.4-11.3%2013.8-19.1%2025.6-19.1s22.2%207.7%2025.6%2019.1l11.6%2038.6c7.4-6.2%2016.8-9.7%2026.8-9.7c15.9%200%2030.4%209%2037.5%2023.2l4.4%208.8H304c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016H240c-6.1%200-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2%202.1-8.8%205.5l-8.8%2017.7c-2.9%205.9-9.2%209.4-15.7%208.8s-12.1-5.1-13.9-11.3L144%20349l-9.8%2032.8z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: circle-check */
i.fa-circle-check,
i[class*="fa-circle-check"] {
  width: 1.000em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256%2048a208%20208%200%201%201%200%20416%20208%20208%200%201%201%200-416zm0%20464A256%20256%200%201%200%20256%200a256%20256%200%201%200%200%20512zM369%20209c9.4-9.4%209.4-24.6%200-33.9s-24.6-9.4-33.9%200l-111%20111-47-47c-9.4-9.4-24.6-9.4-33.9%200s-9.4%2024.6%200%2033.9l64%2064c9.4%209.4%2024.6%209.4%2033.9%200L369%20209z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256%2048a208%20208%200%201%201%200%20416%20208%20208%200%201%201%200-416zm0%20464A256%20256%200%201%200%20256%200a256%20256%200%201%200%200%20512zM369%20209c9.4-9.4%209.4-24.6%200-33.9s-24.6-9.4-33.9%200l-111%20111-47-47c-9.4-9.4-24.6-9.4-33.9%200s-9.4%2024.6%200%2033.9l64%2064c9.4%209.4%2024.6%209.4%2033.9%200L369%20209z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Icon: triangle-exclamation */
i.fa-triangle-exclamation,
i[class*="fa-triangle-exclamation"] {
  width: 1.000em;
  height: 1em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256%2032c14.2%200%2027.3%207.5%2034.5%2019.8l216%20368c7.3%2012.4%207.3%2027.7%20.2%2040.1S486.3%20480%20472%20480H40c-14.3%200-27.6-7.7-34.7-20.1s-7-27.8%20.2-40.1l216-368C228.7%2039.5%20241.8%2032%20256%2032zm0%20128c-13.3%200-24%2010.7-24%2024V296c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24V184c0-13.3-10.7-24-24-24zm32%20224a32%2032%200%201%200%20-64%200%2032%2032%200%201%200%2064%200z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256%2032c14.2%200%2027.3%207.5%2034.5%2019.8l216%20368c7.3%2012.4%207.3%2027.7%20.2%2040.1S486.3%20480%20472%20480H40c-14.3%200-27.6-7.7-34.7-20.1s-7-27.8%20.2-40.1l216-368C228.7%2039.5%20241.8%2032%20256%2032zm0%20128c-13.3%200-24%2010.7-24%2024V296c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24V184c0-13.3-10.7-24-24-24zm32%20224a32%2032%200%201%200%20-64%200%2032%2032%200%201%200%2064%200z'/%3E%3C/svg%3E") no-repeat center / contain;
}
