body
{
	margin:0;
	padding:0;
	
	font-family: utopia-std, serif;
	font-weight: 400;
	font-style: normal;


	/* image-rendering:-webkit-optimize-contrast; */
	/* image-rendering: optimizeQuality; */
	-webkit-text-size-adjust:100%;

	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	background-color:var(--dark);
}

.alt-font
{
	font-family: 'din-2014',sans-serif;
}

body *
{
	box-sizing: border-box;
    -moz-box-sizing: border-box;
}

body p
{
	line-height:18px;
}
.is-hidden
{
	display:none !important;
}
.clear:after
{
	content:'';
	display:table;
	clear:both;
}
.warning
{
	color:#e4002d;
}
a:not(.article)
{
	color:var(--page-text);
	word-break:break-all;
}
a.break-normal
{
	word-break:normal !important;
}
a:hover
{
	text-decoration:none;
}

.full-width
{
	width:100% !important;
}
hr
{
	margin:42px 0 14px 0;
	border:none;
	height:1px;
    background:var(--dark);
    color:var(--dark);
}
h1,h2
{
	font-size:22px;
	line-height:25px;
}
h6
{
	font-size:12px;
	font-weight:normal;
}
.page-bg
{
	background-color:var(--page-bg);
	fill:var(--page-bg);
}
.page-bg-color
{
	color:var(--page-bg);
}
.page-text
{
	color:var(--page-text);
	fill:var(--page-text);
}	
.bg-primary
{
	background-color:var(--dark);
	fill:var(--dark);
}
.border-primary
{
	border-color:var(--dark);
	stroke:var(--dark);
}
.highlight
{
	background-color:var(--accent);
}

svg.icon
{
	background-color:var(--dark);
	border:1px solid var(--dark);
}
svg.icon:hover
{
	background-color:transparent;
	border-color:var(--dark);
}
svg.icon .neg
{
	fill:var(--page-bg);
}
svg.icon:hover .neg
{
	fill:var(--dark);
}

#page-centered
{
	position:relative;
	margin:36px auto;
	padding:12px;
	
	max-width:1000px;
}
.columns
{
	display:flex;
	justify-content: space-between;
}
.column
{
	width:calc((100% - 12px) / 2);
}
/* 
.column
{
	width:50%;
	float:left;
}
.column:nth-child(odd)
{
	padding-right:6px;
}
.column:nth-child(even)
{
	padding-left:6px;
}
 */
.column > p:first-child
{
	margin-top:0;
}

.media
{
	position:relative;
	display:block;
	width:100%;
	padding-bottom:calc(9 / 16 * 100%);
	background-color:rgba(0,0,0,.05);
	background-size:cover;
	
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}


.logo
{
	float:left;
	width:calc(50% - 6px);
	border-width:1px;
	border-style:solid;
}
.logo:first-child
{
	margin-right:12px;
}

#view-mode
{
	position:relative;
	float:left;
}
#view-mode ul
{
	margin:0;
	padding:0;
	list-style:none;
	font-size:11px;
	line-height:18px;
	cursor:pointer;
}
#view-mode li.selected
{
	font-weight:bold;
}
#view-mode .view-select
{
	position:absolute;
	top:1px;
	left:0;
	
	width:14px;
	height:32px;
	border-radius:14px;
	border:1px solid;
	
	/* pointer-events:none; */
	cursor:pointer;
}
#view-mode .view-selected
{
	float:left;
	margin-top:1px;
	width:14px;
	height:14px;
	border-radius:50%;
	margin-right:5px;
	pointer-events:none;
}
#view-mode li:not(.selected) .view-selected
{
	visibility:hidden;
}
/* 
#view-mode li.selected::before
{
	display:block;
	content:'',
	width:14px;
	height:14px;
	
}
 */

#head-text 
{
	display:flex;
	height:calc(100% - 36px);
	align-items: center;
}
#head-text p
{
	width:80%;
	margin:auto;
	font-size:22px;
	line-height:25px;
	font-weight:300;
	text-align:center;
}
#head-text p span
{
	transition:opacity .1s ease 0s;
}
#head-text p span.hide
{
	
	opacity:0;
}


/* text banners */

.banner
{
	width:100%;
	margin:calc(42px - 18px) 0 42px 0;
	
	border:1px solid var(--dark);

	overflow:hidden;
	font-weight:300;
	font-size:38px;
}
#page-home .body .banner:first-child
{
	margin-top:0;
}

.marquee
{
	display:block;
 	
	z-index:1;
	text-align:left;
	color:var(--page-text);

	text-decoration:none;
	white-space:nowrap;
}
.banner:hover
{
	background-color:var(--dark);
}
.banner:hover .marquee
{
	color:var(--page-bg);
}
.marquee > span
{
	padding:0 10px;
	display:inline-block;
	min-width:100%;
	
	text-align:center;

	will-change:transform;
	animation:marquee 16s linear infinite;
}
@keyframes marquee
{
  0% { transform:translate3D(0,0,0); }
  100% { transform:translate3D(-100%,0,0); }
}

/* menu, buttons, headers */

#page-menu,
#page-menu-mobile
{
	position:sticky;
	top:0;
	margin:0;
	padding:12px 0 0 0;
	width:100%;
	list-style:none;
	z-index:2000;
}
#page-menu li,
#page-menu-mobile select,
.header,
a.button,
input[type=submit],
select.filter,
.filter label,
#page-publishing .label,
#authors
{
	display:block;
	float:left;
	margin:0 0 12px 0;

	width:calc(50% - 6px);
	height:28px;
	padding:0 0 0 8px;
	border:1px solid;

	font-family: 'din-2014',helvetica,sans-serif;
	font-size:16px;
	line-height:25px;
	font-weight:bold;
	text-transform:uppercase;
	text-decoration:none;
	
	background-color:var(--dark);
	border-color:var(--dark);
}
a.header
{
	color:var(--page-bg);
}
a.button,
input[type=submit]
{
	float:none;
	display:inline-block;
	width:auto;
	min-width:80px;
	text-align:center;
	padding:0 8px;
	border-radius:6px;
	margin:0 12px 0 0;


	height:26px;
	line-height:23px;
	text-align:center;
	
	color:var(--page-bg);
}
a.button.no-wrap
{
	max-width:100%;
	white-space:nowrap;
	overflow:hidden;
	text-overflow: ellipsis;
}
a.button.download
{
	margin-top:6px;
}
input[type=submit]
{
	cursor:pointer;
}
.select label
{
	position:absolute;
	width:calc(100% - 16px);
	padding:0;
	margin:0 8px;
	border:none;
	pointer-events:none;

	background-color:var(--dark);
}
select.filter,
.select label
{
	color:var(--page-bg);
}
select::-ms-expand
{
    display: none;
}
.select .expand
{
	position: absolute;
	right:5px;
	top:3px;
	pointer-events:none;
}
#filter .select .expand polygon,
#filter .select .expand path,
#page-menu-mobile .expand polygon,
#page-menu-mobile .expand path,
#page-menu-mobile .menu rect
{
	fill:var(--page-bg);
}
/* 
select option
{
	background-color:var(--dark);
}
 */

#page-menu li
{
	width:calc((100% - 36px)  / 4);
}
.header
{
	float:none;
	margin:0;
	color:var(--page-bg);
}
.header:empty
{
	/* display:none; */
	visibility:hidden;
}
{
	visibility:hidden;
}
#page-menu li
{
	margin-left:12px;
}
#page-menu li:nth-child(4n+1)
{
	margin-left:0;
}
#page-menu li a
{
	display:block;
	text-decoration: none;
}
#page-menu li:hover,
#page-menu li.selected,
a.header:hover,
a.button:not(.disabled):hover,
a.button.selected,
input[type=submit]:hover
{
	background-color:transparent;
}
a.button.cancel
{
	background-color:var(--medium);
	border-color:var(--medium);
}
#page-menu li a
{
	color:var(--page-bg);
	/* color:white; */
}
#page-menu li:hover a,
#page-menu li.selected a,
a.header:hover,
a.button:not(.disabled):hover,
a.button.selected,
input[type=submit]:hover
{
	color:var(--dark);
}

#socials 
{
	float:right;
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	z-index:1;
}
#socials li,
#exit
{
	display:block;
	margin-left:6px;
	border:1px solid var(--dark);
	width:28px;
	height:28px;
	background-color:var(--dark);
}
#socials li:hover,
#socials li.invert,
#exit
{
	background-color:transparent;
}
#socials li path
{
	fill:var(--page-bg)
}
#socials li:hover path,
#socials li.invert path,
#socials li.invert circle
{
	fill:var(--dark);
}
#socials li.invert path.stroke,
#exit path.stroke
{
	stroke:var(--dark);
	fill:transparent;
}


/* main layout */

#page-body
{
	padding-top:30px;
	min-height:calc(100vh - 115px);
}
#page-sub-nav
{
	position:sticky;
	top:99px;
	padding-bottom:12px;
	margin-bottom:30px;
	width:100%;
	
	background-color:var(--page-bg);
	z-index:1999;
}
#page-sub-nav > div
{
	border:1px solid;
}
#page-sub-nav .guide
{
	border-bottom:0;
	padding:8px 16px;
	font-size:12px;
	line-height:16px;
}
#page-sub-nav .actions
{
	display:flex;
	justify-content:space-between;
	padding:8px 8px 0 8px;
	/* min-height:66px; */
}
#page-sub-nav .button:not(.reset)
{
	margin-bottom:8px;
}
/* 
#page-sub-nav .actions.filter
{
	padding-bottom:8px;
}
 */

#page-sub-nav .actions .right
{
	text-align:right;
	margin-right:-12px;
}
#page-sub-nav .actions .right .button
{
	/* margin:0 0 8px 12px; */
	/* margin-left:12px; */
}

.content-toggle
{
	position:absolute;
	margin-top:-27px;
	display:flex;

	font-size:12px;
	font-weight:bold;
	line-height:16px;
	text-decoration: none;
	color:var(--page-text);
}
#page-newspaper-info .content-toggle
{
	position:relative;
	margin-top:6px;
	margin-bottom:-6px;
}
.content-toggle .toggle
{
	margin:1px 5px 0 0;
	position:relative;
	display:block;
	
	width:26px;
	height:14px;
	border-radius:14px;
	border:1px solid var(--medium);
}
.content-toggle .toggle > span
{
	position:absolute;
	display:block;
	
	left:0;
	top:0;
	width:12px;
	height:12px;
	border-radius:50%;
	
	background-color:var(--medium);
}
.content-toggle.selected .toggle
{
	border-color:var(--dark);
}
.content-toggle.selected .toggle > span
{
	left:auto;
	right:0;
	background-color:var(--dark);
}


/* home */

#page-home #articles
{
	min-height:775px;
}
#page-home .columns:not(.no-bottom-margin)
{
	margin-bottom:42px;
}
#page-home .cms-inline-media
{
	margin-bottom:0;
}


/* video/photo */

#galleries
{
	display: grid;
	grid-template-columns: repeat(2,calc((100% - 12px) / 2));
	column-gap: 12px;
	margin-bottom: calc(42px - 18px);
}
.gallery-item
{
	margin-bottom:6px;
}
#galleries:not(.music):not(.podcasts) .gallery-item:nth-child(3n + 1)
{
	grid-column: 1 / span 2;
}
.gallery-item > div
{
	position:relative;
	margin-bottom:6px;
}
.gallery-item h2
{
	margin:0;
	font-size:16px;
	line-height:18px;
}
.gallery-item p
{
	margin-top:0;
}
#page-home #galleries
{
	display:block;
	margin-bottom:0;
}
#page-home #galleries h2,
#page-home #galleries p,
#page-home #galleries .caption
{
	display:none;
}
#page-home .gallery-item
{
	margin-bottom:16px;
}
#page-home .gallery-item:last-child
{
	margin-bottom:-6px;
}


/* AACE */

.counter
{
	background-color:var(--dark);
}
.counter > a
{
	position:absolute;
	width:100%;
	height:100%;
	text-align:center;
	display:flex;
	flex-direction: column;
	justify-content: space-around;
}
.counter .header
{
	padding:0;
	width:100%;
}
.counter .amount
{
	margin:0 20px;
	padding:16px 0;
	/* height:50%; */
	border:1px solid var(--page-bg);
	font-size: 68px;
	font-weight: bold;
	color:var(--page-bg);
	white-space:nowrap;
}
.counter .donors
{
	font-size:15px;
}
.counter .button
{
	margin:0;
}
.counter .button:hover
{
	
}
.counter a:hover
{
	color:var(--page-bg);
}


/* places */

#map
{
	width:100%; 
	padding-bottom:calc(9 / 16 * 100%);
	margin-bottom:42px;
	background-color: rgba(0,0,0,.05);
}

ul.list
{
	margin:0;
	padding:0;
	list-style:none;
	line-height:18px;
}

ul.list li
{
	padding:8px;
	border-bottom:1px solid var(--dark);
}
ul.list li.closed
{
	border-bottom-color:var(--medium);
}
ul.list li a
{
	color:var(--page-text);
	text-decoration:none;
}
ul.list li.closed a
{
	color:var(--medium);
}

ul.list li.active,
ul.list li.hover,
ul.list li:hover
{
	background-color:var(--accent);
}

ul.list li span
{
	display:block;
	overflow:hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

#place .cms-inline-media
{
	margin-bottom:0
}
#place .links
{
	margin-top:8px;
	float:right;
	display: flex;
}
#place h3
{
	margin:8px 0 16px 0;
	font-size:22px;
	line-height:25px;
}
#place .caption
{
	display:none;
}
.marker
{
	width:12px;
	height:12px;
	border-radius:50%;
	background-color:var(--dark);
	cursor:pointer;
}
.marker.recommendation
{
	background-color:var(--medium);
}
.marker.active,
.marker.hover,
.marker:hover
{
	background-color:var(--accent);
}


/* articles */

#page-article.list .body.view,
#page-article.list .button.close,
#page-article:not(.list) .body.articles,
#page-article:not(.list) #filter
{
	display:none;
}

#articles 
{
  display: grid;
  grid-template-columns:repeat(4,calc((100% - 36px) / 4));
  column-gap: 12px;

  margin-bottom:calc(42px - 18px);
}
#articles .article,
#published .article
{
	display:block;
	float:left;
	/* width: calc((100% - 36px) / 4); */
	margin-bottom:10px;
	text-decoration:none;
	
	color:var(--page-text);
}

#articles .article:nth-child(1)
{
	grid-column-start:1; 
	grid-column-end:3; 
}
#articles .article:nth-child(2)
{
	grid-column-start:3; 
	grid-column-end:5; 
}
#articles .article:hover,
#published .article:hover
{
	background-color:var(--accent);
}

.article .media .image,
.case .media .image
{
	position:absolute;
	width:100%;
	height:100%;
	background-size:cover;
	background-position: 50%;
	transition:opacity .6s ease 0s;
	opacity:1;
}
.article .media.lazy .image
.case .media .image
{
	opacity:0;
}

.article .meta,
.case .deadline
{
	margin-top:8px;
	font-size:11px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.article .meta .issue,
#issue-list .issue
{
	display:inline-block;
	margin-right:4px;
	width:8px;
	height:8px;
}
#articles .article h2
{	
	font-size:22px;
	line-height:25px;
	margin:2px 0 0 0;
	height:calc(3 * 25px);
	overflow:hidden;
}
#articles .article:nth-child(1) h2,
#articles .article:nth-child(2) h2
{
	height:calc(2 * 25px);
}
#articles .article p
{
	margin:8px 0;
	height:calc(4 * 18px);
	overflow:hidden;
}

.article.selected .meta
{
	font-size:13px;
}
.article-caption
{
	display:flex;
	background-color:var(--page-bg);
}

.article.selected h1
{
	margin:12px 0 14px 0;
	font-size:49px;
	line-height:42px;
}
.two-columns
{
	columns:2;
}
.two-columns h1
{
	column-span: all;
}
.article .column > h1,
.two-columns h1,
.two-columns p
{
	margin-top:0;
}
.two-columns.has-paragraphs p:first-child,
.two-columns blockquote,
.columns blockquote
{
	font-size:22px;
	line-height:26px !important;
}
.two-columns blockquote,
.columns blockquote
{
	text-align:center;
}
.two-columns blockquote p,
.columns blockquote p
{
	line-height:inherit;
}

#issue-list
{
	margin:0;
	padding:0;
	list-style:none;
}
#issue-list li
{
	margin-bottom:18px;	
}
#issue-list li .thumb
{
	float:left;
	height:80px;
	margin-right:10px;
}
#issue-list li strong
{
	display:block;
}
#issue-list li p
{
	margin:0;
}

.article.selected a.share
{
	position:absolute;
	right:0;
	line-height:0;
}
.share-popup
{
	position:absolute;
	left:100px;
	top:100px;
	margin:0;
	padding:6px 10px;
	transform:translate(-50%,-100%);
	
	list-style:none;
	font-size:14px;
	line-height:26px;

	background-color:var(--page-bg);

	z-index:900;
	transition:opacity .4s ease 0s;
}
.share-popup a
{
	color:var(--dark);

}
.share-popup.feedback
{
	transition-delay:.5s;
}
.share-popup::after
{
	position:absolute;
	top:100%;
	left:50%;
	height:0;
	width:0;
	content:' ';
	border:0 solid transparent;
	border-top-color:var(--page-bg);
	border-width:8px;
	margin-left:-8px;
}
.share-popup a strong
{
	color:#DD3333;
}
.share-popup a
{
	text-decoration:none;
}
.share-popup a:hover
{
	text-decoration:underline;
}


/* publishing / shop */

#page-publishing .label
{
	position:absolute;
	right:0;
	top:16px;
	padding-right:8px;
	background-color:var(--dark);
	color:var(--page-bg);
	width:auto;
	text-align:right;
}
#published
{
  display: grid;
  grid-template-columns:repeat(2,calc(50% - 6px));
  column-gap: 12px;

  margin-bottom:calc(42px - 18px);
}
#published .article h2
{
	margin:5px 0 0 0;
}
#published .article p
{
	margin:8px 0;
}

.cart-count
{
	margin:5px;
	float:right;
	background-color:var(--page-bg);
	color:var(--dark);
	border-radius:50%;
	font-size:12px;
	width:16px;
	height:16px;
	line-height:16px;
	text-align:center;
	
}
.button .cart-count
{
	margin:4px -2px 0 0;
}
#buying-options
{
	list-style:none;
	margin:0 0 16px 0;
	padding:0;
}
#buying-options li
{
	margin-bottom:8px;
}
#buying-options li .button
{
	min-width:90px;
	margin-right:8px;
}

#cart-items .item
{
	display:flex !important;
	transition:opacity .3s ease 0s;
}
#cart-items .item.remove
{
	opacity:0;
}
#cart-items .item.total
{
	/* border-top:none; */
}
#cart-items .item .detail
{
	width:calc(100% - 116px - 50px - 76px);
}
#cart-items .item .amount
{	
	padding-left:8px;
	width:50px;
}
#cart-items .item .amount input[type="number"]
{
	margin:0;
	padding:0 4px;
	border-color:var(--medium);
}
#cart-items .item .price
{
	flex-shrink:0;
	width:76px;
	padding-right:6px;
	text-align:right;
}
#cart-items .item:not([data-shop-id])
{
	min-height:auto;
}
#cart-items .item .costs
{
	flex-shrink: 2;
	width:100%;
	text-align:right;
	color:var(--mediumdark);
}

#cart-items .item.error
{
    color: var(--mediumdark);
}
#cart-items .item.error .error
{
	color: #e4002d;
}
#cart-items .item:not(.error) .error
{
	display:none;
}




/* agenda */

#filter
{
	display:flex;
	justify-content: start !important;
	flex-wrap:wrap;
}
.filter
{
	position:relative;
}
#filter .select
{
	overflow:hidden;
	width:110px;
	margin-right:12px;
	border-radius:6px;
	height:26px;
	background-color:var(--dark);
}
#page-profile #filter .select
{
	width:120px;
}
#filter .select.language
{
	width:130px;
}
#authors
{
	width:180px;
	border-radius:6px;
	height:26px;
	line-height:23px;
	padding:0px 25px 2px 6px;
	background-color:transparent;
}
.filter svg.search,
.filter svg.reset
{
	position:absolute;
	right:5px;
	top:3px;
}
.filter.active svg.reset
{
	cursor:pointer;
	display:block;
}
.filter svg.reset,
.filter.active svg.search
{
	display:none;
}

.ui-autocomplete
{
	z-index:2000 !important;
	border:1px solid var(--dark) !important;
	border-top:none;
	border-radius: 0 0 6px 6px;
	margin-top:-3px;
	
	color:var(--page-text);
	background-color:var(--page-bg);
	
	font-family: 'din-2014',sans-serif;
}
.ui-autocomplete .ui-widget-content
{
	border:none !important;
	color:var(--page-text);
}
.ui-autocomplete .ui-menu-item:last-child .ui-state-active
{
	border-radius:0 0 6px 6px;
}
.ui-autocomplete .ui-state-active
{
	margin:0;
	border:none !important;
	background:var(--accent);
	color:var(--page-text);
/* 
	border-color:transparent;
	border-left-color:var(--dark);
	border-right-color:var(--dark);
 */
	
}

#filter .button
{
	width:110px;
	text-align:left;
	/* padding:0 8px; */
}
#filter .display
{
	font-size:11px;
	padding:8px 8px 8px 0;
	/* max-width:130px; */
}
#filter .display > span
{
	padding:0 8px;
}
#filter div.select,
#page-menu-mobile div.select
{
	position:relative;
	padding:0;
}
#filter select,
#page-menu-mobile select
{
	width:100%;
	border:0;
	padding:0 8px;
	
	/* background-color:transparent; */
	background-color:var(--dark);
	line-height: 1;

	-webkit-appearance:none;
	-moz-appearance:none;
	-ms-appearance:none;
}
/*	fix for firefox line-height inconsistency */
@-moz-document url-prefix()
{ 
	#filter select,
	#page-menu-mobile select
	{
		padding-bottom:1px;
	}
	.cart-count
	{
		line-height:15px;
	}
}

select.filter
{
	margin-bottom:0;
}

#agenda
{
	/* min-height:400px; */
}
#page-member-home #agenda
{
	margin-bottom:18px;
}

#agenda .event,
#cart-items .item
{
	display:block;
	position:relative;
	min-height:63px;
	
	margin-bottom:0;
	width:100%;
	padding:8px 0;
	
	border-top:1px solid var(--dark);
	color:var(--page-text);

	/* font-size:18px; */
	text-decoration:none;
}
#page-member-home #agenda .event
{
	line-height:18px;
	padding:8px 12px;
}

#agenda .event.past
{
	color:var(--mediumdark);
}
#agenda .header + .event
{
	border-top:none;
}
#agenda .event:hover,
#agenda .event.selected,
#cart-items .item[data-shop-id]:hover
{
	background-color:var(--accent);
}

.event span,
#cart-items .item .detail span
{
	display:block;
	overflow:hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.event .image,
#cart-items .item .image
{
	float:left;
	margin-right:9px;
	
	width:107px;
	height:calc(9 / 16 * 107px);
	
	background:rgba(29,29,27,.1) none no-repeat 50% 50%;
	background-size:cover;
}
.event .facebook,
.event .presale
{
	float:right;
}
.event .facebook + .presale
{
	margin-right:5px;
}
.event .presale,
.selected.event .presale,
#place .link
{
	display:inline-block;
	padding:0 8px;
	width:auto;
	min-width:70px;
	height:20px;

	font-size:12px;
	line-height:18px;
	text-transform: uppercase;
	text-align:center;
	font-weight:bold;
	text-decoration: none;
	
	border:1px solid var(--dark);
	background-color:var(--dark);
	color:var(--page-bg);
}
/*	fixe for firefox line-height inconsistency */
@-moz-document url-prefix()
{
	.event .presale,
	.selected.event .presale,
	#place .link
	{
		line-height:17px;
	}
}

.event .presale:hover,
#place .link:hover
{
	background-color:transparent;
	color:var(--dark);
	border-color:var(--dark);
}

#event .header
{
	margin-bottom:8px;
}
#event .meta
{
	margin-top:8px;
	font-size:22px;
	line-height:25px;
	font-weight:bold;
}
#event .meta a
{
	margin-top:3px;
}
#event .detail
{
	margin-top:16px;
}
#event .detail .label
{
	color:var(--medium);
}


/* forms */

form
{
	position:relative;
	line-height:1.2;
}
form .section:not(:empty)
{
	/* border-bottom:1px solid var(--page-text); */
	margin-bottom:20px;
}
form .section > .header:empty,
form .section > .guide:empty
{
	display:none;
}
form .section > .guide
{
	margin:16px 0;
}
form .section > label,
form .section > div.label
{
	position:relative;
	display:block;
	margin:0 0 16px 0;
}
form .section > label.two-column
{
    width: 48%;
    display: inline-block !important;
}
form .section > label.two-column.right
{
	float:right;
}
#mc_embed_signup
{
	/* margin-top:16px; */
}
.mc-field-group
{
	margin-bottom:12px;
}
.mc-field-group label
{
	margin:0;
	font-size:15px;
}
.caption.error
{
	font-size:13px;
	line-height:19px;
	color:#e4002d;
	/* text-align:right; */
}
.guide
{
	/* margin-bottom:12px; */
}
input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=file],
textarea,
select,
label.input
{
	position:relative;
	display:block;
	
	width:100%;
	
	border:1px solid var(--page-text);
	padding:2px 6px;
	margin:4px 0 2px 0;
	background-color:transparent;

	-webkit-appearance:none;
	-moz-appearance:none;
	-ms-appearance:none;
	
	font-family:utopia-std, serif;
	font-size:1rem;
	line-height:1.333rem;
	
	color:var(--page-text);
	
	outline:none;
}
select
{
	border-radius:0;
}
input:disabled
{
	opacity:.5;
}
textarea
{
	min-height:160px;
	resize: none;
}
input[type="file"].inputfile {

    margin: 0;
    padding: 0;
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}
em.guide
{
	padding-top:2px;
	display:inline-block;
	opacity: .5;
}
.error + em.guide
{
	display:none;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
textarea:focus,
select:focus,
label.input:hover
{
	background-color:var(--accent);
}
input[type=text].error,
label.input.error,
textarea.error
{
	color:#e4002d;
	background-color:rgba(235,94,89,.1);
	border-color:#e4002d;
}
div.check
{
	/* border:1px solid var(--page-text); */
	font-size:1rem;
	line-height:1.333rem;
	
	padding:2px 6px 2px 0;
	margin:6px 0 2px 0;
}
div.check.focus
{
	background-color:var(--accent);
}
div.check.group
{
	height:auto;
	line-height:30px;
}
div.check label,
div.slider label
{
	display:block;
	position:relative;
}
div.check input
{
	opacity:0;
	margin:0 11px 0 0;
	padding:0;
	vertical-align:middle;
}
div.check .checkbox
{
	position:absolute;
	left:2px;
	top:4px;
	background-color:transparent;
	border:none;
}
div.check.group .checkbox
{
	top:9px;
}
svg.icon.expand,
svg.icon.locked
{
	position:absolute;
	right:5px;
	top:27px;
	fill:var(--page-text);
	background-color:transparent;
	border:none;

	pointer-events:none;
}
svg.icon.locked
{
	right:12px;
	top:30px;
}
.error svg.icon.checkbox path
{
	fill:#e4002d;
}
svg.icon.checkbox rect,
svg.icon.checkbox path.check
{
	fill:transparent;
}
/* .head svg.icon.checkbox:not(:hover) path:not(.check), */
svg.icon.checkmark path
{
	fill:#404040;
}
svg.icon.checkbox.checked rect,
svg.icon.checkbox.checked path:not(.check),
svg.icon.checkbox:hover path:not(.check)
/* tr:hover svg.icon.checkbox path:not(.check) */
{
	fill:var(--page-text);
}
svg.icon.checkbox.checked path.check
{
	fill:white;
}
svg.icon.checkbox.focus path:not(.check)
{
	fill:#333;
}
form div.submit
{
	/* text-align:center; */
}
form a.submit
{
}


/*	jQeury UI */

#ui-datepicker-div
{
	border: 1px solid var(--dark);
	background-color:var(--page-bg);
	font-family: 'din-2014',helvetica,sans-serif;
	color:var(--dark);
}
#ui-datepicker-div .ui-widget-header
{
	background-color:var(--page-bg);
	color:var(--dark);
}

#ui-datepicker-div .ui-datepicker-title select
{
	display:inline-block;
}
#ui-datepicker-div .ui-state-default
{
	background-color:var(--page-bg);
	border-color:var(--page-bg);
	color:var(--page-text);
}
#ui-datepicker-div .ui-state-hover,
#ui-datepicker-div .ui-state-highlight.ui-state-hover,
#ui-datepicker-div .ui-state-active
{
	background-color:var(--accent);
	border-color:var(--accent);
}
#ui-datepicker-div .ui-state-highlight
{
	background-color:var(--light);
	border-color:var(--light);
}
#ui-datepicker-div select.ui-datepicker-year
{
	margin-left:6px;
}


/* tickets */

#page-presale a.presale
{
	display:none;
}
#presale-form
{
	margin-top:42px;
}
#presale-form .header
{
	width:100%;
	margin-bottom:16px;
}

#cart
{
	padding:8px 0;
}
#cart div > span,
#cart div > strong
{
	padding-left:6px;
	display:inline-block;
	min-width:65px;
	text-align:right;
}
#cart div.total
{
	padding-top:10px;
	font-size:18px;
}

.ticket
{
	display:block;
	position:relative;
	min-height:63px;
	
	margin-bottom:0;
	width:100%;
	padding:8px 0;
	border-bottom:1px solid var(--dark);

	font-size:18px;
	text-decoration:none;
}
.ticket.disabled
{
	/* background-color:#fafafb; */
}
.ticket.disabled .issue
{
	color:var(--medium) !important;
	text-decoration: line-through;
}
.ticket:not(.disabled):hover
{
	background-color:var(--accent);
}
.ticket .expires
{
	color:var(--medium);
	font-size:16px;
}
.ticket .stock
{
	font-size:14px;
}
.ticket .amount
{
	float:right;
	width:50px;
}
.ticket .amount input[type=number]
{
	color:inherit;
}
.ticket .amount.donation,
#cart div
{
	display:flex;
	justify-content: flex-end;
	align-items: center;
}
.ticket .amount.donation input
{
	color:inherit;
	margin-left:5px;
	width:60px;
	text-align:right;
}

#submit
{
	float:right;
	margin-right:0;
}

.submit.disabled,
.submit.checkout
{
	color:var(--medium) !important;
	border-color:var(--medium) !important;
	background-color:transparent !important;
}
.submit:not(.disabled):not(.checkout):hover
{
	color:inherit !important;
	background-color:transparent !important;
}


/* MIJN */

.sections
{
	margin-top:30px;
	display:grid;
	grid-template-columns: repeat(4,1fr);
	column-gap:12px;
	row-gap:12px;	
}

.sections > div,
.section-nav
{
/* 
	width: calc((100% - 36px) / 4);
 */
	border:1px solid var(--dark);
	border-top:none;
}

.sections ul,
.section-nav ul
{
	margin:0;
	padding:8px;
	list-style:none;
}
.section-nav a.selected
{
	color:var(--active);
	text-decoration:none;
}
#page-organisation,
#page-case
{
	display:grid;
	grid-template-columns:calc((100% - 36px) / 4) 1fr;
	column-gap:12px;
}
#page-organisation h1
{
	margin-top:0;
}
#page-organisation .two-columns
{
	columns:1;
}

/* MIJN:voting */

#cases
{
  display: grid;
  grid-template-columns:repeat(4,calc((100% - 36px) / 4));
  grid-gap: 12px;

  margin-bottom:calc(42px - 18px);
}
#cases.options,
#vote
{
  grid-template-columns:repeat(3,calc((100% - 24px) / 3));
}


a.case
{
	display:inline-block;
	background-color: var(--dark);
	color:var(--page-bg);
	padding:0 10px;
	text-decoration:none;
	word-break:normal;
}
.case.closed
{
	background-color: var(--medium);
}
.case.sidebar
{
	width:100%;
}

.case:hover,
.case.active
{
	background-color: var(--accent) !important;
	color:var(--page-text);
}
.case h1
{
	margin:0;

	font-family: 'din-2014',helvetica,sans-serif;
	font-size:16px;
	line-height:25px;
	font-weight:bold;
	text-transform:uppercase;
	overflow:hidden;
	white-space:nowrap;
	text-overflow: ellipsis;
}
.case h2
{
	margin:5px 0;
	height:calc(4 * 25px);
}
.case .deadline
{
	margin:12px 0 20px 0;
}
.case.sidebar .deadline
{
	margin-top:25px;
}
.case section
{
	text-align:center;
	margin-bottom:12px;
}
.case a.check
{
	background-color:var(--page-bg);
	color:var(--page-text);
	border-color:var(--page-bg);
}
.case a.result 
{
	position:relative;
	background-color:transparent;
	overflow:hidden;
	min-width:150px;
}
.case:hover a.result,
.case.active a.result
{
	color:var(--dark);
	border-color:transparent;
}
.case a.result .score
{
	position:absolute;
	display:block;
	left:0;
	top:0;
	height:100%;
	width:50%;
	background-color:var(--dark);
	z-index:0;
}
.case:hover a.result .score,
.case.active a.result .score
{
	background-color:transparent;
}
.case a.result .score + span
{
	position:relative;
}
.case a.vote.disabled
{
	opacity:.5;
	background-color:transparent;
	color:var(--page-text)
}


#cases.options .case:not(.closed),
#cases.options .case.winner
{
	background-color:var(--active);
}
#cases.options .case h2	
{
	/* height:calc(3 * 25px); */
}
.case:hover .check,
#cases.options .case.checked .check
{
	background-color:transparent;
	border-color:transparent;
}

/* galleries */

.cms-inline-media
{
	position:relative;
	margin-bottom:18px;

	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}
.cms-inline-media.head
{
	margin-bottom:0;
}
.cms-inline-media.placeholder
{
	padding-bottom:calc(9 / 16 * 100%);
}
.cms-inline-media.placeholder .gallery > .media
{
	opacity:0;
}
.cms-inline-media-thumb
{
	display:none;
}
/* safari-only display bug fix */
_::-webkit-full-page-media, _:future, :root .gallery
{
	transform: translate3d(0, 0, 0);
}
.gallery .navigation
{
	opacity:.5;
	position:absolute;
	z-index:1;
	width:100%;
	padding-bottom:56.25%;
	pointer-events:none;
	transition:opacity 1s ease 0s;
}
.gallery.hover .navigation,
.gallery:hover .navigation
{
	opacity:.9;
	transition:none;
}
.gallery .navigation a
{
	position:absolute;
	top:50%;
	margin-top:-22px;
}
.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%;
}
/*	fix 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;

	transition:opacity .6s ease 0s;
}
.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,
oembed iframe
{
	position:absolute;
	width:100%;
	height:100%;
}
oembed:not(.media)
{
	display:none;
}
.gallery figcaption
{
	padding:8px 0;
	font-size:13px;
	/* font-weight: 300; */
}
.gallery .article-caption figcaption
{
	padding:8px 0 0 4px;
}
.gallery .article-caption figcaption::before
{
	content:' / Image: ';
}

@media (min-width:801px)
{
	/*	two column layout */

	.mobile-only,	
	#page-menu-mobile
	{
		display:none;
	}

	/* home */
	
#page-home figcaption
{
	/* background-color:rgba(250,0,0,.1); */
    padding-bottom: 0;
    margin-bottom: -6px;	
}
	
	
	#home-news .column:first-child
	{
		width:calc(((100% - 12px) / 4) * 3);
	}
	#home-news .column:last-child
	{
		width:calc((100% - 12px) / 4);
	}

	
/* 
	#filter
	{
		position:absolute;
		left:inherit;
		top:inherit;
		margin:49px 0 0 calc(-50% + 6px);
		width:calc(50% - 18px);
	}
	#event 
	{
		margin-top:47px;
	}
 */

}
@media (max-width:800px)
{
	/*	single column layout
	*/
	
	.hd-only
	{
		display:none;
	}
	
	#page-centered
	{
		margin:0;
		padding:6px;
		/* max-width: */
	}
	#page-body
	{
		padding-top:0;
	}
	
	.logo
	{
		width:calc(50% - 3px);
	}
	.logo:first-child
	{
		margin-right:6px;
	}
	
	#page-header
	{
		/* flex-wrap:wrap-reverse; */
	}
	#page-header .right
	{
		margin-top:14px;
		margin-bottom:4px;
	}
	#view-mode
	{
		margin-top:-4px;
	}
	
	#head-text.is-home
	{
		margin:12px 0;
		height:auto;
	}
/* 
	#head-text:not(.is-home)
	{
		margin-bottom:0;
	}
 */
	#head-text:not(.is-home) p
	{
		display:none;
	}
	
	#page-menu-mobile
	{
		padding:6px 0;
/* 
		border-radius:6px;
 */
		background-color:var(--page-bg);
		
	}
	#page-menu-mobile .select
	{
		height:28px;
		height:34px;
		background-color:var(--dark);
	
	}
	#page-menu-mobile select
	{
		
		padding-left:34px;
		margin-bottom:6px;
		margin-top:3px;
	}

	#page-menu-mobile .menu
	{
		pointer-events:none;
		position:absolute;
		left:10px;
		top:6px;
		top:9px;
	}
	
	#page-menu-mobile .expand
	{
		top:6px;
	}
	
	#page-home .header
	{
		width:100%;
	}
	
	#page-article.list .actions
	{
		flex-wrap: wrap;
	}
	#articles,
	#published,
	#galleries
	{
		display:block;
		min-height:0 !important;
	}
	#articles
	{
		margin-bottom:0;
	}
	#articles .article h2
	{
		height:auto !important;
	}
	#articles .article:last-child
	{
		margin-bottom:0;
	}
	
	#articles a.article,
	#published a.article
	{
		width:100%;
	}
	#page-nl-toggle
	{
		position:relative;
		margin-top:0;
		margin-bottom:6px;
	}
	


	#page-home .columns:not(.no-bottom-margin)
	{
		margin-bottom:18px;
	}

	.banner
	{
	    margin: 18px 0;
	}
	#page-home .body .banner:first-child
	{
		margin-top:12px;
	}

	.two-columns
	{
		columns:initial;
	}
	.columns
	{
		flex-wrap:wrap;
	}
	.columns.wrap-reverse
	{
		flex-wrap:wrap-reverse;
	}
	.column
	{
		width:100%;
	}
	.column > .header.empty
	{
		display:none;
	}
	#page-home .column.with-margin
	{
		margin-top:24px;
	}
	
	
	#page-sub-nav
	{
		top:46px;
		padding-bottom:6px;
		margin-bottom:12px;
		
		/* background-color:rgba(250,0,0,.1); */
	}
	#page-sub-nav .actions
	{
		padding: 6px 6px 0 6px;
	}
	
	#page-sub-nav .button:not(.reset) 	
	{
		margin-bottom:6px;
	}
	
	#page-sub-nav .guide
	{
		display:none;
	}
	
	a.button
	{
		min-width:0;
	}
	
	#filter .button
	{
		width:auto;
		min-width:60px;
	}
	#filter .display
	{
		padding:4px 0 8px 0;
	}

	#map
	{
		margin-bottom:12px;
	}
	
/* 
	#filter .select
	{
		width:80px;
	}
 */


/* 
	#page-agenda .column:first-child .head
	{
		display:none;
	}
 */

}
@media (max-width:420px)
{
	div.filter
	{
		background-image:none;
		padding:0;
	}
	select.filter
	{
		padding:0 5px;	
	}
}
