/* ==========================================================================
   Icon library.
   ========================================================================== */
.icon {
  --icon-size: 16px;
  width: var(--icon-size);
  height: var(--icon-size);

  &:before {
    content: "";
    display: inline-block;
    width: inherit;
    height: inherit;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: var(--icon-size);
    background: var(--color-fg);
    transition: var(--transition);
  }
}
    
/* Variables.
   ========================================================================== */
:root {
  --icon-default: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512'><path d='M510.315 256.56a253.497 253.497 0 0 1-253.501 253.498A253.497 253.497 0 0 1 3.317 256.56 253.497 253.497 0 0 1 256.814 3.064a253.497 253.497 0 0 1 253.5 253.497Z'/></svg>");
  --icon-default1: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512'><path d='M35.553 7.067h441.311a32.839 32.839 0 0 1 32.914 32.914v433.833a32.839 32.839 0 0 1-32.914 32.91H35.554a32.839 32.839 0 0 1-32.911-32.91V39.98a32.839 32.839 0 0 1 32.91-32.91Z'/></svg>");
  --icon-line: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512'><path d='M9.252 211.733h494.425V325.13H9.252Z' style='stroke-width:18.8976'/></svg>");
  --icon-phone: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='512' height='512'><path d='M213.782 497.287c-43.053-8.829-79.002-25.657-110.483-51.717-49.496-40.974-79.93-96.346-88.012-160.134-1.684-13.292-1.927-42.905-.457-55.65 4.723-40.936 17.29-75.433 40.073-110.003 13.262-20.123 30.44-38.955 50.442-55.299 4.972-4.063 26.134-18.836 26.982-18.836.168 0 3.372-1.767 7.121-3.925 20.068-11.555 45.806-21.149 69.526-25.916 10.21-2.052 10.805-2.077 49.819-2.077 39.079 0 39.593.022 49.819 2.087 49.192 9.936 95.144 35.857 129.861 73.255 45.506 49.019 68.81 113.364 65.07 179.665-1.254 22.213-3.523 35.732-9.493 56.537-8.15 28.405-20.957 53.685-40.35 79.647-7.652 10.243-30.826 34.104-41.05 42.266-27.438 21.904-59.737 38.01-93.334 46.543-17.289 4.391-18.704 4.492-61.75 4.399-22.056-.048-41.759-.426-43.784-.842zm69.159-26.497c11.516-1.343 20.582-2.921 28.51-4.964 75.785-19.534 133.857-76.129 155.59-151.633 8.89-30.886 10.237-68.567 3.618-101.185-5.607-27.632-16.12-53.062-31.43-76.032-9.578-14.37-15.08-21.011-28.573-34.486-31.277-31.236-69.356-51.198-112.99-59.233-22.832-4.205-52.08-4.415-74.473-.535-46.949 8.134-87.46 29.47-119.751 63.07-38.111 39.657-58.829 88.603-60.45 142.816-1.142 38.176 5.952 71.082 22.407 103.936 6.417 12.812 7.998 15.498 15.558 26.416 11.211 16.194 26.691 32.862 42.545 45.81 15.318 12.51 40.2 26.623 59.59 33.799 16.41 6.073 36.854 10.93 52.786 12.54 11.66 1.178 35.608 1.016 47.063-.32zm12.27-48.396c-30.695-3.933-76.448-47.827-113.754-109.133-8.341-13.707-22.313-41.81-28.653-57.635-13.186-32.908-19.225-59.02-19.225-83.131 0-22.163 6.133-32.946 26.437-46.48 4.863-3.242 9.282-5.89 9.82-5.887.54.003 1.75 1.385 2.69 3.069 3.513 6.286 39.561 68.597 42.807 73.993 1.623 2.698 1.673 3.08.487 3.743-3.74 2.093-8.604 8.035-10.748 13.129-2.189 5.2-2.313 6.15-2.322 17.77-.009 10.864.252 13.244 2.262 20.703 2.61 9.69 5.764 17.942 10.309 26.974 3.284 6.526 11.273 19.932 12.312 20.658.321.225 2.078 2.45 3.904 4.942 1.826 2.494 6.734 7.748 10.908 11.677 11.958 11.257 24.76 16.848 36.432 15.911 2.737-.22 6.673-1.15 8.746-2.066l3.768-1.667 5.926 10.358a4870.96 4870.96 0 0 0 11.618 20.178c3.132 5.402 7.92 13.688 10.643 18.414 2.721 4.726 6.677 11.54 8.79 15.14 8.988 15.318 9.28 15.976 7.621 17.19-3.021 2.211-14.937 7.761-20.815 9.695-5.932 1.951-15.097 3.078-19.963 2.455zm49.537-18.087c-2.03-1.859-8.237-12.153-27.016-44.807-10.023-17.427-17.305-30-18.722-32.326-2.522-4.136-2.378-9.77.33-12.99 1.146-1.36 6.529-4.98 11.961-8.041 5.433-3.062 11.4-6.423 13.262-7.47 2.477-1.394 4.215-1.798 6.484-1.506 6.005.77 4.45-1.376 25.572 35.327 6.217 10.802 14.43 24.98 18.252 31.508 3.821 6.526 7.438 12.787 8.037 13.912 2.163 4.065.94 10.666-2.418 13.044-2.225 1.576-13.839 8.465-21.168 12.556-6.901 3.853-10.99 4.075-14.574.793zM225.528 197.11c-1.594-.972-3.953-4.01-6.19-7.976-3.648-6.464-28.176-49.034-37.399-64.908-8.332-14.34-7.478-16.123 13.429-28.03 5.851-3.334 11.31-6.31 12.13-6.614 2.225-.826 8.383.99 10.172 2.999.863.968 8.139 13.177 16.17 27.13 8.03 13.955 18.032 31.297 22.226 38.54 4.194 7.242 7.845 14.264 8.114 15.605.74 3.7-1.442 7.928-5.51 10.68-1.958 1.325-8.207 5.051-13.887 8.28-11.355 6.455-14.545 7.166-19.255 4.294z'/></svg>");
}

/* Classes.
   ========================================================================== */
.icon--default:before {
  mask-image: var(--icon-default);
}
.icon--default1:before {
  mask-image: var(--icon-default1);
}
.icon--line:before {
  mask-image: var(--icon-line);
}
.icon--phone:before {
  mask-image: var(--icon-phone);
}
