<!doctype html>
<html class="no-js">
  <head>

	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title>Upsales</title>
	<meta name="description" content="">
	<meta name="viewport" content="initial-scale=1.0, width=device-width, user-scalable=yes">
	<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i" rel="stylesheet">
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/intl-tel-input/16.0.1/css/intlTelInput.css" crossorigin="anonymous">
	<link rel="stylesheet" href="//static.upsales.com/styles/plugin-0bc105411e.css">

<script src="//cdn.ckeditor.com/4.13.1/full/ckeditor.js"></script>

<link rel="stylesheet" href="//static.upsales.com/styles/main-c7fb35519d.css">
	<link rel="stylesheet" href="//static.upsales.com/styles/custom-ckeditor.css">

	<link rel="stylesheet" href="https://unpkg.com/react-select@1.2.1/dist/react-select.css">

	<!-- MUST BE LAST IN HEAD -->
	<script type="text/javascript">
		// Parse qs
		window.urlParams = {
			whitelabel: false
		};
		try {
			var q = window.location.search.substring(1);
			var keys = q.split('&');
			keys.forEach(function(key) {
				var subsplt = key.split('=');
				window.urlParams[subsplt[0]] = subsplt[1] || true;
			});
			window.urlParams.whitelabel = !!window.urlParams.whitelabel;
		} catch(e) {
			console.warn('Could not parse querystring', e);
		}
		if(window.urlParams.whitelabel) {
			var styles = {
				fortnox: 'fortnox.css',
				red: 'red.css'
			};
			var changeStyle = function(style) {
				if(!styles[style.toLowerCase()]) {
					return;
				}
				var link = document.createElement('link');
				link.href = 'wl_styles/'+styles[style.toLowerCase()];
				link.type = 'text/css';
				link.rel = 'stylesheet';
				link.media = 'screen,print';

				document.getElementsByTagName('head')[0].appendChild(link);
			};

			if(window.urlParams.whitelabel_style) {
				changeStyle(window.urlParams.whitelabel_style);
			}

			document.ready = function() {
				document.body.classList.add('whitelabel');
				window.addEventListener('message', function(e) {
					if(e.data[0] === 'changeStyle') {
						changeStyle(e.data[1]);
					}
				});
			};
		} else {
			document.ready = function() {
				document.getElementById('upsales-main-app-loader').classList.remove('hide-u');
			};
		}
	</script>
	</head>

	<body ng-app="upsalesApp" data-target="#nav" ng-controller="MainCtrl as Main">

		<!-- APPLICATION -->
		<div id="blur-wrap" ng-class="{'is-blurred': Main.loginWarningOpen}">

			<div up-navbar-root></div>

			<div id="coverup"></div>

			<div id="react-root"></div>

			<div id="main-wrapper">
				<div ng-if="Main.isLoggedIn" id="sidebar" class="text-center">
					<div ng-include="'upsales/sidebar.html'"></div>
				</div>
				<div id="main-view" class="view-container">
					<div ui-view id="main-content"></div>
				</div>
			</div>
      <div utm-generator></div>
      <div id="filter-popup-wrap"></div>
			<div id="up-inline-curtain"></div>
			<div id="app-loader">
				<div id="loader-wrap">
					<div id="upsales-main-app-loader" class="upsales-loader hide-u" style="width: 100%;">
						<svg
							viewBox="0 0 100 100"
							preserveAspectRatio="xMidYMid">

							<animate attributeName="opacity" values="0;1" dur="0.3s" repeatCount="0"/>

							<g>
								<rect x="0" y="0" width="100" height="100" fill="none"></rect>

								<circle class="bg-circle" cx="50" cy="50" r="40" opacity="0.05" stroke="#000000" fill="none" stroke-width="3" stroke-linecap="round"></circle>

								<circle class="progress-circle" cx="50" cy="50" r="40" stroke="#4a90e2" fill="none" stroke-width="3" stroke-linecap="round">

									<animate attributeName="stroke-dashoffset" dur="2.3s" repeatCount="indefinite" from="0" to="502"></animate>

									<animate attributeName="stroke-dasharray" dur="2.3s" repeatCount="indefinite" values="150.6 100.4;1 250;150.6 100.4"></animate>
								</circle>

								<g x="" y="0" transform="translate(-135,-135) rotate(0)">
									<path class="upsales-u" stroke="none" fill="#FFFFFF" d="M199.184025,174.178389 C198.647987,174.178389 197.972076,174.31217 197.597687,174.672286 C197.177232,175.029878 196.925127,176.419018 196.900838,176.911233 L196.176349,190.798424 C195.745843,199.040709 192.36629,202.311203 184.114653,202.311203 C181.39761,202.311203 178.652928,201.908176 176.512963,200.204355 C173.73394,197.919974 173.738128,194.383599 173.916528,190.97764 L174.646043,177.001262 C174.744875,175.119907 174.574013,174.135478 172.431535,174.178389 L172.8143,171.937759 L182.089434,171.937759 L181.797126,174.135478 C179.969571,174.135478 179.341402,175.029878 179.250108,176.777452 L178.466152,191.784536 C178.191432,197.068484 179.434371,198.906086 184.828254,198.906086 C190.313432,198.906086 191.31599,195.950273 191.568096,191.112263 L192.330275,176.507364 C192.416544,174.851503 191.862079,174.31217 190.265691,174.178389 L190.696196,171.937759 L199.568465,171.937759 L199.184025,174.178389"></path>
								</g>
							</g>
						</svg>
					</div>
					<b id="loading-upsales-text" ng-if="('default.loadingUpsales' | translate) != 'default.loadingUpsales'" ng-bind="'default.loadingUpsales' | translate"></b>
				</div>
			</div>
		</div>

		<div id="notifications"></div>
		<div up-flash-root></div>
		<div up-voice-root></div>

	<script src="//static.upsales.com/scripts/plugins-6b2c5303e5.js"></script>

<script src="//static.upsales.com/bower_components/pdfjs-dist/build/pdf.js"></script>
<script src="//maps.googleapis.com/maps/api/js?key=AIzaSyBz8DCi-zXpKspt_-LTIlhu-0vbLYMTNOA&libraries=places&v=3"></script>
<script src="//js.pusher.com/4.3.1/pusher.min.js"></script>
<script src="//fast.wistia.net/assets/external/E-v1.js" async></script>
<script src="https://unpkg.com/tippy.js@2.5.2/dist/tippy.all.min.js"></script>



	<script src="//static.upsales.com/scripts/modules-082235407b.js"></script>

	<script src="//static.upsales.com/upsales/upsales-d92e7ccf3f.js"></script>

	<!--Segment-->
	<script type="text/javascript">
		/*eslint-disable */
		!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="3.1.0";
		analytics.load("ogsdweHWKUpm0Ci3KAkx9llTOugqWbZQ");
		analytics.page()
		}}();
		/*eslint-enable */
	</script>
</body>
</html>
