<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
	
<!-- The "title" below should be less than 60 characters. It gets displayed at the top of a visitor's web browser. -->
<title>San Francisco Vegan Reasons and Restaurants &#9829; PlantBasedSF.org</title>
<!-- The "description" is what some search engines display to describe your site. It should be less than 160 characters. -->
<meta name="description" content="San Francisco vegan resource - reasons, restaurants and recipes." />

<!-- This section below is what gets displayed on Facebook when someone shares your URL -->
<meta property="og:site_name" content="PlantBasedSF.org" /><!-- Site name displayed by Facebook. Typically YourDomain.ext -->
<meta property="og:title" content="PlantBasedSF.org" /><!-- Page title displayed by Facebook. Max 55 characters. -->
<meta property="og:description" content="San Francisco vegan resource - reasons, restaurants and recipes."/>
<meta property="og:image" content="https://www.plantbasedsf.org/PlantBasedSF.png" /><!--Facebook preview image. Recommended is 1200x630, minimum 600x315. -->
<!-- If Facebook is showing an old image, reload it at https://developers.facebook.com/tools/debug/sharing/ -->
<meta property="og:url" content="https://www.plantbasedsf.org" /><!--The exact URL of this page -->
<meta property="og:type" content="website" />

<!-- Similar to above but for Twitter -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="PlantBasedSF.org" /><!-- Maximum 70 characters -->
<meta name="twitter:description" content="San Francisco vegan resource - reasons, restaurants and recipes." /><!-- Maximum 200 characters -->
<meta name="twitter:image" content="https://www.plantbasedsf.org/PlantBasedSF.png" /><!-- Square image with minimum dimensions of 144x144 -->
<meta name="twitter:image:at" content="Logo for PlantBasedSF.org" /><!-- Description of image for visually impaired -->

<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="referrer" content="same-origin" /><!-- "same-origin" is best for visitor privacy while still allowing home/back buttons to work | "strict-origin-when-cross-origin" would be next best if need to send a referer to cdn/etc. -->

<style> 
html { 
	overflow: auto; 
}       
html, 
body, 
iframe { 
	margin: 0px; 
	padding: 0px; 
	height: 100%; 
	border: none; 
} 
  
iframe { 
	display: block; 
	width: 100%; 
	border: none; 
	overflow-y: auto; 
	overflow-x: hidden; 
}


#modaldiv {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:#333;
	z-index: 3;
	opacity: 1;
	transition: opacity 3s;
	-webkit-transition-duration: 2.5s;
	-moz-transition-duration: 2.5s;
	-o-transition-duration: 2.5s;
	transition-duration: 2.5s;
}

#spinnerdiv {
	position: fixed;
	top: 45%;
	z-index:5;
	width:100%;
	text-align:center;
	margin-top:0;
	opacity: 1;
	transition: opacity 1s;
	-webkit-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-o-transition-duration: 1s;
	transition-duration: 1s;
}

#archivenote1, #archivenote2 {
	display:none;
	z-index:10;
	position:fixed;
	top:20px;
	left:20px;
	width: calc(100% - 60px);
	max-width:525px;
	background-color:#000;
	border:1px solid #fff;
	padding:6px;
	color:#fff;
	font-size:20px;
	font-family: 'Arial Narrow', Arial, Helvetica, sans-serif;
}


</style>

<script>
function fadeSpinner() {
 setTimeout(function () { 
	document.getElementById("modaldiv").style.opacity = "0";
	document.getElementById("spinnerdiv").style.opacity = "0";
 }, 750); 
 // MUST also remove modal div so that underframe is clickable
 setTimeout(function () { 
	document.getElementById("modaldiv").style.display = "none";
	document.getElementById("spinnerdiv").style.display = "none";
 }, 3000); 
}
</script>

</head> 
<body>
	
<div id="modaldiv"></div>
<div id="spinnerdiv">
<!-- SPINNER FROM: https://codepen.io/tutsplus/details/MLBMRw -->
<svg width="150" height="150" viewBox="0 0 200 200">
    <g transform="translate(100 100)">
      <path transform="translate(-50 -50)" fill="#0c0" d="M92.71,7.27L92.71,7.27c-9.71-9.69-25.46-9.69-35.18,0L50,14.79l-7.54-7.52C32.75-2.42,17-2.42,7.29,7.27v0 c-9.71,9.69-9.71,25.41,0,35.1L50,85l42.71-42.63C102.43,32.68,102.43,16.96,92.71,7.27z"></path>
      <animateTransform 
          attributeName="transform" 
          type="scale" 
          values="1; 1.5; 1.25; 1.5; 1.5; 1;" 
          dur="1s" 
          repeatCount="indefinite"
          additive="sum">      
      </animateTransform>
  </g>
</svg>
</div>

<iframe id="mainframe" src=null
		frameborder="0" 
		marginheight="0" 
		marginwidth="0" 
		width="100%" 
		height="100%" 
		scrolling="auto" allowfullscreen> 
</iframe>

<script>
document.getElementById('mainframe').src = "https://www.chooseplantbased.org/?fr=sanfrancisco" + window.location.hash;
</script>


<div id="archivenote1">
<span style="font-weight:bold;">Are you on an archive website?</span> 
<span style="white-space:nowrap;">If so, 
<a href="" onclick="document.getElementById('archivenote1').style.display='none';document.getElementById('archivenote2').style.display='block';return false;" style="color:#fff;">click&nbsp;here</a>. 
Otherwise, <a href="" onclick="document.getElementById('archivenote1').style.display='none';return false;" style="color:#fff;">close</a>
</span>
</div>

<div id="archivenote2">
If you're viewing this page on an archiving website, 
please note that 1)&nbsp;it's a frame of www.chooseplantbased.org, and 2) 
many images and videos from that website will not display correctly on an archive site.
<br /><br />
You can instead download a fully functional version from: 
<span style="white-space:nowrap;">https://archive.org/details/chooseplantbased-dot-org</span>
<br /><br />
<a href="" onclick="document.getElementById('archivenote2').style.display='none';return false;" style="color:#fff;">Close</a>
</div>



<script>
// Show archivenote if necessary
const urlstring = window.location.href;
if(urlstring.indexOf("archiv")>0) { document.getElementById("archivenote1").style.display="block"; }
	
// Wait for main background image to be loaded before fading out the modal and spinner. And pause a second before doing so.
 setTimeout(function () { 
var preloadimage01 = new Image();
	preloadimage01.src = "https://www.chooseplantbased.org/pics/bg-neta.jpg";
	preloadimage01.onload = () => { fadeSpinner(); }
	preloadimage01.onerror = () => { fadeSpinner(); }
 }, 1000); 
	

// In case above fails, show frame after 7 seconds
setTimeout(function () { 
	document.getElementById("modaldiv").style.display = "none";
	document.getElementById("spinnerdiv").style.display = "none";
}, 7000); 
</script>

</body> 
</html> 
