@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,400italic);

html
{
	width:100%;
	height:100%;
}
body
{
	margin:0;
	width:100%;
	height:100%;
	
	font-family:'Source Sans Pro',sans-serif;
/* 
	font-size:16px;
	line-height:20px;
 */
	font-size:100%;
	line-height:1.2;
	
	-webkit-text-size-adjust:100%;
	/* background-color:magenta !important;  *//* development */
}
body *
{
	box-sizing: border-box;
    -moz-box-sizing: border-box;
}


/*	main layout
*/

#viewport
{
	position:relative;
	margin:auto;
	width:100%;
	height:100%;
	
}
#home,#diary,#canvas
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	min-height:100%;
}
#home
{
 	background-size:cover;
}
html.list #home
{
	position:fixed;
	left:auto;
}
#diary
{
	z-index:1000;
}
#list
{	
	position:relative;
	overflow:hidden;
}
#canvas
{
	position:fixed;
}
#canvas > canvas
{
	position:absolute;
}
#modals
{
	position:fixed;
	left:0;
	top:0;
	right:0;
	bottom:0;
	z-index:2100;
}


/*	view states
*/

#connect,
#diary,
#list,
#detail,
#stats,
#match,
#stats-sidebar,
#canvas,
html:not(.my) .button.match,
html:not(.my) #compare,
#modals,
/* 
html.modal.gallery #share,
html.modal.share #gallery,
 */
#match-card > div:not(.avatar),
html:not(.my) #home-menu .playlist
{
	display:none; /* default, only home shown */
}

html.my:not(.connected) #connect,
html.list #diary,
html.cloud #diary,
html.list #list,
html.list.landscape #stats-sidebar,
html.stats #stats,
html.connected #compare .swipe,
html:not(.connected) #compare .connect,
html.match #match,
html.cloud #canvas:not(.hidden),
html.modal #modals,
html:not(.connected) #match-card > .connect,
html.connected #match-card:not(.joined) > .join,
html.connected #match-card.joined > .matches,
html.debug #debug
{
	display:block;
}
html.cloud #welcome,
html.list #welcome
{
	opacity:.2;
	opacity:0;

	transition:opacity .6s ease 0s;
	-webkit-transition:opacity .6s ease 0s;
}
html.list:not(.detail) #diary-menu:not(.hidden),
html.cloud:not(.detail) #diary-menu:not(.hidden)
{
	transform:none;
	-webkit-transform:none;

	transition:transform .22s ease 0s;
	-webkit-transition:-webkit-transform .22s ease 0s;
}
/* html.modal.gallery #gallery, */
html.modal.share #share
{
	opacity:1;
}


/*	generic UI elements
*/

.icon
{
	position:relative;
	border-radius:50%;
	background-color:#333;
}
.icon > canvas
{
	position:absolute;
	left:25%;
	top:25%;
	width:50%;
	height:50%;
}
.button
{
	position:relative;
	display:block;
	width:42px;
	height:42px;

	border:2px solid white;
	border-radius:50%;
	background:rgba(0,0,0,.4) none no-repeat 0 0;
	background-size:cover;
	-webkit-background-clip: padding-box; 
	-moz-background-clip:padding; 
	background-clip:padding-box;

	box-shadow:0px 1px 2px rgba(0,0,0,.15);

	z-index:2000;
}
/* 
.button.close
{
	background-image:url(../media/back.svg);
}
 */
.button.close,
.button.back
{
	background-image:url(../media/close.svg);
}
.avatar
{
	position:relative;
	width:80px;
	height:80px;
	
	border-radius:50%;
	border-width:2px;
	border-style:solid;
	border-color:#333;
	
	background:transparent none no-repeat 0 0;
	background-size:cover;
}
.bg
{
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
}


/*	home
*/

#welcome
{
	padding:10px 15px;
	text-align:center;
	
	transition:opacity .4s ease 0s;
	-webkit-transition:opacity .4s ease 0s;
}
#branding
{
	margin:auto;
	width:120px;
	height:50px;
	
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:cover;
}
#welcome .avatar
{
	width:100px;
	height:100px;
	margin:20px auto 10px auto;
}
#intro
{
/* 
	font-size:40px;
	line-height:50px;
 */
	text-shadow:1px 1px 1px rgba(0,0,0,.4);

	font-size:2.5em;
	/* line-height:1.2; */

}
#enter,
a.connect,
#compare > .connect > a,
.action
{
	display:block;
	width:190px;
	position:relative;
	margin:20px auto 40px auto;
	padding:5px;
	
	border-radius:10px;
	border-width:2px;
	border-style:solid;

/* 
	font-size:30px;
	line-height:50px;
 */
 	font-size:1.875em;
	text-decoration:none;
	text-align:center;
	white-space:nowrap;
	
	box-shadow:1px 1px 1px rgba(0,0,0,.4);
}
#enter.loading
{
	opacity:.5;
}
/* #enter > .icon, */
a.connect > img,
#compare > .connect > a > img
{
	display:inline-block;
	vertical-align:middle;
	margin:0 7px 0 -5px;
}
#enter
{
	line-height:32px;
	padding:8px 5px;
}
#enter > .icon
{
	/* margin-bottom:-2px; */
	display:inline-block;
}
#enter > .icon > canvas
{
	left:0;
	top:0;
	width:100%;
	height:100%;
}

#connect
{
	margin-top:-10px;
	margin-bottom:30px;
}
a.connect,
#compare > .connect > a
{
	margin-bottom:5px;
	
	color:white;
	line-height:32px;
	text-shadow:1px 1px 1px rgba(0,0,0,.4);
	box-shadow:none;
	
	background-color:#3b5998;
}
#connect > .connect > img,
#compare > .connect > a > img
{
	margin-right:10px;
}
#connect > .caption
{
	width:180px;
	margin:auto;

	font-family:'Source Sans Pro',sans-serif;
	font-size:14px;
}

#home-menu
{
	position:fixed;
	bottom:0;
	height:72px;
	height:60px; /* no labels */

	transition:transform .2s ease .4s;
	-webkit-transition:-webkit-transform .2s ease .4s;
}
html.cloud #home-menu,
html.list #home-menu
{
	transform:translateY(100%);
	-webkit-transform:translateY(100%);

	transition:transform .15s ease 0s;
	-webkit-transition:-webkit-transform .15s ease 0s;
}
#home-menu .button
{
	position:absolute;
	background-color:rgba(0,0,0,.3);
}
#home-menu .button.playlist
{
	background-image:url(../media/playlist.svg);
	left:20px;
}
#home-menu .button.share
{
	background-image:url(../media/share.svg);
	right:20px;
}


/*	modals
*/

#modals > div
{
	position:absolute;
	width:100%;
	height:100%;

	opacity:0;

	transition:opacity .2s ease 0s;
	-webkit-transition:opacity .2s ease 0s;
}
#modals .bg
{
	opacity:.9
}
#modals a.close,
#detail > a.back
{
	position:fixed;
	top:0;
	margin:15px;
}
#modals .body
{
	position:relative;
/* 
	top:50%;

	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
 */
	
	padding:0 5%;
	text-align:center;
/* 
	font-size:26px;
	line-height:32px;
 */
}
html.portrait #modals .body
{
	padding-top:60px;
}	
#modals .body p
{
	/* margin:0; */
	font-size:1.625em;
}
#modals .body .divider
{
	margin-top:25px;
}

#modals .body .caption,
#match-card .instructions
{
	font-family:'Source Sans Pro',sans-serif;
	font-size:13px;
	line-height:20px;
}


#share a.share
{
	width:52px !important;
	height:52px !important;
	background-size:cover;
	
	border-width:2px;
	border-style:solid;
	
	box-shadow:0px 1px 2px rgba(0,0,0,.15);
}
#share a.facebook
{
	background-color:#3b5998;
}
#share a.twitter
{
	background-color:#55acee;
}
#share a.spotify
{
	background-color:#84bd00;
}


a.action
{
	/* margin-top:50px; */
	/* line-height:40px; */
}
/* 
#share a.action.twitter
{
	margin-top:-15px;
}
 */




/*	diary menu/close
*/

#diary-close
{	
	position:fixed;
	top:0px;
	margin:15px;
	
	transition:transform .2s ease .2s;
	-webkit-transition:-webkit-transform .2s ease .2s;
}
html.detail #diary-close,
#diary-close.hidden
{
	/* display:none; */
	transform:translateY(-60px);
	-webkit-transform:translateY(-60px);

	transition:none;
}

#diary-menu
{
	position:fixed;
	/* bottom:0px; */
	top:0;
	height:80px;
	padding:0 16px;
	
 	background-image:linear-gradient(0deg, rgba(0,0,0,0) 40%,rgba(0,0,0,.1) 60%, rgba(0,0,0,.4) 100%);
 	background-image:-webkit-linear-gradient(bottom, rgba(0,0,0,0) 40%,rgba(0,0,0,.1) 60%, rgba(0,0,0,.4) 100%);

	transform:translateY(-100%);
	-webkit-transform:translateY(-100%);

	transition:none;
	-webkit-transition:none;
	
	z-index:1100;
}
#diary-menu.hidden
{
	transition:transform .2s ease 0s;
	-webkit-transition:-webkit-transform .2s ease 0s;
}
#diary-menu .buttons
{
	display:-ms-flexbox; /* IE<11 */
	-ms-flex-pack:distribute;

	display:-webkit-box; /* iOS 6 */
	-webkit-box-pack:justify;
	
	display:-webkit-flex;
	-webkit-justify-content:space-around;

	display:flex;
	justify-content:space-around;
}
#diary-menu .buttons .button
{
	margin-top:8px;
	background-color:rgba(0,0,0,.5);
}
#diary-menu .buttons .button.selected
{
	/* margin:4px 15px; */
	margin-top:4px;
	width:52px;
	height:52px;
	/* margin-left:10px; */
}
/* 
#diary-menu .buttons .button.selected:first-child
{
	margin-left:15px;
}
 */
#diary-menu .buttons .button:not(.selected) span
{
	display:none;
}
html.my #diary-menu .buttons .button.mode
{
/* -> larger center button, add when match will be enabled
	margin-top:0;
	width:50px;
	height:50px;
 */
}
#diary-menu .button > span,
#home-menu .button > span
{
	position:absolute;
	top:44px;
	width:200%;
	left:-50%;
	color:white;
	text-shadow:1px 1px 1px rgba(0,0,0,.4);
	text-align:center;
	/* font-size:20px; */
	/* font-size:18px; */

	font-size:1.1em;
}
html.my #diary-menu .buttons .button.mode span
{
/* -> larger center button, add when match will be enabled
	top:52px;
 */
}

#diary-menu .button > span
{
	top:50px;
}

#diary-menu .button.close
{
	position:fixed;
	top:15px;
	left:15px;
}


#diary-menu .button.share
{
	background-image:url(../media/share.svg);
}
#diary-menu .button.stats
{
	background-image:url(../media/stats.svg);
}
#diary-menu .button.match
{
	background-image:url(../media/match.svg);
}
#diary-menu .button.cloud
{
	background-image:url(../media/cloud.svg);
}
#diary-menu .button.list
{
	background-image:url(../media/timeline.svg);
}
/* 
html.cloud #diary-menu .button.mode
{
	background-image:url(../media/timeline.svg);
}
html.list #diary-menu .button.mode span:first-child,
html.cloud #diary-menu .button.mode span:last-child
{
	display:none;
}
html.list #diary-menu .button.mode
{
	background-image:url(../media/cloud.svg);
}
 */


/*	list view (timeline)
*/

#events
{
	position:relative;
	min-width:320px;
	max-width:100%;

	color:white;
}
#events > .event
{
	position:relative;
	width:100%;
	height:120px;

	background-color:white;
}
#events > .event.header
{
	background-color:transparent;
	border-bottom:2px solid white;
}
#events > .event > .media
{
	position:absolute;
	left:0;
	top:0;
	bottom:2px;
	right:0;
	overflow:hidden;
}
#events .media > img
{
	position:absolute;
	left:0;
	top:-80px;
	width:100%;
	height:auto;
	background:transparent none no-repeat 0 0;
	background-size:cover;
}
#events .media > .fade
{
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;

	opacity:.38;

/* 
	transition:opacity .6s linear 0s;
	-webkit-transition:opacity .6s linear 0s;
 */
}
#events .media > .fade.remove
{
	opacity:0;
}

#events > .event > .title,
#events > .event > .info
{
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	width:50%;

	text-shadow:1px 1px 0 rgba(0,0,0,.6);
}
#events > .event > .title
{
	text-align:right;
	padding:0 30px 0 10px;
/* 
	font-size:25px;
	line-height:25px;
 */
 	font-size:1.6em;
 	line-height:.9;
}
#events > .event > .info
{
	left:50%;
	padding:0 10px 0 30px;

/* 
	font-size:20px;
	line-height:20px;
 */
 	font-size:1.25em;
 	line-height:1;
}
#events > .event > .more
{
	position:absolute;
	right:5px;
	bottom:6px;
	
	font-family:'sans-serif';
	font-weight:600;
	font-size:22px;
	line-height:22px;
 	
	color:white;
	text-shadow:1px 1px 0 rgba(0,0,0,.6);
}

#events > .event > .play
{
	position:absolute;
	left:50%;
	top:50%;
	margin:-20px 0 0 -20px;
}
#events > .event > .play > canvas
{
	display:block;
}

#events > .event > .timeline
{
	position:absolute;
	left:50%;
	top:50%;
	margin:-20px 0 0 -20px;
	width:40px;
	height:40px;
	border-radius:50%;
	border-width:5px;
	border-style:solid;

	box-shadow:1px 1px 1px rgba(0,0,0,.4);
}
#events > .event > .timeline > div
{
	position:absolute;
	left:13px;
	width:5px;
	height:40px;
	
	box-shadow:1px 0 0 rgba(0,0,0,.4);
}
#events > .event > .timeline > div.before
{
	top:-47px;
	height:42px;
}
#events > .event > .timeline > div.after
{
	top:35px;
}
#events > .event.first > .timeline > div.before,
#events > .event.last > .timeline > div.after
{
	display:none;
}

/*	list item transition
*/
#events > .media
{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	overflow:hidden;
}
#events > .media,
#events > .media > img
{
	transition:
		height .175s cubic-bezier(.20,.35,.2,1) 0s,
		transform .175s cubic-bezier(.20,.35,.2,1) 0s;

	-webkit-transition:
		height .175s cubic-bezier(.20,.35,.2,1) 0s,
		-webkit-transform .175s cubic-bezier(.20,.35,.2,1) 0s;

}
/* 
html.hd #events > .media,
html.hd #events > .media > img,
html.portrait #events > .media,
html.portrait #events > .media > img
{
	transition:
		height .175s cubic-bezier(.20,.35,.2,1) 0s,
		transform .175s cubic-bezier(.20,.35,.2,1) 0s;

	-webkit-transition:
		height .175s cubic-bezier(.20,.35,.2,1) 0s,
		-webkit-transform .175s cubic-bezier(.20,.35,.2,1) 0s;
}
 */

/* 
#events > .media.rset,
#events > .media.rset > img
{
	transition:
		height .15s cubic-bezier(.25,.1,.15,1) 0s,
		transform .15s cubic-bezier(.25,.1,.15,1) 0s;
	-webkit-transition:
		height .15s cubic-bezier(.25,.1,.15,1) 0s,
		-webkit-transform .15s cubic-bezier(.25,.1,.15,1) 0s;
}
 */
#events > .media.rset > .fade
{
	transition:opacity .2s linear 0s;
	-webkit-transition:opacity .2s linear 0s;
}
#events > .media > img
{
	top:0;
}


/*	list view stats (landcape only)
*/

#stats-sidebar
{
	position:absolute;
	top:0;
	right:0;
	left:320px;
	
	border-left:2px solid white;
	
	/* font-size:20px; */
	/* font-size:1.25em; */
	
	text-align:center;
	text-shadow:1px 1px 1px rgba(0,0,0,.4);
}
#stats-sidebar > .bg
{
	z-index:-1;
	opacity:.85;
}
#stats-sidebar .header
{
	margin-top:118px;
	font-size:1.25em;
}
#stats-sidebar .header > .divider
{
	border-top-width:2px;
	/* margin-top:50px; */
	margin-bottom:30px;
}

#stats-sidebar > .stats
{
	position:absolute;
	left:0;
	right:0;
	top:260px;
	bottom:0;
	
	padding:0 15px;
 
	display:-ms-flexbox; /* IE<11 */
	-ms-flex-direction:column;
	-ms-flex-pack:distribute;
		
	display:-webkit-box; /*	iOS6 */
	-webkit-box-direction:normal;
    -webkit-box-orient:vertical;
    -webkit-box-pack:justify;
    -webkit-box-align:center;
	
	display:-webkit-flex;
	-webkit-flex-direction:column;
	-webkit-justify-content:space-around;

	display:flex;
	flex-direction:column;
	justify-content:space-around;
}
#stats-sidebar .icon
{
	/* margin:40px auto 13px auto; */
	margin:-20px auto 0 auto;
	/* display:inline-block; */
}
#stats-sidebar.show
{
	display:block !important;
	visibility:hidden;
}
.statistic
{
/* 
	font-size:24px;
	line-height:30px;
 */
 	font-size:1.5em;
	text-align:center;
}
#stats-sidebar .statistic
{
	color:white;
}
.statistic em
{
	/* font-size:30px; */
	font-size:1.3em;
	line-height:.8;
	font-style:normal;
	color:white;
	
	text-shadow:1px 1px 1px rgba(0,0,0,.2);
}
.statistic .caption
{
	margin-top:6px;
	
	font-family:'Source Sans Pro',Sans-serif;
	font-size:14px;
}
#stats-sidebar .divider,
#stats .divider
{
	width:70%;
	margin:0 auto;
	border-top:1px solid white;
}


/*	event detail view
*/

#detail
{
	display:none;
	/* opacity:0; */
	/* opacity:.8; */
	position:absolute;
	left:0;
	top:0;
	width:100%;
	/* min-height:100%; */
	

}
#detail.fadeout
{
	opacity:0;
}
#detail.transition
{
	position:fixed;
}
html.detail #detail
{
	transition:opacity .4s ease 0s; /* fade-in */
	-webkit-transition:opacity .4s ease 0s;
}

#detail > .head
{
	position:fixed;
	top:0;
	left:0;
	min-width:320px;
	min-height:320px;
	
	z-index:1009;
	
	transform-origin:50% 0;
	-webkit-transform-origin:50% 0;
}
#detail > .head > .media
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	max-height:450px;
	background:transparent none no-repeat 50% 50%;
	background-size:cover;
	
	z-index:1008;
}

#detail > .body
{
	position:absolute;
	left:0;
	top:0;
	right:0;
	
	/* width:100%; */
	padding:5px 15px;
	padding:0 15px;
	
	background-color:#e5e5e5;
	
	z-index:1010;
}
html.portrait #detail > .body
{
	width:100%;
}
html.landscape #detail > .body
{
	/* padding-top:45px; */
}
html.landscape #detail > .head > .media
{
	transform:none !important;
	-webkit-transform:none !important;
}

#detail .play
{
	position:fixed;
	right:12px;
	top:12px;
	width:80px;
	height:80px;
	
	border:5px solid white;
	border-radius:50%;
	box-shadow:0 1px 1px rgba(0,0,0,.3);
	
	z-index:1009;
}
html.landscape #detail .play
{
	margin-left:12px;
	bottom:12px;
	right:auto;
	top:auto;
}
#detail .play > canvas
{
	position:absolute;
	left:-5px;
	top:-5px;
	border-radius:50%;
}

/*	detail body
*/

#detail > .body > .title
{
	position:relative;
/* 
	position:fixed;
	top:0;
	left:0;
	right:0;
 */
	
	padding:0 15px;
	
	/* font-size:30px; */
	font-size:1.875em;
	
	text-align:center;
	line-height:40px;
	text-shadow:1px 1px 1px rgba(0,0,0,.4);
}
/* 
html.portrait > #detail > .body > .title
{
	margin-top:0 !important;
}
 */
 
html:not(.hd) #detail > .body > .location
{
	margin-top:0 !important;
}
 
#detail > .body > .title div
{
	z-index:-1;
	opacity:.8;
}
#detail > .body .divider,
#share .divider
{
	width:70%;
	margin:15px auto;
	border-top:2px solid white;
}
#detail > .body .header
{
	/* font-size:22px; */
	
	/* line-height:26px; */
	font-size:1.375em;
	font-weight:normal;
	text-align:center;
}
#detail > .body > .facts
{
	position:relative;
	min-height:150px;
	width:90%;
	margin:40px auto;
	border-radius:10px;
	border-width:2px;
	border-style:solid;
	border-color:#333;
	padding:20px 15px 15px 15px;
	
	text-align:center;
}
#detail > .body > .facts:after
{
	display:block;
	content:'';
	clear:both;
}
#detail > .body > .facts > .icon
{
	position:absolute;
	left:50%;
	top:-21px;
	margin-left:-20px;
}
#detail > .body > .facts .statistic
{
	margin:16px 0;

	font-size:1.25em;
	line-height:1;
/* 
	font-size:20px;
	line-height:20px;
 */
}
#detail > .body > .facts em
{
	/* font-size:24px; */
	font-size:1.3em;
	font-style:normal;
}
#detail > .body > .facts .friend
{
	float:left;
	margin:5px;
	width:80px;
}
#detail > .body > .facts .friend > .avatar
{
	width:60px;
	height:60px;
	display:block;
	margin:auto;
}
#detail > .body > .social
{
	text-align:center;
}
#detail > .body > .social a,
#share a.share
{
	display:inline-block;
/* 
	width:42px;
	height:42px;
 */
 	width:40px;
 	height:40px;
	margin:0 7px;
	background-image:url(../media/socials.svg);
	border-radius:50%;
	/* border:1px solid #e5e5e5; */


	-webkit-background-clip:padding-box;
	-moz-background-clip:padding;
	background-clip:padding-box;

	vertical-align:bottom;
}
a.twitter
{
	background-position:0 0;
}
a.soundcloud
{
	background-position:-100% 0;
}
a.instagram
{
	background-position:-200% 0;
}
a.facebook
{
	background-position:-300% 0;
}
a.spotify
{
	background-position:-400% 0;
}





#detail > .body > .embeds > iframe
{
	display:block;
}

#detail > .body > .bio
{
	font-family:'Source Sans Pro';
	font-size:18px;
	line-height:1.4;
/* 
	font-size:1.25em;
	line-height:1.25;
 */
/* 
	font-size:20px;
	line-height:28px;
 */
}
#detail > .body > .bio > .text
{
	padding:0 5px;
}
#detail > .body > .bio > .text p:first-child
{
	margin-top:0;
}
#detail > .body > .bio > .text p:last-child
{
	margin-bottom:0;
}

/*	landscape layout */
html.landscape:not(.hd) #detail > .body > .facts
{
	width:100%;
}
html.landscape:not(.hd) #detail > .body > .title
{
	/* z-index:1011; */
	position:relative;
	margin:0 -15px;
}

/*	portrait layout */
html.portrait #detail > .body > .title
{
	position:absolute;
	left:0;
	right:0;
	top:-40px;
}
html.portrait #detail > .body > .title div.bg
{
	opacity:.6;
}





/*	media
*/
.gallery.modal
{
	position:fixed;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:0;
/* 
	left:inherit;
	width:inherit;
	top:0;
	bottom:0;
 */

	background-color:#333;/* rgba(0,0,0,1); */
	z-index:2000;

	transition:background-color .6s linear 0s,opacity .2s linear 0s;
	-webkit-transition:background-color .6s linear 0s,opacity .2s linear 0s;
}

.gallery.modal.fade
{
	background-color:transparent;
}
.gallery.modal a.close
{
	margin:15px;
}

.gallery
{
	position:relative;
	margin:0px -15px 40px -15px;
	/* margin-bottom: 40px; */
}
.gallery > .divider
{
	margin-bottom:40px !important;
}
.gallery > .button:not(.close)
{
	position:absolute;
	right:15px;
	top:57px;
	background-image:url(../media/gallery.svg);
}
.gallery > .caption
{
	position:absolute;
	left:15px;
	right:15px;
	bottom:8px;

	color:white;
	text-shadow:1px 1px 1px rgba(0,0,0,.4);
	
	z-index:10;
}
.gallery:not(.modal) > .caption
{
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.gallery.modal > .caption
{
	left:0;
	text-align:center;
}	
.gallery > .media
{
	position:relative;
	width:100%;
	overflow:hidden;
	
	/* margin:15px auto; */
	
	
}
.gallery > .media.zoom
{
	position:absolute;
}
.gallery > .media.transition
{
	transform-origin:0 0 0;
	-webkit-transform-origin:0 0 0;
	
	transition:transform 0.2s ease 0s;
	-webkit-transition:-webkit-transform 0.2s ease 0s;
}
.gallery > .media > .slide
{
	position:absolute;
	
	/* background-color:#333; */
	box-sizing: content-box;
    -moz-box-sizing: content-box;
    
	border:5px solid #E5E5E5;
	border-top:none;
	border-bottom:none;
	margin-left:-5px;

	width:100%;
	height:100%;
	
	background:transparent none no-repeat center;
	background-size:cover;
	
	
	transform:translateX(0);
	-webkit-transform:translateX(0);
}
 
.gallery > .media.zoom > .slide
{
	border-color:#333333;
	border-width:10px;
	margin-left:-10px;
}

.gallery > .media.zoom > .slide
{
	background-size:contain;
}

.gallery > .media > .slide.next
{
	transform:translateX(100%);
	-webkit-transform:translateX(100%);
}
.gallery > .media > .slide.prev
{
	transform:translateX(-100%);
	-webkit-transform:translateX(-100%);
}
	
.gallery >.media:not(.swipe) > .slide
{
	transition:transform .4s ease 0s;
	-webkit-transition:-webkit-transform .4s ease 0s;
}
.gallery >.media.fast > .slide
{
	transition:transform .2s ease 0s;
	-webkit-transition:-webkit-transform .2s ease 0s;
}
.gallery >.media.faster > .slide,
.gallery >.media.rset > .slide
{
	transition:transform .1s ease 0s;
	-webkit-transition:-webkit-transform .1s ease 0s;
}



/*	stats, matching (cards)
*/

#stats,
#match
{
	position:fixed;
	left:0;
	top:0;
	right:0;
	bottom:0;
	overflow:hidden;
	opacity:0;
	
	transition:opacity .3s ease 0s;
	-webkit-transition:opacity .3s ease 0s;
}
#stats.active,
#match.active
{
	opacity:1;
}
#stats .bg,
#match .bg
{
	opacity:.6;
}
#stats a.back,
#match a.back
{
	position:absolute;
	top:0;
	margin:15px;
}
#compare
{
	position:absolute;
	bottom:5px;
	width:100%;
	
	transition:transform .2s ease 0s;
	-webkit-transition:-webkit-transform .2s ease 0s;
	
	text-align:center;
}
#compare .swipe,
#compare .connect > span
{
	font-family:'Source Sans Pro',sans-serif;
	font-size:14px;
	line-height:20px;

	color:white;
	text-shadow:1px 1px 1px rgba(0,0,0,.4);
}
#stats.swiped #compare
{
	transform:translateY(150%);
	-webkit-transform:translateY(150%);
}
#compare > div
{
	display:none;
}
#compare .swipe
{
	padding-top:36px;	
	text-align:center;
	
	background:transparent url(../media/swipe.svg) no-repeat 50% 0;
}

#cards
{
	position:absolute;
	left:0;
	top:68px;
	bottom:72px;
	color:white;
}
#stats.swiped #cards
{
	bottom:20px;
}
html.landscape #cards
{
	top:48px;
	bottom:44px;
}
#cards.snap
{
	transition:transform .2s ease 0s;
	-webkit-transition:-webkit-transform .2s ease 0s;
}

#cards > .cards
{
	position:relative;
	height:100%;
}
#cards > .cards,
#cards > .cards-stats
{
/* 
	display:flex;
	justify-content:space-around;

	display:-webkit-flex;
	-webkit-justify-content:space-around;
 */
}
#cards .card
{
	float:left;
}

#cards > .cards > .card,
#match-card
{
	height:100%;
	padding:0 15px;

	border-radius:10px;
	border-width:2px;
	border-style:solid;
	
	text-align:center;
	text-shadow:1px 1px 1px rgba(0,0,0,.4);

/* 
	font-size:25px;
	line-height:28px;
 */
}
#cards > .cards > .card.no-friends
{
	border-color:transparent;
	padding:80px 20px;
	
	font-family:'Source Sans Pro',sans-serif;
	font-size:20px;
}
#cards > .cards > .card .avatar,
#match-card > .avatar
{
	margin:-40px auto 10px auto;
}
#cards > .cards > .card .name
{
	font-size:1.625em;
}
#cards > .cards > .card .divider
{
	margin-top:6px;
	border-width:2px;
}

#cards > .cards-stats,
#matches,
#join
{
	position:absolute;
	left:0;
	right:0;
	top:88px;
	bottom:15px;
	
	overflow:scroll;
	-webkit-overflow-scrolling:touch;
	
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select: none;
}
#cards > .cards-stats > .card
{
	padding:0 20px;
}
#cards > .cards-stats > .card .statistic
{
	margin:40px 0;
}


/*	matching
*/

#match-card
{
	position:absolute;
	left:7%;
	right:7%;
	top:68px;
	bottom:20px;
	height:auto;

	text-shadow:none;
}
html.landscape #match-card
{
	left:15%;
	right:15%;
	top:48px;
}
#match-card > .avatar
{
	/* background:rgba(0,0,0,.4) url(../media/match.svg) no-repeat 50% 50%; */
	background-image:url(../media/match.svg);
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:90px 90px;
}
#match-card .divider
{
	width:70%;
	margin:10px auto;
	border-top-width:2px;
	border-top-style:solid;
}
#match-card .title
{
	font-size:1.625em;
	text-shadow:1px 1px 1px rgba(0,0,0,.3);
}
#match-card.female span.male,
#match-card.male span.female
{
	display:none;
}
#match-card .error
{
	color:red;
}	
#match-card .connect .instructions
{
	margin-top:20px;
}
#match-card .match
{
	position:relative;
	margin:20px auto;
	width:240px;
	height:80px;
}
#match-card .drop
{
	position:absolute;
	top:22px;
	width:36px;
	height:36px;
	border-radius:50%;
}
#match-card .drop.left
{
	left:2px;
}
#match-card .drop.right
{
	right:2px;
}
#match-card .match .swipe
{
	position:absolute;
	width:100%;
	height:100%;
	background:transparent url(../media/swipe-match.svg) no-repeat 0 50%;
}
#match-card .match .avatar
{
	position:absolute;
	left:80px;
}
#match-card .match .avatar > div
{
	position:absolute;
	width:200%;
	left:-50%;
	top:80px;
	
/* 
	font-size:15px;
	line-height:18px;
 */
 	font-size:1em;
}
#matches .match
{
	margin-bottom:40px;

	/* overflow:hidden; */

	transition:height .2s ease 0s;
	-webkit-transition:height .2s ease 0s;
}
#matches .match.rejected
{
	height:0;
}
#join .action
{
	margin:25px auto;
}
#join .match .swipe
{
	background-image:url(../media/swipe-join.svg);
}

#matches,
#join
{
	top:118px;
	padding:0 15px;
}
#matches .divider
{
	margin:20px auto;
}


/*	large screen layout //->needs work
*/

html.debug #viewport
{
	background-color:rgba(0,0,0,.1);
}

html.hd #home
{
	box-shadow:0px 0px 6px rgba(0,0,0,.4);
/* 
	border:2px solid rgba(0,0,0,.4);
	border-bottom:none;
	border-top:none;
 */
}
html.hd.detail #home
{
	position:fixed;
	left:auto;
}


#viewport,
#detail,
#detail > .head,
#stats,
#match
{
	max-width:450px;
}
html.landscape #viewport,
html.landscape #detail,
html.landscape #stats,
html.landscape #match
{
	max-width:900px;
}
/* 
#detail
{
	max-width:100%;
}
 */
html.landscape #events,
html.landscape #detail > .head
{
	max-width:450px;
}


html.hd #cards > .cards-stats,
html.hd #join,
html.hd #matches
{
	overflow-x:hidden;
}
html.hd
{
	overflow-y:scroll;
}

html.hd.landscape #detail .play
{
	bottom:auto;
	top:358px;

	margin-left:185px;
	top:410px;
}

html.hd.landscape #detail > .body > .title
{
	position:fixed;
	margin:500px 0 0 -465px;
	width:450px;
}

html.hd.landscape #detail > .body > .location
{
	position:fixed;
	margin:540px 0 0 -465px;
	padding:15px;
	text-align:center;
	width:450px;
	
	color:white;
}
/* 
html.portrait #detail > .body > .location
{
	margin-top:0 !important;
}
 */
/* 
html.hd.landscape #detail > .body > .divider:nth-of-type(1)
{

	position:fixed;
}

 */
/* 
html.hd.landscape #detail .social
{
	position:fixed;
	margin-left:-465px;
	bottom:12px;
	width:450px;
}
 */
html.hd.landscape #detail .social a
{
		
}
/* 
html.hd.landscape #detail .social > .divider
{
	display:none;
}
 */

html.hd #detail > .body > .bio > .text
{
	padding:20px;
}

html.hd.landscape .gallery:not(.modal)
{
	margin:0 0 40px 0;
	/* margin:0px -15px 40px -15px; */
}



@media (min-width:900px)
{
	html.hd.landscape #match-card
	{
		left:25%;
		right:25%;
	}
	
	
}
