@function _buildIcon($icon, $width, $height) {
  $icon: '<svg xmlns="http://www.w3.org/2000/svg" width="#{$width}" height="#{$height}" viewBox="0 0 255.99999 255.99999">#{$icon}</svg>';
  @return $icon;
}

@function icon(
  $icon-name, 
  $color,
  $width,
  $height,
  $stroke-color: transparent,
  $stroke-width: 0,
  $css: '' // arbitrary css
  ){
  $icons: (
    emsch: '<path fill="#{$color}" stroke="#{$stroke-color}" stroke-width="#{$stroke-width}" style="#{$css}" d="M129.31 1.54c-9.138 0-17.688 4.463-25.322 12.256-8.793.564-17.22 2.28-25.234 5.076-4.753-2.762-9.103-4.37-12.85-4.37-2.188 0-4.195.476-5.954 1.42-4.88 2.643-7.08 8.306-6.757 16.923-4.9 3.812-9.36 8.08-13.313 12.81-5.177 4.732-9.84 9.918-14.077 15.406-6.09-1.988-11.276-3.36-14.33-3.36-4.01 0-5.907 1.717-6.805 3.16-1.9 3.098-1.923 6.88 10.43 16.9C7.025 93.064 2.355 110.15 2.31 128.257c-.078 30.407 12.635 58.086 33.333 78.947 4.906 14.213 13.645 25.075 25.75 31.624 8.067 4.374 17.25 6.593 27.277 6.593 5.118 0 10.373-.627 15.694-1.75 7.54 7.55 15.958 11.87 24.946 11.87 9.13 0 17.67-4.455 25.298-12.235 8.795-.562 17.227-2.27 25.247-5.065 4.757 2.766 9.124 4.384 12.874 4.384 2.187 0 4.176-.483 5.94-1.434 5.062-2.738 6.937-8.786 6.72-16.77 4.94-3.845 9.32-8.2 13.25-12.915 5.317-4.85 10.115-10.16 14.44-15.806 6.1 1.996 11.282 3.372 14.33 3.372 4.024 0 5.934-1.718 6.807-3.138.616-.986 1.21-2.622.59-4.783-.81-2.85-4.946-7.09-11.133-12.138 7.97-15.22 12.59-32.19 12.636-50.168.073-30.564-12.768-58.365-33.683-79.264-4.81-13.807-13.268-24.77-25.385-31.33-8.068-4.37-17.24-6.58-27.266-6.58-5.12 0-10.372.64-15.694 1.76-7.546-7.568-15.972-11.89-24.972-11.89zm0 9.083c2.047 0 4.102.476 6.156 1.175-2.052-.095-4.105-.148-6.18-.153-2.045 0-4.084.054-6.106.14 2.044-.69 4.095-1.162 6.13-1.162zm52.375 11.61c3.77.892 7.315 2.24 10.618 4.03 2.567 1.39 4.878 3.092 7.057 4.937-5.588-3.416-11.512-6.383-17.675-8.967zm-71.04.353c5.207 0 10.43.465 15.632 1.305-7.856 4.182-15.648 9.37-23.216 15.42-1.154-1.206-2.283-2.297-3.422-3.433 2.796-5.19 5.805-9.566 8.926-13.232.695-.018 1.38-.06 2.08-.06zM65.892 23.62c.383 0 .853.145 1.28.212-.596.305-1.204.574-1.794.893-.645.35-1.222.777-1.855 1.14.38-1.127.86-1.8 1.29-2.033.264-.132.624-.212 1.08-.212zm97.892 1.845c19.438 5.507 36.682 15.56 50.38 28.768 2.01 6.26 3.118 13.23 3.46 20.66-13.582-20.36-32.022-36.763-52.6-47.442-.406-.672-.825-1.335-1.24-1.985zm-68.972.024c-.768 1.203-1.543 2.395-2.28 3.678-.817-.724-1.63-1.44-2.433-2.116 1.574-.516 3.107-1.107 4.712-1.563zm45.98 1.81c5.836 1.798 11.575 4.12 17.175 6.874 11.67 20.62 20.13 53.58 20.133 94.365 0 2.647-.106 5.197-.176 7.78-3.197-1.862-6.062-3.487-9.213-5.29-3.684-6.535-7.288-12.71-10.592-18.073-14.54-23.603-32.076-48.08-48.702-66.738 10.23-8.204 20.855-14.588 31.377-18.92zM80.07 30.812c2.49 1.933 5.16 4.213 8.023 6.886-3.41 7.292-6.36 15.56-8.85 24.537-2.132 2.433-4.224 4.937-6.268 7.51-1.362-3.44-2.642-6.8-3.76-10.025-3.03-8.722-4.658-15.324-5.53-20.507 5.167-3.213 10.678-5.963 16.385-8.402zm92.564 11.822c15.494 10.394 29.21 24.384 39.488 41.072 1.773 2.88 3.357 5.8 4.876 8.73-1.997 17.7-7.998 37.113-17.976 56.456-3.835-2.34-7.622-4.64-11.546-6.968.203-4.394.314-8.857.314-13.386 0-33.48-5.733-63.438-15.156-85.905zm-77.32 2.362c.157.163.306.306.464.47-.355.316-.7.655-1.053.975.198-.477.388-.976.59-1.445zm-40.39.235c1.145 5.122 2.806 10.876 5.04 17.31 1.64 4.734 3.613 9.747 5.753 14.902-10.255-4.73-19.572-8.73-27.817-11.975 2.564-4.91 5.63-9.436 9.063-13.633 2.546-2.306 5.196-4.518 7.96-6.605zm47.247 7.17c14.284 16.04 30.84 38.036 47.524 65.115.905 1.47 1.707 2.866 2.582 4.312-4.61-2.56-9.846-5.586-13.965-7.815-17.623-9.537-36.54-19.268-54.417-27.957 1.115-6.802 2.466-13.233 4.05-19.25 4.585-5.162 9.335-10 14.228-14.407zm124.58 16.1c12.627 17.248 19.986 38.014 19.933 60.32-.032 13.328-2.84 26.04-7.71 37.828 4.164-23.972.36-50.71-12.172-75.974.677-7.726.7-15.17-.05-22.175zm-207.905.023c.397.116.97.328 1.392.458l-.276.423c-.327-.27-.812-.624-1.115-.88zm15.18 5.452c7.644 3.03 16.778 6.96 27.38 11.846-.96 1.473-1.945 2.914-2.87 4.42-.85 1.38-1.595 2.78-2.408 4.17C46.68 88.476 38.8 83.246 32.41 78.76c.523-1.606 1.01-3.23 1.616-4.783zM29.803 88.55c2.288 1.573 4.42 3.064 7.107 4.84 4.465 2.955 9.464 6.123 14.566 9.32-7.925 15.06-13.658 30.45-16.986 45.455-6.61-18.644-8.625-37.953-5.453-56.255.2-1.15.528-2.23.765-3.36zm40.44 1.433c.467.222.933.434 1.404.658.463 1.003.913 1.998 1.39 3.01-.434 3.426-.845 6.89-1.152 10.435-2.634-1.585-5.017-3.057-7.484-4.57.9-1.55 1.735-3.116 2.683-4.655 1.022-1.66 2.098-3.26 3.16-4.877zm-50.732.823c-4.193 24.633.14 50.895 12.147 75.222-.383 4.143-.63 8.247-.6 12.257.024 3.42.226 6.72.55 9.93-12.463-17.173-19.724-37.787-19.67-59.933.033-13.195 2.792-25.785 7.573-37.476zm65.825 6.475c14.602 7.198 30.643 15.438 48 24.832 10.136 5.487 19.42 10.694 28.293 15.747 4.186 7.463 7.927 14.552 11.27 21.27-14.422-7.12-30.223-15.233-47.31-24.48-10.423-5.638-19.962-10.99-29.046-16.17-4.024-7.202-7.78-14.3-11.207-21.2zM59.8 107.847c3.686 2.255 7.448 4.53 11.37 6.863-.217 4.54-.35 9.145-.35 13.83 0 33.48 5.73 63.45 15.154 85.917-15.493-10.397-29.21-24.405-39.487-41.096-1.722-2.794-3.284-5.633-4.776-8.495 1.985-18.376 8.18-37.924 18.09-57.02zm164.243.963c7.155 20.217 8.642 40.748 4.84 59.275-6.482-4.474-13.75-9.198-21.537-14.067 7.926-15.197 13.493-30.516 16.697-45.21zM80.697 120.3c2.876 1.676 5.82 3.366 8.787 5.065 3.518 6.22 7.138 12.48 11.02 18.78 14.535 23.603 32.066 48.08 48.688 66.737-10.222 8.193-20.84 14.58-31.352 18.908-5.838-1.798-11.583-4.11-17.186-6.863-11.677-20.618-20.145-53.594-20.145-94.39 0-2.804.11-5.508.187-8.238zm25.397 14.43c4.812 2.673 9.552 5.335 14.504 8.016 17.552 9.496 36.395 19.178 54.205 27.84-1.132 6.985-2.525 13.58-4.15 19.742-4.58 5.152-9.318 9.985-14.203 14.384-14.282-16.04-30.835-38.052-47.51-65.14-1.002-1.625-1.867-3.218-2.846-4.84zm71.304 12.247c.012.005.025.017.038.023v.048l-.038-.07zm9.35 5.545c2.708 1.628 5.18 3.136 7.71 4.69-.968 1.677-1.866 3.358-2.895 5.03-.946 1.534-1.942 3.012-2.92 4.512-.636-.3-1.263-.598-1.906-.905-.37-.79-.778-1.56-1.154-2.35.46-3.597.85-7.25 1.166-10.977zm15.972 9.778c9.372 5.89 17.236 11.107 23.605 15.57-.52 1.62-.998 3.256-1.605 4.83-7.618-3.026-16.713-6.928-27.253-11.786.877-1.353 1.783-2.675 2.633-4.055.93-1.513 1.736-3.04 2.62-4.56zm-10.054 16.758c10.402 4.807 19.863 8.89 28.218 12.187-2.61 5.06-5.764 9.77-9.352 14.15-2.498 2.257-5.088 4.427-7.797 6.474-2.145-9.776-6.1-21.07-11.07-32.81zM41.16 182.446c13.568 20.25 31.95 36.558 52.45 47.195.405.672.812 1.337 1.227 1.986-19.354-5.48-36.534-15.462-50.206-28.58-1.98-6.148-3.102-13.084-3.47-20.6zm197.75 4.865c.345.285.85.66 1.166.93-.418-.125-1.02-.356-1.466-.495.095-.148.206-.286.3-.435zm-53.377.2c4.865 12.416 8.04 22.836 9.415 30.4-5.166 3.218-10.68 5.965-16.385 8.404-2.498-1.938-5.176-4.23-8.048-6.91 3.405-7.28 6.35-15.533 8.838-24.49 2.103-2.4 4.162-4.87 6.18-7.404zm-21.66 23.174c-.197.47-.38.96-.578 1.422-.153-.16-.298-.298-.452-.458.348-.31.682-.65 1.028-.964zm-8.313 7.122c1.15 1.2 2.276 2.29 3.41 3.42-2.795 5.187-5.805 9.557-8.925 13.22-.696.018-1.38.06-2.08.06-5.2 0-10.415-.467-15.608-1.304 7.85-4.18 15.64-9.35 23.203-15.395zm-96.036 8.285c5.394 3.28 11.1 6.145 17.024 8.65-3.616-.893-7.03-2.188-10.217-3.914-2.455-1.328-4.686-2.962-6.806-4.735zm106.54 1.846c.83.735 1.656 1.462 2.47 2.15-1.59.522-3.153 1.104-4.775 1.563.775-1.214 1.56-2.42 2.305-3.714zm29.16 3.29c-.348.964-.79 1.735-1.405 2.068-.264.133-.63.2-1.09.2-.395 0-.878-.14-1.317-.21.61-.313 1.238-.59 1.842-.918.672-.363 1.31-.76 1.968-1.14zm-72.03 14.067c1.93.085 3.875.148 5.828.153h.313c2.027 0 4.038-.055 6.043-.14-2.025.678-4.05 1.15-6.068 1.15-2.03 0-4.08-.474-6.117-1.163z"/>'
  );
  
  $icon: _buildIcon(map-get($icons, $icon-name), $width, $height);
  @return url('data:image/svg+xml;utf8,#{$icon}');
}