html
{
	height:100%;
	/* overflow-y:scroll; */
	/* font-size:14px; */
}
body
{
	margin:0;
	padding:0;
	height:100%;
	
	font-family:bio-sans, sans-serif;
	line-height:1.2;
	
	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	/* font-variant-ligatures: discretionary-ligatures; */

	background:white url(../media/bg.gif) repeat;
	background-attachment: fixed;
}
body *
{
	box-sizing: border-box;
    -moz-box-sizing: border-box;
}
.clear:after
{
	content:'';
	display:table;
	clear:both;
}
.hidden
{
	display:none !important;
}
.strong
{
	font-weight:bold;
}
h1
{
	font-size:1.125rem;
}
h2,h3
{
	font-size:1rem;
}
blockquote
{
	margin:2rem 0;
	width:100%;
	font-size:2rem;
	font-weight:300;
	text-align:center;
}
.button
{
	display:inline-block !important;
	width:auto !important;
	min-width:100px;
	text-decoration:none;
}
h1 .button,
h2 .button
{
	font-weight:normal;
	min-width:auto;
	margin-bottom:0 !important;
	white-space: nowrap;
}
.flex
{
	display:flex;
	justify-content: space-between;
	align-items: flex-start;
}
.flex-wrap
{
	flex-wrap:wrap;
}
.head
{
	display:block;
	width:100%;
	border-radius:0 13px 0 0;
	font-size:16px;
	line-height:22px;
	padding:0 9px;
	height:25px;
	text-decoration:none;
}
.contact 
{
	display:flex;
}
.contact a
{
	margin:0 4px 0 0 !important;
	display:inline-block;
	width:auto;
	height:20px;
	
	font-size:12px;
	font-weight:bold;
	line-height:18px;
	text-decoration:none;
	text-transform: uppercase;
}
.contact a.head
{
	padding:0 18px 0 9px;
}
.media,
.cms-inline-media
{
	position:relative;
	display:block;
	width:100%;
	padding-bottom:calc(9 / 16 * 100%);
	background-color:rgba(0,0,0,.1);
	background-size:cover;
	
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}
.media.empty
{
	background-attachment:fixed;
}
.media.no-padding
{
	width:calc(100% + 40px);
	margin:-30px -20px 30px -20px;
}
.media iframe
{
	position:absolute;
    width: 100%;
    height: 100%;
}

.cms-inline-media-thumb
{
	display:none;

}
oembed
{
	display:block;
	position:relative;
}
oembed iframe
{
	position:absolute;
/* 
	left:0;
	top:0;
	bottom:0;
 */

	width:100%;
	height:100%;
}


/* main layout */

#page-centered
{
	margin:0 auto 40px auto;
	max-width:1200px;
}

section
{
	margin-top:40px;
	padding:20px;
	background-color:rgba(250,0,0,.2);
}
section.header
{
	padding-bottom:0;
}
section.header + section
{
	margin-top:0;
}
.column
{
	width:calc((100% - 8px) / 2);
}
.full-width
{
	width:100%;
}
.two-column-text
{
	columns:2;
	column-gap:9px;
}
.two-column-text p:first-child
{
	margin-top:0;
}
 
.column.no-media > *:first-child
{
	margin-top:0;
}

.quarter.column
{
	width:calc((100% - 27px) / 4);
}
section:not(.header) .head
{
	margin-bottom:30px;
}
section:not(.header) .head + p
{
	margin-top:-8px;
}
#page-header
{
	padding:20px;
}
#page-logo
{
	font-size:10px;	
}
#page-logo svg
{
	width:90px;
}
#page-headline
{
	margin:0;
}
#page-header h1
{
	font-size:19px;
}
#page-socials
{
	text-align:right;
}
#page-language
{
	float:right;
	margin-left:9px;
	line-height:22px;
}
#page-language a.selected
{
	text-decoration:none;
}

#page-menu
{
	
	columns:4;
	column-gap:9px;
	list-style:none;
	margin:20px 0 0 0;
	padding:0;
}
#page-menu-mobile
{
	display:none;
	position:relative;
}
#page-menu li
{
	background-color:white;
	margin-bottom:7px;
	padding:0;
}
#page-menu li a
{
	display:block;
	text-decoration:none;
	padding:0 9px;
}


/* agenda */

#filter
{
	/* margin-bottom:20px; */
}
#filter .select
{
	overflow:hidden;
}
#filter .select.type
{
	/* max-width:130px; */
}
#filter div.select,
#page-menu-mobile div.select
{
	display:inline-block;
	float:left;
	position:relative;
	padding:0;
}
#filter select,
#page-menu-mobile select
{
	width:100%;
	border:0;
	padding:0 18px 3px 6px;
	
	background-color:#002b00;
	color:white;
	line-height: 22px;
	
	font-family:bio-sans,sans-serif;
	font-size:14px;

	-webkit-appearance:none;
	-moz-appearance:none;
	-ms-appearance:none;
}
select::-ms-expand
{
    display: none;
}
select + .expand
{
	position: absolute;
	right:5px;
	top:3px;
	pointer-events:none;
	transform:scale(.8);
}

.event .media + .meta
{
	margin-top:10px;
}
.event-item
{
	position:relative;
	width:100%;
	padding:9px 0;
	display:block;
	text-decoration:none;
	border-bottom:1px solid rgba(0,0,0,.7);
}
.event-item span
{
	display:block;
	overflow:hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.event-item .image
{
	float:left;
	margin-right:9px;
	
	width:120px;
	height:calc(9 / 16 * 120px);
	
	background:rgba(29,29,27,.1) none no-repeat 50% 50%;
	background-size:cover;
}
.event-item.selected .image
{
	background-attachment: fixed;
	background-size:unset;
	background-repeat:repeat;
}
.event-item .title
{
	font-size:16px;
}
.event-item .facebook,
.event-item .presale
{
	float:right;
}
.event-item .presale,
.selected.event .presale
{
	display:inline-block;
	margin-left:5px;
	width:auto;
	height:20px;
	padding-right:12px;

	font-size:12px;
	line-height:19px;
	text-transform: uppercase;
	font-weight:bold;
	text-decoration: none;
}
.selected.event .presale
{
	margin: 0 0 0 4px !important;
}
.agenda .head,
.community .head
{
	margin-bottom:0 !important;
}

.selected.event .info
{
	margin:10px 0;
	display:flex;
}
.selected.event .icon.type
{
	display:inline-block;
	width:20px;
	height:20px;
	background-size:cover;
	margin-right:4px;
}


/* community */

.community
{
	width:100%;
}
.community-item.selected .media
{
	background-size:unset;
}
.community-item h2
{
	margin-bottom:0;
}
.community-item h2 + p
{
	margin-top:0;
}

/* residents */

.residents h3
{
	margin-bottom:0;
}
.residents a
{
	display:block;
	text-decoration:none;
}


/* news */

.news-item
{
	position:relative;
}
.news-item .body
{
	padding:9px;
}
.news-item h2
{
	margin-top:0;
}
.news-item .date
{
	position:absolute;
	right:0;
	top:-20px;
	font-size:12px;
}


/* forms */

form
{
	position:relative;
}
form.jf .section > label,
form.jf .section > div.label
{
	position:relative;
	display:block;
	margin:5px 0 20px 0;
}
.caption.error
{
	font-size:13px;
	line-height:19px;
	color:#e4002d;
	/* text-align:right; */
}
.jf .header
{
	font-weight:bold;
}
.jf .guide
{
	font-size:.875rem;
	line-height:1;
}
.jf input[type=text],
.jf input[type=file],
.jf textarea,
.jf select,
.jf label.input
{
	position:relative;
	display:block;
	
	width:100%;
	
	border:1px solid rgba(0,0,0,.7);
	padding:2px 6px;
	margin:6px 0 2px 0;
	background-color:transparent;

	-webkit-appearance:none;
	-moz-appearance:none;
	-ms-appearance:none;
	
	font-family:arial,sans-serif;
	font-size:1rem;
	line-height:1.333rem;
	
	outline:none;
}
.jf select + .expand
{
	top:31px;
}
.jf textarea
{
	min-height:300px;

	min-width:100%;
	max-width:100%;
}
.jf input[type="file"].inputfile {

    margin: 0;
    padding: 0;
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}
.jf em.guide
{
	padding-top:5px;
	display:inline-block;
}
.jf .error + em.guide
{
	display:none;
}
.jf input[type=text]:focus,
.jf textarea:focus,
.jf select:focus,
.jf label.input:hover
{
	border-color:#1E1E1C;
	color:#1E1E1C;
}
.jf input[type=text].error,
.jf label.input.error,
.jf textarea.error
{
	color:#e4002d;
	background-color:rgba(235,94,89,.1);
	border-color:#e4002d;
}
.jf div.check
{
	line-height:22px;
}
.jf div.check.group
{
	height:auto;
	line-height:30px;
}
.jf div.check label,
.jf div.slider label
{
	display:block;
	position:relative;
}
.jf div.check input
{
	opacity:0;
	margin:0 11px 0 0;
	padding:0;
	vertical-align:middle;
}
.jf div.check .checkbox
{
	position:absolute;
	left:2px;
	top:5px;
}
.jf div.check.group .checkbox
{
	top:9px;
}
.jf .submit
{
	float:right;
}


/* galleries */

.gallery 
{
	position:absolute;
	width:100%;
}
.gallery .navigation
{
	opacity:.3;
	position:absolute;
	z-index:1;
	width:100%;
	height:100%;
	pointer-events:none;
	transition:opacity 1s ease 0s;
}
.gallery:hover .navigation,
.gallery.hover .navigation
{
	opacity:.8;
	transition:none;
}
.gallery .navigation a
{
	position:absolute;
	top:50%;
	margin-top:-22px;
	
	/* margin:0 8px; */
}
.gallery .navigation a.prev
{
	left:8px;
}
.gallery .navigation a.next
{
	right:8px;
}
.gallery .navigation .dot
{
	display:inline-block;
	margin:3px 3px 1px 3px;
	width:7px;
	height:7px;
	background-color:white;
	border-radius:50%;
}
/*	fixe for firefox line-height inconsistency */
@-moz-document url-prefix()
{ 
	.gallery .navigation .dot { margin-bottom:2px }
}

.gallery .navigation .dot.active
{
	background-color:black;
}
.gallery > .media
{
	position:relative;
	margin:auto;
	width:100%;
	max-width:100%;
	height:100%;
	padding-bottom:56.25%;
	overflow:hidden;
}
.gallery > .media.transition
{
	transform-origin:0 0 0;
	-webkit-transform-origin:0 0 0;
	
	transition:transform .2s ease 0s;
	-webkit-transition:-webkit-transform .2s ease 0s;
}
.gallery > .media > .slide
{
	position:absolute;
	
	box-sizing: content-box;
    -moz-box-sizing: content-box;
    
	width:100%;
	height:100%;
	
	background:transparent none no-repeat center;
	background-size:cover;
	
	transform:translateX(0);
	-webkit-transform:translateX(0);
}
.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;
}
.gallery iframe
{
	width:100%;
	height:100%;
}


/*	responsive layouts */

@media (max-width:767px)
{
	#page-header
	{
    	padding:10px;
    }
    #page-header h1
    {
    	margin-top:10px;
    	font-size:15px;
    }
    #page-socials
    {
    	position:absolute;
    	top:10px;
    	right:10px;
    }
    #page-menu
    {
    	display:none;
    }
    #page-headline:not(.home)
    {
    	display:none;
    	/* margin-bottom:10px; */
    }
    #page-menu-mobile
    {
    	float:none;
    	display:block;
    	margin-top:10px;
    }
    #page-menu-mobile select
    {
    	width:100%;
    }
    
	section
	{
		margin-top:20px;
		padding: 20px 10px;
		flex-wrap:wrap;
    }
    
    
   	.column
	{
		width:100%;
	}
	.column.flex,
	#page-header .flex
	
	{
		flex-wrap:wrap;
	}
	.quarter.column
	{
    	width:calc((100% - 9px) / 2);
    }
    section .column:first-child
    {
    	margin-bottom:20px;
    }
	
	.media.no-padding
	{
		width:calc(100% + 20px);
		margin:-30px -10px 30px -10px;
	}

	.two-column-text
	{
    	columns:1;
	}
	
	#filter
	{
		flex-wrap:wrap;
	}
	#filter .select
	{
		margin-bottom:10px;
		/* width:50%; */
	}

}