/* --- Material Icons Base Styling --- */

.material-icons-outlined, 
.material-icons-sharp, 
.material-icons-round {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Default icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  vertical-align: middle;

  /* Browser-specific rendering support */
  -webkit-font-smoothing: antialiased;         /* WebKit browsers */
  text-rendering: optimizeLegibility;          /* Safari, Chrome */
  -moz-osx-font-smoothing: grayscale;          /* Firefox */
  font-feature-settings: 'liga';               /* IE support for ligatures */
}

/* --- Material Icon Size Modifiers --- */

.material-icons.md-18, 
.material-icons-outlined.md-18, 
.material-icons-sharp.md-18, 
.material-icons-round.md-18 {
  font-size: 18px;
}

.material-icons.md-24, 
.material-icons-outlined.md-24, 
.material-icons-sharp.md-24, 
.material-icons-round.md-24 {
  font-size: 24px;
}

.material-icons.md-36, 
.material-icons-outlined.md-36, 
.material-icons-sharp.md-36, 
.material-icons-round.md-36 {
  font-size: 36px;
}

.material-icons.md-48, 
.material-icons-outlined.md-48, 
.material-icons-sharp.md-48, 
.material-icons-round.md-48 {
  font-size: 48px;
}

.material-icons.md-100, 
.material-icons-outlined.md-100, 
.material-icons-sharp.md-100, 
.material-icons-round.md-100 {
  font-size: 100px;
}

/* --- Icon Color Modifiers --- */

/* Dark theme icon styling */
.material-icons.md-dark { 
  color: rgba(0, 0, 0, 0.54); 
}

.material-icons.md-dark.md-inactive { 
  color: rgba(0, 0, 0, 0.26); 
}

/* Light theme icon styling */
.material-icons.md-light { 
  color: rgba(255, 255, 255, 1); 
}

.material-icons.md-light.md-inactive { 
  color: rgba(255, 255, 255, 0.3); 
}

/* --- Font Awesome Icon Size Adjustment for Mobile --- */

@media (max-width: 767px) {
  .fa-3x {
    font-size: 2.5rem;
  }
}
