@charset "UTF-8";

/*=================================== Custom fonts ===================================*/

@font-face { font-family:'CircularStd-Book'; src:url(/assets/fonts/CircularStd-Book.otf); font-weight:normal; }
@font-face { font-family:'CircularStd-BookItalic'; src:url(/assets/fonts/CircularStd-BookItalic.otf); font-weight:normal; }
@font-face { font-family:'CircularStd-Medium'; src:url(/assets/fonts/CircularStd-Medium.otf); font-weight:normal; }
@font-face { font-family:'CircularStd-MediumItalic'; src:url(/assets/fonts/CircularStd-MediumItalic.otf); font-weight:normal; }

/*=================================== Initialization & General ===================================*/

/*Universal initialization*/
* { margin:0; padding:0; border:none; box-sizing:border-box; }
html { font-size:1vw; }
body, body > section { width:100%; overflow-x:hidden; }
h1, h2, h3, h4, h5, h6, p { border:0; font-size:inherit; font-weight:inherit; }
button { background-color:transparent; background-repeat:no-repeat; cursor:pointer; overflow: hidden; outline:none; }
h1 p, h2 p, h3 p, h4 p, h5 p, h6 p, span p { margin-bottom:1rem; }
input:focus, select:focus, textarea:focus, button:focus { outline:none; }
input[type=search]::-ms-clear {  display: none; width : 0; height: 0; }
input[type=search]::-ms-reveal {  display: none; width : 0; height: 0; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration { display:none; }

/*Site-specific initialization*/


/*=================================== Framework ===================================*/

/*--Universal framework--*/
/*Content alignment*/
.leftText { text-align:left; }
.rightText { text-align:right; }
.centeredText { text-align:center; }
.floatLeft { float:left; }
.floatRight { float:right; }
.alignLeft { align-self:start; }
.alignRight { align-self:end; }
.hCentered { text-align:center; }
.vCentered { display:flex; align-items:center; flex-direction:column; justify-content:center; }
.vEnd { display:flex; flex-direction:column; justify-content:flex-end; }
/*Position properties*/
.relative { position:relative; }
.absolute { position:absolute; }
.fixed { position:fixed; }
/*Display properties*/
.flex { display:flex; }
.flexEnd { align-self:flex-end; }
.flexGrow { flex-grow:1; }
.flexShrink { flex-shrink:1; }
.flexFixed { flex-shrink:0; }
.hFlex { display:flex; flex-direction:row; }
.vFlex { display:flex; flex-direction:column; }
.inline { display:inline; }
.inlineBlock { display:inline-block; }
.inlineFlex { display:inline-flex; }
.block { display:block; }
.breakColumnAfter { break-after:column; }
/*Standard dimensions*/
.width25 { width:25%; }
.width30 { width:30%; }
.width33 { width:33%; }
.width40 { width:40%; }
.width50 { width:50%; }
.width60 { width:60%; }
.width65 { width:65%; }
.width66 { width:66%; }
.width75 { width:75%; }
.width90 { width:90%; }
.width100 { width:100%; }
.height100 { height:100%; }
/*Visual styles*/
.blankList { list-style:none; }
.circle { border-radius:50%; }
.monochrome { -webkit-filter:grayscale(100%); /* Safari 6.0 - 9.0 */ filter:grayscale(100%); }
.multiply { mix-blend-mode:multiply; }
.vertical { transform:rotate(270deg); }
.hidden { display:none; }
.hidden.active { display:block; }
/*Other*/
.clickable { cursor:pointer; }
.cover { object-fit:cover; }
*:disabled { opacity:0.3; cursor:default; }

/*Site-specific framework: Widths & margins*/
.doubleColumn { column-count:2; column-gap:10%; }
.width2C { width:47.5%; margin-right:5%; }
.width2C:nth-of-type(even) { margin-right:0; }
.width3C { width:31%; margin-right:3.33%; }
.width3C:nth-of-type(3n) { margin-right:0; }
img.topMargin { margin-top:5rem; }
span.topMargin, span.small.topMargin { margin-top:1rem; display:inline-block; }
span.largeTopMargin { margin-top:3rem; display:inline-block; }
span.bottomMargin { margin-bottom:1rem; display:inline-block; }
span.largeBottomMargin { margin-bottom:2rem; display:inline-block; }
span.rightMargin, button.rightMargin { margin-right:2rem; }
h1.bottomMargin { margin-bottom:3rem; display:inline-block; }
h2.topMargin, h3.topMargin { margin-top:2rem; display:inline-block; }
h2.bottomMargin, h3.bottomMargin { margin-bottom:2rem; }
h2.rightMargin, h3.rightMargin { margin-right:2rem; }
div.topMargin { margin-top:3rem; }
div.bottomMargin { margin-bottom:3rem; }
div.smallTopMargin, a.smallTopMargin { margin-top:0.75rem; }
div.smallLeftMargin, a.smallLeftMargin { margin-left:0.75rem; }
div.smallBottomMargin { margin-bottom:0.75rem; }
div.absolute.bottom { bottom:3rem; }
div.absolute.right { right:3rem; }
button.bottomMargin { margin-bottom:1rem; }


/*Site-specific framework: Paddings*/
section.padding { padding:8rem 3rem 6rem !important; }
section.smallPadding { padding:4rem 3rem 6rem !important; }
section.introPadding { padding:16rem 3rem 3rem !important; }
section.vPadding { padding-top:8rem; padding-bottom:6rem !important; }
section.hPadding, span.hPadding { padding-left:3rem !important; padding-right:3rem !important; }
section.topPadding { padding-top:7rem !important; }
section.bottomPadding { padding-bottom:6rem !important; }
h1.vPadding, h2.vPadding, h3.vPadding { padding-top:1rem !important; padding-bottom:1rem !important; }
span.topPadding { padding-top:1rem; }
span.leftPadding { padding-left:2rem; }
div.topPadding { padding-top:7rem; }
.padding { padding:4rem; }
.hPadding { padding-left:3rem; padding-right:3rem; }
.vPadding { padding-top:4rem; padding-bottom:4rem; }
.rightPadding { padding-right:4rem; }
.smallPadding { padding:2rem; }
.vSmallPadding { padding-top:1.5rem; padding-bottom:1rem; }
.hSmallPadding { padding-left:2rem; padding-right:2rem; }
.bottomSmallPadding { padding-bottom:1rem; }
.bottomVerySmallPadding { padding-bottom:0.5rem; }

/*Site-specific framework: Colors*/
.whiteBackground { background-color:#fff; }
.blackBackground { background-color:#000; }
.defaultBackground { background-color:#dcdfe4; }
.defaultHover:hover { background-color:#dcdfe4; }

/*Site-specific framework: Buttons & icons*/
button { overflow:visible; }
button.circle { width:0.8rem; height:0.8rem;}
button.circle.black:hover, button.circle.black.active { background:#000; }
button.rectangle { padding:0.4rem 1rem; border-radius:0.28rem; }
button.close { width:2rem; height:2rem; background:url(/assets/images/icon-close.png) no-repeat; background-size:contain; }
button.arrow.previous { width:3rem; height:2rem; margin-right:1rem; background:url(/assets/images/icon-previous.png) no-repeat; background-size:contain; }
button.arrow.next { width:3rem; height:2rem; background:url(/assets/images/icon-next.png) no-repeat; background-size:contain; }
button.expander { padding-right:1.5rem; background:url(/assets/images/icon-expand.png) no-repeat; background-position:center right; background-size:0.8rem; }
button.expander.active { background:url(/assets/images/icon-collapse.png) no-repeat; background-position:center right; background-size:0.8rem; }
button.facebook { width:2rem; height:2rem; margin-right:1rem; background:url(/assets/images/icon-facebook.png) no-repeat; background-size:contain; }
button.twitter { width:2rem; height:2rem; margin-right:1rem; background:url(/assets/images/icon-twitter.png) no-repeat; background-size:contain; }
button.instagram { width:2rem; height:2rem; margin-right:1rem; background:url(/assets/images/icon-instagram.png) no-repeat; background-size:contain; }
button.soundcloud { width:4rem; height:2rem; margin-right:1rem; background:url(/assets/images/icon-soundcloud.png) no-repeat; background-size:contain; }
button.search { width:1.5rem; height:1.5rem; margin:-0.25rem 3rem auto 1rem; background:url(/assets/images/icon-search.png) no-repeat; background-size:contain;  }
button.vimeo { width:2rem; height:2rem; margin-right:1rem; background:url(/assets/images/icon-vimeo.png) no-repeat; background-size:contain; }
button.youtube { width:2.6rem; height:2rem; margin-right:1rem; background:url(/assets/images/icon-youtube.png) no-repeat; background-size:contain; }
button.absolute.bottom { bottom:3rem; }
button.absolute.right { right:3rem; }
button.absolute.hCentered { left:0; }

/*Site-specific framework: Form elements*/
form label, form input[type=text], form input[type="password"], form input[type=email] { margin-bottom:2rem; }
form label { margin-right:1rem; display:inline-block; }
form input[type=text], form input[type="password"], form input[type=email] { display:inline-block; background-color:transparent; border-bottom:0.08rem solid #000; }
form input[type=submit] { padding:1rem; border-radius:0.3rem; }
form.newsletter label { width:10rem; }
form.newsletter label.small { width:4rem; margin:0; }
form.newsletter input[type=text], form.newsletter  input[type="password"], form.newsletter  input[type=email] { width:20rem; }
form.newsletter input[type=submit] { margin-top:-1.5rem; }

/*Site-specific framework: Other*/
.border.black { border:0.08rem solid #000; }
.topBorder.black { border-top:0.08rem solid #000; }
.leftBorder.black { border-left:0.08rem solid #000; }
.rightBorder.black { border-right:0.08rem solid #000; }
.bottomBorder.black { border-bottom:0.08rem solid #000; }
.bottomBorder.white { border-bottom:0.08rem solid #fff; }

/*=================================== Snippets ===================================*/

/*Info cards*/
.infoCard.width25 { height:37.25rem; }
.infoCard h2 { height:8rem; margin:2rem auto; }
.infoCard img.large { height:35.75rem; }
section.sectionFiltered .sectionBackground { background-color:initial !important; }
section.sectionFiltered .sectionBorder { border:0.08rem solid #000; }

/*Direct access carousel*/
.carousel.directAccess .navigation.left, .carousel.directAccess .navigation { left:4rem; bottom:3rem; }
.carousel.directAccess .navigation.right { left:54rem; bottom:3rem; }
.carousel.directAccess .item { display:none; }
.carousel.directAccess .item.active { display:inline-block; }

/*Slide Carousel*/
.carousel { overflow:hidden; }
.carousel.slide .items, .carousel.multiSlide .items { display:flex; flex-direction:row; position:relative; }
.carousel.slide .items .item, .carousel.multiSlide .items .item { flex:none; }
.carousel.slide .item.width25, .carousel.slide .item.width33 { margin-left:3rem; } 
.carousel.slide .item.width50 { width:44.5rem; margin-right:4rem; } 

/*Lightbox*/
.image.expandable { cursor:pointer; }
.image.expandable.active { width:100vw; height:100vh; left:0; top:0; margin:0 !important; padding:3rem; z-index:500; position:fixed; background:url(/assets/images/icon-close.png) rgba(255, 255, 255, 0.90) no-repeat top 1rem right 3rem; background-size:1rem; }
.image.expandable.active img { height:auto !important; max-height:85vh; object-fit:contain !important; }
.image.expandable span, .image.expandable h2 { display:none !important; }
.image.expandable.active span, .image.expandable.active h2 { display:inline-block !important; }

/*Pop-Ups*/
.popup { width:100rem; bottom:0; z-index:1000; position:fixed; }
.popup.newsletter { display:none; min-height:33vh; }
.popup.cookies { z-index:1010; }
.popup.active { display:block !important; }

/*Other snippets*/
div.warning { background-color:#dcdfe4 !important; min-height:0 !important; }
div.warning p { margin-bottom:0; }

/*=================================== Templates ===================================*/

select { padding-right:2.5rem !important; -webkit-appearance:none; -moz-appearance:none; appearance:none; background-color:initial; background-image:url(/assets/images/icon-select.png); background-repeat:no-repeat; background-position:center right; background-size:0.8rem; }
select.small.toggle { width:60%; padding:1rem; margin-top:0.5rem; background-position:center right 1rem; }
select.small.toggle.active { background-image:url(/assets/images/icon-close.png); background-position:center right 1rem; }
select.small:focus { width:auto; min-width:60%; }
select.small:nth-of-type(1) { margin-top:2.5rem; }
select.small option { text-align:right; }
select.large { margin:auto 2rem auto 0; }
select.large.months { width:13.5rem; }

header { z-index:100; }
header, header nav > div, header .logo img { height:7rem; }
header nav > div > div { padding-top:1rem; }
header .navigation .expanded.instant { transition-delay:0s !important; }
header .navigation .expanded { transition:visibility 0s; height:auto !important; top:0; right:0; z-index:200; visibility:hidden; transition-delay:1s; }
header .navigation:hover .expanded { visibility:visible; transition-delay:1.75s; }
header .navigation:hover .extras { top:0; right:0; position:absolute; z-index:201; }
header .navigation .extras button { visibility:hidden; transition-delay:1s }
header .navigation:hover .extras button { visibility:visible; }

footer { padding-top:8rem; padding-bottom:22rem; background:url(/assets/images/background-footer.gif) no-repeat; background-size:contain; background-position:left bottom 3rem; }
footer span.small { padding-bottom:3rem; }
footer span.small:nth-of-type(2) { padding-top:3rem; }
footer table td:first-child { width:6rem; }

section.archive .item h3 { height:6rem; }

section.articleGallery .image img { height:30rem; }

section.articles .carousel .item img { height:20rem; }
section.articles .carousel .item div { height:14rem; padding-left:6rem; padding-right:6rem; }
section.articles .carousel .item div span { right:0; top:45%; }

.audio iframe, .video iframe, .video > div { width:100%; height:23.5rem; background:#000; }
.mediaHighlights .audio iframe, .mediaHighlights .video iframe, .mediaHighlights .video > div { height:100%; min-height:50.5rem; }

section.calendar .filter.date { margin-left:33%; }
section.calendar .events .monthHeader { height:2rem; margin-top:10rem; border-width:0.2rem !important; }
section.calendar .events .monthHeader:first-of-type { margin-top:0; }
section.calendar .events .event, section.calendar .events .event .data { height:13rem; overflow:hidden; }
section.calendar .events .event .date, section.calendar .events .event .data { z-index:10; }
section.calendar .events .event .background { height:100%; width:30%; z-index:0; transition:width 0.6s;}
section.calendar .events .event:hover .background { width:100%; }
section.calendar .events .event button { top:5.5rem; right:2rem; display:none; z-index:20; }
section.calendar .events .event:hover button { display:block; }
section.calendar .events .event .data .tags { bottom:2rem; }
section.calendar .events .event .data .tags span:not(:empty) { margin-right:3rem; }

section.direction .map, section.tours img { height:24rem; }

section.downloads .item > div { height:11rem; }
section.downloads .item .description { padding:2rem 0 2rem 2rem; }

section.events .carousel .item { padding-bottom:4rem; }
section.events .carousel .item img, section.events .carousel .item .overlay .data { height:17rem; }
section.events .carousel .item .description { height:14rem; }
section.events .carousel .item .description > * { margin-bottom:0.5rem; }
section.events .carousel .item .infos { height:3.5rem; left:0; bottom:0; z-index:10; }
section.events .carousel .item .infos > * { padding:1rem 0; }
section.events .carousel .item .overlay { padding-top:6rem; left:0; top:0; display:none; z-index:20; }
section.events .carousel .item:hover .overlay { display:block; }
section.events .carousel .item .overlay .data h4 { margin-top:1rem; }
section.events .carousel .item .overlay button { left:0; bottom:4rem; }

section.extra .links span { margin:3rem 3rem 0 0; }

section.galleries .carousel, section.galleries .carousel .item, section.galleries .carousel .item img { height:37.5rem; }
section.galleries .carousel .navigation { top:3rem; right:3rem; z-index:100; }
section.galleries .carousel .item span { margin:6rem auto 4rem; }

section.headline { height:43rem; background-position:left bottom; background-size:contain; background-repeat:no-repeat; overflow:hidden; }
section.headline h2 { margin-bottom:6rem; }

section.headlines .carousel, section.headlines .carousel .item, section.highlights .carousel, section.highlights .carousel .item { height:47rem; }
section.headlines .carousel .item, section.highlights .carousel .item { padding-top:7rem; }
section.headlines .carousel .item > *, section.headlines .carousel .item .cover, section.highlights .carousel .item > *, section.highlights .carousel .item .cover { height:40rem; }
section.headlines .carousel .item .description img, section.highlights .carousel .item .description img { margin:2rem 0; }
section.headlines .carousel .item .description button, section.highlights .carousel .item .description button { right:4rem; bottom:3rem; z-index:20; }

section.highlight .item, section.highlight .item img { height:30rem; }
section.highlight .carousel button { top:45%; z-index:200; }
section.highlight .carousel button.next { right:2rem; }
section.highlight .carousel button.previous { left:2rem; }

section.history .wrapper { overflow:hidden; }
section.history .wrapper, section.history .episodes, section.history .episode { height:28rem; }
section.history .navigation { width:0.08rem; height:20rem; margin:4rem 0; left:50%; top:0; overflow:visible; }
section.history .navigation .handle { width:1rem; height:1rem; margin-left:-0.46rem; }

section.images .image img { height:17rem; }

section.intro .tag, section.intro button { margin-top:3rem; }
section.intro .details span, section.intro .details .collapseDetails, section.intro .details.active .expandDetails { display:none; }
section.intro .details.active span, section.intro .details.active .collapseDetails { display:block; }
section.intro .links span { padding:1rem 0; flex-grow:1; }
section.intro .links span:first-of-type { margin-right:3rem; }

section.media .filter { padding-top:4rem; }
section.media .item img, section.media .item > div, section.archive .item img { height:17rem; }
section.media .item .description, section.media .item:hover .title { display:none; }
section.media .item:hover .description { display:block; }

section.membership .formLink { margin-left:50%; }

section.partners .items { height:1.5rem; overflow:hidden; transition:height 0.25s ease-in; }
section.partners .items.active, section.partners .item { height:18rem; }
section.partners .item img, section.partners .item:hover h2 { display:none; }
section.partners .item:hover img { display:inline-block; }
section.partners .carousel .navigation { display:none; }
section.partners .carousel.active .navigation { display:block; }

section.photos > div,  section.photos img { height:37.5rem; }

section.projects.sectionFiltered .item { background-color:initial !important; border:0.08rem solid #000; }
section.projects .carousel .infoCard h2 { height:auto; }
section.projects .carousel img { height:33rem; }

section.publications > .items .item { height:40rem; }
section.publications .publication .carousel:hover { width:100%; position:absolute; z-index:200; transition:width 0.15s ease-in; }
section.publications .publication .carousel button { top:45%; z-index:200; display:none; }
section.publications .publication .carousel:hover button { display:block; }
section.publications .publication .carousel button.next { right:2rem; }
section.publications .publication .carousel button.previous { left:2rem; }
section.publications .publication .carousel .item { display:none; }
section.publications .publication .carousel .item:first-of-type { display:block; }
section.publications .publication .details { height:1.2rem; overflow:hidden; }
section.publications .publication.active { height:auto; }
section.publications .publication.active .details { height:auto; }
section.publications .publication.active .carousel:hover { width:33%; position:relative; }
section.publications .publication.active .carousel:hover button { display:none; }
section.publications .publication .order, section.highlight .order { right:2rem; bottom:2rem; }
section.publications .publication .price, section.highlight .price { left:2rem; bottom:2rem; }

section.sections .section { height:35rem; margin-top:3rem; overflow:hidden; }
section.sections .section .preview { margin-bottom:5rem; }
section.footerLink h2 { margin-bottom:2rem; }

section.series .carousel .item { padding-bottom:4rem; }
section.series .carousel .item img { height:17rem; }
section.series .carousel .item .description { height:14rem; }
section.series .carousel .item .description > * { margin-bottom:0.5rem; }
section.series .carousel .item .infos { height:3.5rem; left:0; bottom:0; z-index:10; }
section.series .carousel .item .infos > * { padding:1rem 0; }
section.series .carousel .item .overlay { padding-top:6rem; left:0; top:0; display:none; z-index:20; }
section.series .carousel .item:hover .overlay { display:block; }
section.series .carousel .item:hover img, section.series .carousel .item:hover .description { display:none; }
section.series .carousel .item .overlay h4 { margin-top:1rem; }

section.spaces img, section.spaces .description { display:none; }
section.spaces img.active, section.spaces .description.active { display:block; }

section.staff .item img { height:20rem; }
section.staff .item:hover img, section.staff .item:hover .description .data { opacity:0; }
section.staff .item .description { height:17rem; }
section.staff .item .description h3 { height:4.5rem; }
section.staff .item .overlay { display:none; z-index:20; }
section.staff .item:hover .overlay { display:block; }

section.team .item { width:25rem; margin-left:-12.5rem; margin-top:-8rem; left:50rem; z-index:100; display:none; }
section.team div:hover > .item { display:block; }
section.team .item img { height:18rem; }

/*=================================== Texts ===================================*/

/*Default text styles*/
nav span { font:300 1rem/1.5rem CircularStd-Book, sans-serif; }
span.small, h4.small, button.rectangle { font:400 1rem/1.2rem CircularStd-Book, sans-serif; }
span.medium, span, button, select.small { font:400 1.15rem/1.44rem CircularStd-Book, sans-serif; }
span.large, button.large, label, input[type=text], input[type="password"], input[type=email], input[type=submit] { font:400 1.4rem/1.68rem CircularStd-Book, sans-serif; }
h1, h1 input { font:400 4rem/4.8rem CircularStd-Book, sans-serif; display:inline; }
h2 { font:400 3rem/3.6rem CircularStd-Book, sans-serif; }
h2.small { font:400 1rem/1.5rem CircularStd-Book, sans-serif; }
h2.extraLarge { font:400 14rem/14rem CircularStd-Book, sans-serif; }
h3.small, span.extraLarge { font:400 1.8rem/2.16rem CircularStd-Book, sans-serif; }
h3.medium, h3, select.large { font:400 2.4rem/2.88rem CircularStd-Book, sans-serif; }
h3.large { font:400 3.5rem/4.2rem CircularStd-Book, sans-serif; }

/*Text styles*/
.black, .black a { color:#000; }
.white, .white a { color:#fff; }
.italic { font-style:italic !important; }
.elevated { margin-left:1.6rem; top:-1.6rem; position:relative; }
/*.bold { font-weight:bold; }*/

/*Link styles*/
.alwaysUnderline a, button:not(.noUnderline) { text-decoration:underline !important; }
.noUnderline a:link, .noUnderline a:visited, .noUnderline a:hover, .noUnderline a:active, a.noUnderline:link, a.noUnderline:visited, a.noUnderline:hover, a.noUnderline:active, button.noUnderline { text-decoration:none !important; }

.hoverBold a:hover, .hoverBold a:active, button:hover { font-weight:bold; }
.hoverItalic a:hover, .hoverItalic a:active, button:hover { font-style:italic; }

@media all and (min-width:2000px) {
	html { font-size:20px; }
	body { width:2000px; position:relative; margin:0 auto; }
}*/