import { SVGProps } from 'react';

export const InstagramIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={36}
    height={36}
    fill="none"
    {...props}
  >
    <g fill="currentColor" clipPath="url(#a)">
      <path d="M18 3.241c4.81 0 5.379.022 7.27.106 1.758.077 2.707.373 3.34.619a5.566 5.566 0 0 1 2.067 1.343 5.535 5.535 0 0 1 1.343 2.067c.246.633.542 1.589.62 3.34.083 1.898.105 2.468.105 7.27 0 4.81-.022 5.379-.106 7.27-.077 1.758-.373 2.707-.619 3.34a5.566 5.566 0 0 1-1.343 2.067 5.536 5.536 0 0 1-2.067 1.343c-.633.246-1.589.542-3.34.619-1.898.084-2.468.105-7.27.105-4.81 0-5.379-.02-7.27-.105-1.758-.077-2.707-.373-3.34-.619a5.566 5.566 0 0 1-2.067-1.343 5.536 5.536 0 0 1-1.343-2.067c-.246-.633-.542-1.589-.62-3.34-.083-1.898-.105-2.468-.105-7.27 0-4.81.022-5.379.106-7.27.077-1.758.373-2.707.619-3.34a5.567 5.567 0 0 1 1.343-2.067A5.537 5.537 0 0 1 7.39 3.966c.633-.246 1.589-.542 3.34-.62 1.891-.083 2.46-.105 7.27-.105ZM18 0c-4.887 0-5.498.021-7.418.105C8.67.19 7.355.5 6.216.942c-1.189.464-2.194 1.076-3.193 2.081-1.005.999-1.617 2.004-2.08 3.186C.498 7.355.19 8.663.104 10.575.021 12.502 0 13.113 0 18c0 4.887.021 5.498.105 7.418.085 1.913.394 3.227.837 4.366.464 1.189 1.076 2.194 2.081 3.193A8.8 8.8 0 0 0 6.21 35.05c1.146.443 2.454.752 4.366.837 1.92.084 2.531.105 7.418.105 4.887 0 5.498-.021 7.418-.105 1.912-.085 3.227-.394 4.366-.837a8.8 8.8 0 0 0 3.185-2.074 8.799 8.799 0 0 0 2.075-3.186c.443-1.146.752-2.454.836-4.366.085-1.92.106-2.531.106-7.418 0-4.887-.021-5.498-.106-7.418-.084-1.912-.393-3.227-.836-4.366a8.43 8.43 0 0 0-2.06-3.2A8.799 8.799 0 0 0 29.79.95C28.645.506 27.337.197 25.425.113 23.498.02 22.887 0 18 0Z" />
      <path d="M18 8.754c-5.105 0-9.246 4.141-9.246 9.246s4.141 9.246 9.246 9.246 9.246-4.141 9.246-9.246S23.105 8.754 18 8.754Zm0 15.244a5.999 5.999 0 0 1 0-11.996 5.999 5.999 0 0 1 0 11.996Zm11.77-15.61a2.16 2.16 0 1 1-2.158-2.159c1.188 0 2.158.97 2.158 2.16Z" />
    </g>
    <defs>
      <clipPath id="a">
        <path fill="#fff" d="M0 0h36v36H0z" />
      </clipPath>
    </defs>
  </svg>
);

export const FacebookIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={36}
    height={36}
    fill="none"
    {...props}
  >
    <path
      fill="currentColor"
      d="M18 0C8.059 0 0 8.059 0 18c0 8.441 5.812 15.525 13.652 17.47V23.5H9.94V18h3.712v-2.37c0-6.127 2.773-8.966 8.787-8.966 1.141 0 3.109.224 3.914.447v4.986c-.425-.045-1.163-.067-2.08-.067-2.95 0-4.091 1.118-4.091 4.025V18h5.88l-1.011 5.5h-4.87v12.368c8.913-1.076 15.82-8.665 15.82-17.868C36 8.059 27.94 0 18 0Z"
    />
  </svg>
);

export const LinkedinIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={36}
    height={36}
    fill="none"
    {...props}
  >
    <path
      fill="currentColor"
      d="M33.335 0H2.658C1.188 0 0 1.16 0 2.595v30.803C0 34.833 1.188 36 2.658 36h30.677C34.805 36 36 34.833 36 33.406V2.595C36 1.16 34.805 0 33.335 0ZM10.681 30.677H5.337V13.493h5.344v17.184ZM8.009 11.152a3.095 3.095 0 0 1-3.101-3.094 3.095 3.095 0 0 1 3.1-3.094 3.094 3.094 0 0 1 0 6.188Zm22.668 19.525h-5.336v-8.353c0-1.99-.036-4.556-2.778-4.556-2.777 0-3.199 2.173-3.199 4.416v8.493h-5.33V13.493h5.12v2.348h.07c.71-1.35 2.453-2.777 5.048-2.777 5.407 0 6.405 3.558 6.405 8.184v9.43Z"
    />
  </svg>
);

export const PaperPlaneIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={23}
    height={22}
    fill="none"
    {...props}
  >
    <path
      fill="currentColor"
      d="M22.948.943a.66.66 0 0 0-.159-.742.75.75 0 0 0-.775-.152L1.104 8.05h-.002l-.65.248a.716.716 0 0 0-.309.227.67.67 0 0 0-.07.715.7.7 0 0 0 .262.277l.589.358.001.003 7.18 4.37 4.569 6.867.003.003.373.564a.71.71 0 0 0 .29.248.747.747 0 0 0 .747-.067.692.692 0 0 0 .237-.295L22.948.943Zm-2.634 2.599L9.54 13.846l-.309-.465a.704.704 0 0 0-.221-.212l-.486-.295L19.297 2.57l1.694-.648-.676 1.62h-.001Z"
    />
  </svg>
);

export const EnvelopeIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={24}
    height={18}
    fill="none"
    {...props}
  >
    <path
      fill="currentColor"
      stroke="currentColor"
      d="M3 .5h18a2.5 2.5 0 0 1 2.335 1.607L12 9.035.665 2.107A2.5 2.5 0 0 1 3 .5ZM.965 16.456l9.178-5.626 1.596.976.261.159.26-.16 1.597-.975 9.177 5.625A2.499 2.499 0 0 1 21 17.5H3a2.5 2.5 0 0 1-2.035-1.044Zm6.782-7.09L.5 13.807v-8.87l7.247 4.428ZM23.5 4.936v8.872l-7.248-4.443L23.5 4.937Z"
    />
  </svg>
);

export const PhoneIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={24}
    height={24}
    fill="none"
    {...props}
  >
    <path
      fill="currentColor"
      fillRule="evenodd"
      d="M2.828.766a2.617 2.617 0 0 1 3.915.245L9.436 4.47c.493.634.667 1.46.472 2.24l-.82 3.286a1.017 1.017 0 0 0 .267.964l3.685 3.686a1.017 1.017 0 0 0 .966.267l3.284-.82a2.617 2.617 0 0 1 2.24.472l3.46 2.69a2.617 2.617 0 0 1 .244 3.917l-1.55 1.551c-1.11 1.11-2.77 1.598-4.316 1.053a27.95 27.95 0 0 1-10.515-6.63A27.95 27.95 0 0 1 .223 6.633C-.32 5.088.167 3.427 1.277 2.317L2.828.767Z"
      clipRule="evenodd"
    />
  </svg>
);

export const LocationDotIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={28}
    height={28}
    viewBox="0 0 24 24"
    {...props}
  >
    <path
      fill="currentColor"
      d="m18.157 16.882-1.187 1.174c-.875.858-2.01 1.962-3.406 3.312a2.25 2.25 0 0 1-3.128 0l-3.491-3.396c-.44-.431-.806-.794-1.102-1.09a8.707 8.707 0 1 1 12.314 0ZM14.5 11a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"
    />
  </svg>
);

export const WrenchIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={24}
    height={24}
    viewBox="0 0 24 24"
    {...props}
  >
    <g fill="currentColor">
      <path
        fillRule="evenodd"
        d="M12 6.75a5.25 5.25 0 0 1 6.775-5.025.75.75 0 0 1 .313 1.248l-3.32 3.319a2.248 2.248 0 0 0 1.941 1.939l3.318-3.319a.75.75 0 0 1 1.248.313 5.25 5.25 0 0 1-5.472 6.756c-1.018-.086-1.87.1-2.309.634L7.344 21.3A3.298 3.298 0 1 1 2.7 16.657l8.684-7.151c.533-.44.72-1.291.634-2.309A5.342 5.342 0 0 1 12 6.75ZM4.117 19.125a.75.75 0 0 1 .75-.75h.008a.75.75 0 0 1 .75.75v.008a.75.75 0 0 1-.75.75h-.008a.75.75 0 0 1-.75-.75v-.008Z"
        clipRule="evenodd"
      />
      <path d="m10.076 8.64-2.201-2.2V4.874a.75.75 0 0 0-.364-.643l-3.75-2.25a.75.75 0 0 0-.916.113l-.75.75a.75.75 0 0 0-.113.916l2.25 3.75a.75.75 0 0 0 .643.364h1.564l2.062 2.062 1.575-1.297Z" />
      <path
        fillRule="evenodd"
        d="m12.556 17.329 4.183 4.182a3.375 3.375 0 0 0 4.773-4.773l-3.306-3.305a6.803 6.803 0 0 1-1.53.043c-.394-.034-.682-.006-.867.042a.589.589 0 0 0-.167.063l-3.086 3.748Zm3.414-1.36a.75.75 0 0 1 1.06 0l1.875 1.876a.75.75 0 1 1-1.06 1.06L15.97 17.03a.75.75 0 0 1 0-1.06Z"
        clipRule="evenodd"
      />
    </g>
  </svg>
);

export const AngleUpIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={24}
    height={24}
    viewBox="0 0 448 512"
    {...props}
  >
    <path
      fill="currentColor"
      d="M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z"
    />
  </svg>
);

export const LoaderIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={24}
    height={24}
    viewBox="0 0 24 24"
    {...props}
  >
    <path
      fill="none"
      stroke="currentColor"
      strokeLinecap="round"
      strokeLinejoin="round"
      strokeWidth={2}
      d="M21 12a9 9 0 1 1-6.219-8.56"
    />
  </svg>
);

export const CaretRightIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={12}
    height={12}
    viewBox="0 0 24 24"
    {...props}
  >
    <path
      fill="currentColor"
      fillRule="evenodd"
      d="M10.3 5.6A2 2 0 0 0 7 7v10a2 2 0 0 0 3.3 1.5l5.9-4.9a2 2 0 0 0 0-3l-6-5Z"
      clipRule="evenodd"
    />
  </svg>
);

export const BarsIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={24}
    height={24}
    viewBox="0 0 448 512"
    {...props}
  >
    <path
      fill="currentColor"
      d="M0 96c0-17.7 14.3-32 32-32h384c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32h384c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zm448 160c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h384c17.7 0 32 14.3 32 32z"
    />
  </svg>
);

export const XmarkIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={24}
    height={24}
    viewBox="0 0 24 24"
    {...props}
  >
    <path
      fill="currentColor"
      fillRule="evenodd"
      d="M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1Zm3.707 8.707a1 1 0 0 0-1.414-1.414L12 10.586 9.707 8.293a1 1 0 1 0-1.414 1.414L10.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L12 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L13.414 12l2.293-2.293Z"
      clipRule="evenodd"
    />
  </svg>
);

export const ArrowRightLongIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={36}
    height={36}
    viewBox="0 0 24 24"
    {...props}
  >
    <g fill="none">
      <path
        stroke="currentColor"
        strokeLinecap="round"
        strokeLinejoin="round"
        d="M17 12H3"
      />
      <path
        fill="currentColor"
        d="m21.643 11.786-3.431-2.059a.8.8 0 0 0-1.212.686v3.174a.8.8 0 0 0 1.212.686l3.43-2.059a.25.25 0 0 0 0-.428"
      />
    </g>
  </svg>
);

export const RealEstateIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={69}
    height={60}
    fill="none"
    {...props}
  >
    <mask id="a" fill="currentColor">
      <path d="M68.313 46.608c-.84-2.477-3.488-3.929-6.135-3.4l-4.293.855V23.53l2.164 1.64a4.16 4.16 0 0 0 2.522.837 4.17 4.17 0 0 0 3.22-1.486c.68-.82.984-1.845.84-2.87a3.949 3.949 0 0 0-1.537-2.613L40.927.846a4.211 4.211 0 0 0-5.062 0l-6.636 4.987V3.186c0-.7-.609-1.281-1.342-1.281h-7.978c-.733 0-1.341.58-1.341 1.28v10.677l-6.887 5.176a3.91 3.91 0 0 0-1.539 2.613c-.143 1.042.18 2.05.841 2.87 1.395 1.691 3.971 1.982 5.742.65l2.165-1.64v13.203c-1.074.206-1.736.462-1.807.496-.018.017-.054.017-.072.034l-4.776 2.357v-1.28c0-.701-.608-1.282-1.341-1.282H1.342C.608 37.06 0 37.64 0 38.34v20.225c0 .7.608 1.281 1.342 1.281h9.57c.733 0 1.341-.58 1.341-1.28v-2.802l4.365-1.418 20.5 5.432a6.58 6.58 0 0 0 1.716.222c.608 0 1.217-.085 1.807-.24l24.113-6.712c1.395-.393 2.54-1.281 3.202-2.494a4.907 4.907 0 0 0 .357-3.946ZM21.233 4.467h5.294v3.382l-5.294 3.98V4.467Zm-6.171 18.687c-.609.462-1.503.36-1.968-.222a1.243 1.243 0 0 1-.286-.99c.035-.36.232-.667.518-.889L37.53 2.861a1.424 1.424 0 0 1 1.735 0l24.202 18.192c.304.222.483.547.518.889.036.358-.053.7-.286.99a1.442 1.442 0 0 1-1.967.222L39.228 6.244a1.356 1.356 0 0 0-.823-.274c-.286 0-.59.086-.823.273l-22.52 16.911Zm23.325-14.28 16.815 12.64v23.078l-7.764 1.555a4.928 4.928 0 0 0-1.538-2.238V29.2c0-.7-.608-1.28-1.342-1.28h-12.36c-.733 0-1.342.58-1.342 1.28v10.08l-.071-.017c-3.578-2.17-6.797-2.768-9.212-2.768v-14.98L38.387 8.874Zm4.848 33.788-9.678-2.63V30.5h9.678v12.162ZM9.57 57.302H2.683v-17.68H9.57v17.68Zm56.024-7.961a2.585 2.585 0 0 1-1.592 1.23L39.89 57.284a4 4 0 0 1-2.057.017L16.94 51.766a1.37 1.37 0 0 0-.787.018l-3.9 1.264V42.49l5.957-2.938c.465-.188 5.187-1.862 11.305 1.947.107.069.232.12.357.154l13.202 3.604c.983.274 1.699 1.025 1.896 1.948-.036 1.008-.358 1.725-.93 2.118-.93.649-2.701.615-4.848-.069-.018 0-.054-.017-.072-.017l-12.503-3.21c-.716-.189-1.449.221-1.646.904-.197.684.233 1.384.948 1.572l12.468 3.211c1.377.427 2.648.65 3.774.65 1.378 0 2.54-.325 3.453-.957.68-.461 1.449-1.281 1.806-2.665l15.294-3.058c1.324-.256 2.63.462 3.041 1.691a2.356 2.356 0 0 1-.16 1.965Z" />
    </mask>
    <path
      fill="currentColor"
      stroke="currentColor"
      strokeWidth={4}
      d="M68.313 46.608c-.84-2.477-3.488-3.929-6.135-3.4l-4.293.855V23.53l2.164 1.64a4.16 4.16 0 0 0 2.522.837 4.17 4.17 0 0 0 3.22-1.486c.68-.82.984-1.845.84-2.87a3.949 3.949 0 0 0-1.537-2.613L40.927.846a4.211 4.211 0 0 0-5.062 0l-6.636 4.987V3.186c0-.7-.609-1.281-1.342-1.281h-7.978c-.733 0-1.341.58-1.341 1.28v10.677l-6.887 5.176a3.91 3.91 0 0 0-1.539 2.613c-.143 1.042.18 2.05.841 2.87 1.395 1.691 3.971 1.982 5.742.65l2.165-1.64v13.203c-1.074.206-1.736.462-1.807.496-.018.017-.054.017-.072.034l-4.776 2.357v-1.28c0-.701-.608-1.282-1.341-1.282H1.342C.608 37.06 0 37.64 0 38.34v20.225c0 .7.608 1.281 1.342 1.281h9.57c.733 0 1.341-.58 1.341-1.28v-2.802l4.365-1.418 20.5 5.432a6.58 6.58 0 0 0 1.716.222c.608 0 1.217-.085 1.807-.24l24.113-6.712c1.395-.393 2.54-1.281 3.202-2.494a4.907 4.907 0 0 0 .357-3.946ZM21.233 4.467h5.294v3.382l-5.294 3.98V4.467Zm-6.171 18.687c-.609.462-1.503.36-1.968-.222a1.243 1.243 0 0 1-.286-.99c.035-.36.232-.667.518-.889L37.53 2.861a1.424 1.424 0 0 1 1.735 0l24.202 18.192c.304.222.483.547.518.889.036.358-.053.7-.286.99a1.442 1.442 0 0 1-1.967.222L39.228 6.244a1.356 1.356 0 0 0-.823-.274c-.286 0-.59.086-.823.273l-22.52 16.911Zm23.325-14.28 16.815 12.64v23.078l-7.764 1.555a4.928 4.928 0 0 0-1.538-2.238V29.2c0-.7-.608-1.28-1.342-1.28h-12.36c-.733 0-1.342.58-1.342 1.28v10.08l-.071-.017c-3.578-2.17-6.797-2.768-9.212-2.768v-14.98L38.387 8.874Zm4.848 33.788-9.678-2.63V30.5h9.678v12.162ZM9.57 57.302H2.683v-17.68H9.57v17.68Zm56.024-7.961a2.585 2.585 0 0 1-1.592 1.23L39.89 57.284a4 4 0 0 1-2.057.017L16.94 51.766a1.37 1.37 0 0 0-.787.018l-3.9 1.264V42.49l5.957-2.938c.465-.188 5.187-1.862 11.305 1.947.107.069.232.12.357.154l13.202 3.604c.983.274 1.699 1.025 1.896 1.948-.036 1.008-.358 1.725-.93 2.118-.93.649-2.701.615-4.848-.069-.018 0-.054-.017-.072-.017l-12.503-3.21c-.716-.189-1.449.221-1.646.904-.197.684.233 1.384.948 1.572l12.468 3.211c1.377.427 2.648.65 3.774.65 1.378 0 2.54-.325 3.453-.957.68-.461 1.449-1.281 1.806-2.665l15.294-3.058c1.324-.256 2.63.462 3.041 1.691a2.356 2.356 0 0 1-.16 1.965Z"
      mask="url(#a)"
    />
  </svg>
);

export const GlobeIcon = (props: SVGProps<SVGSVGElement>) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={60}
    height={60}
    fill="none"
    {...props}
  >
    <path
      fill="currentColor"
      d="M15.366 13.317c-2.634-.951-5.122-2.195-7.537-3.658 3.732-4.025 8.488-7.098 13.903-8.635-2.634 2.854-4.83 7.098-6.366 12.293ZM7.829 49.976c3.732 4.097 8.561 7.097 13.976 8.707-2.707-2.927-4.903-7.17-6.366-12.366a38.433 38.433 0 0 0-7.61 3.659Zm5.342-18.659H0c.293 6.146 2.415 11.78 5.854 16.39 2.78-1.756 5.707-3.146 8.707-4.244-.805-3.731-1.244-7.829-1.39-12.146Zm25.097 27.366c5.415-1.537 10.244-4.61 13.903-8.634-2.415-1.464-4.903-2.707-7.537-3.659-1.536 5.195-3.732 9.44-6.366 12.293ZM52.171 9.732c-3.732-4.098-8.561-7.098-13.976-8.708 2.707 2.927 4.903 7.171 6.366 12.366a38.432 38.432 0 0 0 7.61-3.658ZM14.634 16.17c-3-1.098-5.927-2.488-8.707-4.244C2.487 16.537.366 22.244 0 28.39h13.17c.147-4.39.586-8.488 1.464-12.22ZM46.83 28.39H60c-.293-6.147-2.415-11.78-5.854-16.39-2.78 1.756-5.707 3.146-8.707 4.244.805 3.732 1.244 7.83 1.39 12.146Zm-1.463 15.146c3 1.097 5.927 2.487 8.707 4.244 3.512-4.61 5.634-10.318 5.927-16.464H46.83c-.147 4.39-.586 8.488-1.464 12.22Zm-16.83 16.17v-15.95c-3.512.145-7.024.658-10.39 1.609 2.269 7.756 6.073 13.244 10.39 14.341Zm15.366-28.39h-12.44v9.512c3.805.147 7.464.732 11.05 1.756.804-3.439 1.243-7.243 1.39-11.268Zm-12.439 12.44v15.877c4.318-1.024 8.122-6.512 10.318-14.268-3.293-.878-6.805-1.464-10.318-1.61Zm0-43.757V15.95c3.513-.146 7.025-.658 10.39-1.61C39.586 6.585 35.782 1.024 31.464 0ZM16.098 28.39h12.439v-9.512a46.437 46.437 0 0 1-11.05-1.756c-.804 3.439-1.243 7.244-1.39 11.268Zm2.122-14.122a44.053 44.053 0 0 0 10.317 1.683V0C24.22 1.024 20.415 6.585 18.22 14.268Zm24.292 2.854a46.437 46.437 0 0 1-11.049 1.756v9.512h12.44c-.147-4.024-.586-7.829-1.39-11.268ZM17.488 42.585a47.034 47.034 0 0 1 11.049-1.756v-9.512h-12.44c.147 4.025.586 7.756 1.39 11.268Z"
    />
  </svg>
);
