html, body {
	width: 100%;
	height: 100%;
	overflow: hidden;
	margin: 0;
	padding: 0;
	background: #fff;
}

body {
	margin: 0;
	font-family: 'Noto Sans', Arial, Helvetica, sans-serif;
	font-weight: 400;
}

body * {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

nav {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: space-around;
	justify-content: space-around;
	width: 350px;
	background-color: #ffffff;
	background-color: #fffffff2;
	border-right: 1px dashed #dd5643;
	height: 100vh;
	position: fixed;
	z-index: 10000;
	padding: 40px 0;
	overflow: hidden;
}

nav .controls.top {
	position: absolute;
	top: 5px;
	right: 5px;
/*	border: 1px solid #ccc;
	border-radius: 10px; */
	width: 40px;
	height: 40px;
}

nav .controls.bottom {
	position: absolute;
	bottom: 5px;
	right: 5px;
/*	border: 1px solid #ccc;
	border-radius: 10px; */
	width: 40px;
	height: 40px;
	line-height: 40px;
	font-size: 32px;
	color: #000;
	text-align: center
}

/*nav .controls:hover {
	box-shadow: 0px 0 4px rgb(0 0 0 / 24%)
}*/

nav .controls span {
	display: block;
	width: 40px;
	height: 40px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 26px;
	opacity: 50%;
	cursor: pointer;
}

nav .controls:hover span {
	opacity: 70%
}

nav .controls span.expand {
	background-image: url(img/menu.svg);
	display: none
}

nav .controls span.collapse {
	background-image: url(img/arrow-left.svg)
}

nav .controls span.titles {
	opacity: 0.3
}
nav .controls span.titles.enabled {
	opacity: 1
}

nav .item {
	display: block;
	width: 100%;
	padding: 10px 15px;
	text-align: center;
	white-space: nowrap;
	font-size: 13px;
}

nav div.item a {
	display: block;
}

nav div.item a:hover,
nav.item-2a div.item a:first-child,
nav.item-2b div.item a:last-child {
	background: url(img/menu-line.png) center center no-repeat;
	background-size: contain;
}

nav img {
	width: 100%;
	height: auto;
}

nav.collapsed {
	width: 50px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 40px;
}

nav.collapsed.item-1 {
	background-image: url(img/menu-1-v.png);
}
nav.collapsed.item-2a {
	background-image: url(img/menu-2a-v.png);
}
nav.collapsed.item-2b {
	background-image: url(img/menu-2b-v.png);
}
nav.collapsed.item-3 {
	background-image: url(img/menu-3-v.png);
}
nav.collapsed.item-4 {
	background-image: url(img/menu-4-v.png);
}

nav.collapsed .item {
	display: none
}

nav.collapsed .controls span.expand {
	display: block
}

nav.collapsed .controls span.collapse {
	display: none
}


body.scroll div.container {
	background: #fff url(img/bg-line.jpg) right 58px repeat-x;
	background-size: 90px;
	width: intrinsic;
	width: -moz-max-content;
	width: -webkit-max-content;
	width: max-content;
	white-space: nowrap;
	padding-right: 300px;
}

nav .item.instruction {opacity:0} 
body.scroll nav .item.instruction {opacity: 1}

body.scroll div.container .block {display: inline-block}
body.scroll div.container .block.fix-size p {font-size: 14px; padding-bottom: 4px; max-width: 55vw;}

body.scroll.safariFix div.container {height: 100%; vertical-align:top}
body.scroll.safariFix div.container .block {height: 100%; vertical-align:top}

.block {
	height: 100vh;
	padding: 80px 50px 20px 50px;
	overflow: hidden;
	position: relative;
	vertical-align: top
}

.block.separator {
	border-right: 1px dashed #dd5643;
}

.block.tail {width: 1500px}
.block.tail-xs {
	width: 500px;
}

.block.stack-left {padding-right:0}
.block.stack-center {padding-right:0; padding-left:0}
.block.stack-right {padding-left:0}

div.block:last-child {border-right: 0}

.block-1 {width: 350px; padding-right:0; padding-left:0}
.block-1.menu-collapsed {width: 50px}
.block-1 h2 {position: absolute; right: 45px}
.block-1.menu-collapsed div.content {opacity: 0}


div.block div.content {
	display: -webkit-flex;
	display: flex;
    height: 100%;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
	align-content: center;
}

div.block div.content img,
div.block div.content video {
	max-height: 50%
}

div.block div.content .tower {
	max-height: 100%
}

div.block div.content .tower.small {
	max-height: 90%
}

h2 {
	font-size: 45px;
	font-weight: 350;
	margin-top: -75px;
	position: absolute;
}

.block h2 img {max-height: 55px}

.block .tips {
	position: absolute;
	bottom: 15px;
	font-size:150%;
	display: none
}

#hoveringTooltip {
	background: #ffffff;
	background: #ffffffee;
	font-size: 130%;
	padding: 15px 20px
}

.block h5 {
	padding: 10px 0;
	font-size:18px;
	line-height:22px;
	font-weight: 700;
	max-width: 50vw; 
	white-space:normal;
}
.block p {
	max-width: 50vw; 
	white-space:normal;
	padding: 10px 0;
	font-size:16px;
	line-height:20px
}

.block p a,
.block h5 a {
	color: #db2a1f;
	text-decoration:underline
}

.block p a:hover,
.block h5 a:hover {
	color: #db473e;
	text-decoration: none
}

p.sub {font-size: 80%; text-align:right; font-style:italic}

p.fbgo { background:url(img/fbgo.png) 0 10px no-repeat; background-size: 19px; min-height: 65px; padding-left: 29px}

.mobile {display: none !important}

.flying-tip {
	position: fixed;
	bottom: 30px;
	right: 50px;
	background-color: #fff;
	background-color: #fffffff2;
	width: 270px; 
	height: 60px;
	background-image: url(img/arrow.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 5px 65px 5px 15px;
	font-size: 13px;
	z-index: 10000;
	display: none;
	
}


@-webkit-keyframes rotating /* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


.loading {
	position: fixed;
	z-index: 10000;
	left: 50%;
	top: 50%;
	margin-top: -40px;
	margin-left: -40px;
	width: 80px;
	height: 80px;
	background:url(img/loading.png) center center no-repeat;
	background-size: contain;
  -webkit-animation: rotating 2s linear infinite;
  -moz-animation: rotating 2s linear infinite;
  -ms-animation: rotating 2s linear infinite;
  -o-animation: rotating 2s linear infinite;
  animation: rotating 2s linear infinite;
}

.numbered {float: left; margin-right: 7px; width: 27px !important; height: auto; max-height: none !important}

@media only screen and (max-width: 800px) {
    nav {
		width: 100%;
    	height: 45px;
		padding: 0;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 60%;
		border-bottom: 1px dashed #dd5643;
		border-right: none
	}
	
	nav .controls span.collapse {background-image: url(img/menu.svg);}
	nav.collapsed .controls span.expand { background-image: url(img/arrow-left.svg);}
	nav .item {display:none}
	nav .item.instruction {display:none !important}
	nav .controls.top {right:auto; left:5px}
	nav .controls.bottom {bottom: auto; top: 5px}
	
	nav.item-1 {
		background-image: url(img/menu-1-h.png);
	}
	nav.item-2a {
		background-image: url(img/menu-2a-h.png);
	}
	nav.item-2b {
		background-image: url(img/menu-2b-h.png);
	}
	nav.item-3 {
		background-image: url(img/menu-3-h.png);
	}
	nav.item-4 {
		background-image: url(img/menu-4-h.png);
		background-size: 40%;
	}
	
	nav.collapsed {
		height: 100%;
    	width: 100%;
		border-bottom: none;
		background-image: none !important;
		padding-top: 30px;
	}
	nav.collapsed .item {display: block}
  
	body {overflow: auto}
	.container {padding-top:40px; overflow: hidden}
	.block-1 {display: none !important}
	.block {padding: 25px 5px 0 !important; height:auto !important}
	.block p, .block h5 {width: 100%; max-width:none; padding-left:10px; padding-right:10px}
	.block p {font-size: 15px;}
	.block h5 {font-size: 17px; line-height: 24px}
	div.block div.content {height:auto !important}
	div.block div.content img, div.block div.content video {max-height:none; width:100%; height:auto}
	.block.separator {border-right: none; border-bottom: 1px dashed #dd5643; padding-bottom: 30px !important;}
	.block h2 {margin-top: 0; position: static}
	.block p.sub {font-size: 13px;}
	.block h2 img {max-width: 60%; padding-left:10px; }
	.tooltip {position: absolute; bottom: 50%; left:0; right:0; font-size:14px; padding:10px 5px; background: #ffffffee;}
	.tooltip:last-child {bottom:0}
	p.fbgo {background-position: 10px 15px; padding-left: 42px}
	
	.mobile {display: block !important}
	.desktop {display: none !important}
	.flying-tip, .loading {display: none !important}
}
