:root {
	--special-font: "Kollektivet Livet", "Helvetica Neue", Helvetica, sans-serif;
	--heading-font: "Futura PT W01 Heavy", "Helvetica Neue", Helvetica, sans-serif;
	--bold-font: "Futura PT W01 Bold", "Helvetica Neue", Helvetica, sans-serif;
	--body-font: "Futura PT W01 Medium", "Helvetica Neue", Helvetica, sans-serif;
	--body-font-size: 1.6rem;
	--subheading-size: 2.5rem;
	--content-width: 120rem;
	--full-height: 100vh;
}
html body {
	color: black;
	background: white;
	font-family: var(--body-font);
	overflow-x:hidden;
}
body {
	position: relative
}
body.admin-bar {
	--full-height: calc(100vh - 32px);
}
body.zap-post-inner-gap .post-inner {
	padding-top: 0;
}
body .entry-content {
	font-family: var(--body-font);
	font-size: var(--body-font-size);
}
/* Headings */
h1,h2,h3,h4, body .entry-content h1, body .entry-content h2,  body .entry-content h3, body .entry-content h4 {
	font-family: var(--heading-font);
}
h2, .heading-size-2 {
    font-size: var(--subheading-size);
}
h3, .heading-size-3 {
    font-size: 1.8rem;
}
/* Links */
body a {
	color: inherit;
	text-decoration: underline;
}
/* Page header and logo */
.template-startpage header#site-header {
	background: black;
}
.template-art header#site-header {
	background-color: #fff75a;
}
.logo-nav-outer {
	z-index: 15;
	position: relative;
	left: 0;
	transition-duration: 0.5s;
	right: 0;
	background: black;
}
.logo-nav-wrapper {
	width: var(--content-width);
	display: flex;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	flex-wrap: wrap;
	height: 100px;
	max-width: 100vw;
}

figure.featured-media {
	position: absolute;
	z-index: -1;
	height: 100%;
	width: 100%;
}
figure.featured-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;	
}
body.singular .featured-media::before {
	display: none;
}
header .logo-wrapper {
	display: flex;
	z-index: 10;
	margin-bottom: 4px;
	width: 100vw;
	justify-content: center;
}

#site-header .toggle.active {
    background-color: #000;
}

img.custom-logo {
	height: 20px;
	transition: all 0.4s ease-in-out 0s, visibility 0s;
	--transition: all 0.4s ease-in-out 0s, visibility 0s;	
}
img.expand {
	transition: all 0.4s ease-in-out 0s, visibility 0s;
	--transition: all 0.4s ease-in-out 0s, visibility 0s;	
}
img.custom-logo:hover, img.expand:hover {
	transform: scale(1.1);
}
div.entry-content > :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
	max-width: var(--content-width);
}
body.hide-h1 .header-wrapper {
	display: none;
}
.header-wrapper-inner {
	max-width: var(--content-width);
	margin: auto;
	display: flex;
}

.header-wrapper-inner h1,
.header-wrapper-inner h2 {
	padding: 15px 20px 15px 20px;
	background: white;
	border-radius: 20px 20px 0 0;
	font-size: 2rem;
	z-index: 5;
    width: 100%;
    margin-top: -20px;
}
.translation {
	color: white;
	white-space: nowrap;
	font-weight: bold;
	opacity: 0.5;
}
/* Start page specific */
body.template-startpage .logo-nav-outer {
	position: absolute;
	top: 0;
	background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100px);
}

/* Header navigation */

html body:not(.overlay-header) .primary-menu > li > a {
	color: white;
}
nav ul.primary-menu {
	justify-content: center;
	letter-spacing: 0.05em;
	width: auto;
	margin: 0;
}
nav ul.primary-menu a {
	font-size: 12px;
	text-transform: uppercase;
	font-weight: bold;	
	display: block;
	font-family: var(--bold-font);
}
.primary-menu > li.menu-item-has-children::after {
	content: '';
	display: none;
	position: absolute;
	left:0;
	right:0;
	top: 100%;
	height: 8px;
	background: black;
}
.primary-menu > li.menu-item-has-children:hover::after {
	display: block;
}
nav ul.primary-menu li > a, ul.primary-menu > li.menu-item-has-children > a {
	padding: 4px 20px;	
}
nav ul.primary-menu ul li a {
	padding: 4px 10px;
	font-size: 12px;
}
nav ul.primary-menu > li {
	border-radius: 10px;
	margin: 0;
}
nav ul.primary-menu > li:hover {
	background: black;
}
nav ul.primary-menu > li.menu-item-has-children:hover {
	border-radius: 10px 10px 0 0;
}

.primary-menu li {
	text-align: center;
	white-space: nowrap;
}
ul.primary-menu {
	align-items: flex-start;
}
ul.primary-menu ul {
	width: auto;
	top: 100%;
	min-width: 100%;
	left: 50%;
	right: auto!important;
	transform: translateX(-50%)!important;
	border-radius: 10px;
}

ul.primary-menu ul::before, ul.primary-menu ul::after {
	display: none;
}
ul.primary-menu .icon {
	display: none;
}
ul.primary-menu .current_page_ancestor {
	text-decoration: none;
}
nav ul.primary-menu .current_page_item > a {
	background: black;
	color: white;
	border-radius: 10px;
	text-decoration: none;
}
nav ul.primary-menu .current_page_item > a:hover {
	text-decoration: underline;
}
/* Navigation while scrolling */
body.show-navigation nav ul.primary-menu > li.menu-item-has-children:hover {
	border-bottom: none;
}
body.show-navigation .logo-nav-outer {
	background: black;
	position: fixed;
	min-height: 40px;
	z-index: 20;
}
body.show-navigation .logo-nav-wrapper {
	/* flex-wrap: nowrap; */
}
body.show-navigation ul.primary-menu ul {
	border-radius: 0 0 10px 10px;
}
body.show-navigation header .logo-wrapper {
	/* width: auto; */
}
/* Navigation mobile */
button.nav-toggle .toggle-inner {
	padding-top: 0;
}
button.nav-toggle .toggle-icon {
	height: auto;
	width: auto;
}
span.toggle-inner {
	height: auto;
}
header a.custom-logo-link {
	margin: 20px;
}
div.menu-modal-inner {
	background: black;
}
ul.modal-menu a {
	color: white;
}
ul.modal-menu li,
.menu-modal nav * {
	border-color: transparent;
}
.menu-modal.active {
	z-index: 10;
}
.menu-modal button.toggle,
.menu-modal button.toggle:focus,
.menu-modal button.toggle:hover,
.menu-modal button.toggle:active {
	border-style: outset;
	border-width: 0;
	outline: none !important;
	border: none;
}

button.sub-menu-toggle svg {
	filter: invert(1);
}
.fill-children-current-color, .fill-children-current-color * {
	fill: #000;
}
.menu-wrapper .active {
	color: white;
}
.social-icons a {
	background-color: transparent !important;
}
.social-icons a:hover,
.social-menu a:hover {
	text-decoration: none !important;
}
.footer-social a::before,
.social-menu a:before {
	font-size: var(--subheading-size);
}

.social-icons svg,
.footer-social svg {
	display: none;
}

/* Info box on start page */
div.info-box-outer {
	max-width: var(--content-width);
    margin: auto;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
}
div.info-box {
	background: white;
	padding: 30px;
	bottom: 80px;
}
div.info-box h2 {
	font-size: 3rem;
}
div.info-box .button {
	color: black;
	margin-right: 10px;
}
div.info-box .social-icons a {
	background: transparent;
}
div.info-box .social-icons svg {
	width: 100%;
	height: 100%;
}
div.info-box p:last-of-type {
	margin-bottom: 0;
}
/* Sections/groups */
section [class*="__inner-container"] > :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide){
	max-width: var(--content-width);
}
section.dark, .modal.dark {
	background: black;
	color: white;
}
section.bright {
	background: white;
	color: black;
}

/* Body classes */
body.dark main {
	background: black;
	color: white;
}

/* Event */
.buttons {
	justify-items: center;
}

.event-list .buttons a,
#site-header .buttons.buttons-outline a,
div.single-event .buttons a {
	width: 100%;
}
div.single-event .buttons {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
	margin-bottom: 30px;
}

/* Footer */
.footer-menu {
	letter-spacing: normal;
}

footer .wp-block-columns {
	width: 100%;
	gap: 20px;
}
footer .wp-block-columns .wp-block-column.content {
	flex-basis: 40%;
}
footer .wp-block-columns .wp-block-column.spacer {
	flex-basis: 20%;
}
body input[type=submit], body button[type=submit] {
	border-radius: 10px;
	background: black;
}
button[type=submit]:hover {
	text-decoration: underline;
}

/* Content in header */
header .in-header {
	margin: 0!important;
	padding: 0;
	min-height: 100%;
}
header .in-header [class*="__inner-container"] > :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
	max-width: none;
}
.in-header .slick-slide {
	height: 100vh;
	align-items: center;
	justify-content: center;
}

@media (min-width: 700px) {
	img.custom-logo {
		height: 34px;
	}
	.in-header .slick-slide {
		height: var(--full-height);
	}
}

.in-header .slick-initialized .slick-slide {
	display: flex;
}
.wp-block-getwid-content-slider-slide__wrapper {
/* 	width: 100vw;*/
}
.in-header .wp-block-getwid-content-slider-slide  > .wp-block-getwid-content-slider-slide__wrapper > * {
	width: 100vw;
	height: var(--full-height);
}
.in-header .slick-dots li button::before {
	background: white;
	border-radius: 50%;
	border: 2px solid white;
	content: '';
}
.in-header .slick-dots li.slick-active button::before {
	background: black;	
}
/* Headings */
h1, .heading-size-1 {
	font-style: italic;
}

.post-meta-wrapper {
	display: none;
}
.m-0 {
	margin: 0;
}
.mt-1 {
	margin-top:1rem !important;
}
/* Buttons */
.buttons a, a.button, a.wp-element-button {
	background: white;
	color: black;
	transition-duration: 0.4s;
	transition-property: color, background;
	border-radius: 25px;
	padding: 4px 20px;
	border: 2px solid black;
}
.buttons a:hover, a.button:hover, a.wp-element-button:hover {
	background: black;
	color: white;
}
/* Footer */
#site-footer .section-inner {
	position: relative;
}
#site-footer  h3 {
	margin-top: 0;
}

footer-text-center {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

footer p.support-by,
footer p.privacy-policy {
	position: absolute;
	display: block;
	margin-top: 10px;
	bottom: 0px;
	right: 0;
	margin-bottom: 0;
	font-size: 15px;
	color: white;
	text-align: center;
}
footer img.logo {
	width: auto;
	height: 25px;
	margin-top: 5px;
}
footer#site-footer {
	padding: 0;
	background: #f1f1f1;
}
footer#site-footer input[type="submit"] {
	background-color: black;
	padding: 0.6em 0.94em;
}
footer .wp-block-column.wide, footer .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column.wide {
	flex: 2;
}
.footer-widgets-group {
	background: black;
	color: white;
	padding-bottom: 35px;
}
.footer-widgets-group
footer .widget_nav_menu li, .footer-widgets-group a, footer .footer-widgets a:where(:not(.wp-block-button__link)) {
	color: inherit;
}

footer h2 {
	font-size: 40px;
	font-style: italic;
	margin-top: 0;
}

.footer-logos {
	display: flex;
	width: 100%;
	justify-content: center;
	gap: 20px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}
.footer-logos img {
	height: 30px;
}
/* Newsletter and forms */
.header-footer-group input[type=text], .header-footer-group input[type="email"] {
	border: none;
	border-bottom: 1px solid #1e1e1e;
	background: transparent;
	padding-left: 0;
	padding-bottom: 10px;
	font-size: 20px;
}
/* Footer navigation */
nav.footer-menu-wrapper {
	display: none;
}
@media (min-width: 700px) {
	.footer-logos {
		flex-wrap: nowrap;
	}
	nav.footer-menu-wrapper {
		width: 100%;
		justify-content: center;
		display: flex;
		margin: 50px 0;
	}
	footer p.privacy-policy {
		bottom: 20px;
	}
}
ul.footer-menu {
	align-content: center;
	font-size: 16px;
	gap: 50px;
}
ul.footer-menu li {
	margin: 0 0 6px 0;
}
ul.footer-menu a {
	color: inherit;
}
ul.footer-menu ul.sub-menu {
	font-weight: 400;
	font-size: 14px;
	margin-top: 6px;
}
.footer-menu ul.sub-menu li {

}
nav.footer-social-wrapper {
	margin: 30px 0 0;	
}
ul.footer-social {
	justify-content: center;
}
footer .social-icons a {
	background: transparent;
	height: 3rem;
	width: 3rem;
}
footer .social-icons a svg {
	width: 100%;
}


/* Stage pages */
.wp-block-cover.bubble > .wp-block-cover__inner-container {
	padding: 220px 0 130px 0
}
.wp-block-cover.bubble img {
	object-fit: contain;
}
figure.tilt img {
	border: 2px solid white;
	border-radius: 25px;
}
figure.tilt.left img {
	transform: rotate(-4deg);
}
figure.tilt.right img {
	transform: rotate(4deg);
}
/* Venues template */
section.venue-list {
	background: #f5f3ee;
}
.venues img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.venues a:hover img {
	opacity: 0.85;
}
.venues a {
	display: flex;
	position: relative;
	color: white;
	min-height: 220px;
	flex-direction: column;
	text-decoration: none;
	justify-content: end;
	padding: 20px;
	font-size: 18px;
}
.venues a span {
	position: relative;
	z-index: 5;
	display: block;
}
.venues a span.name {
	font-family: var(--heading-font);
	font-size: var(--subheading-size);
}
.venues a span.data {
	font-size: 16px;
	font-weight: 300;
}
.venues a:hover {
	text-decoration: none !important;
}
.fact-box {
	background: #f5f3ee;
	border-bottom: 1px solid #f5f3ee;
}
.fact-box h3 {
	background: #555555;
	padding: 20px;
	text-transform: uppercase;
	color: white;
}
.fact-box p {
	margin: 20px;
	font-size: 16px;
}
.has-booking-button {
	display: flex;
	align-items: center;
}
a.button.booking {
	background: white;
	color: black;
	border: 1px solid black;
}
a.button.booking:hover {
	background: black;
	color: white;
}
/* Arts template */
section.art-list {
	background: #fff75a;
}
.art a {
	display: block;
	color: black;
	text-decoration: none;
	outline: 6px solid transparent;
	padding: 6px;
	font-size: 1.1em;
	line-height: 1.5em;
}
#site-content h2.art-list-heading {
	background: #fff75a;
	max-width: 800px;
	border-radius: 20px 20px 0 0px;
	text-align: center;
	font-size: 30px;
	font-style: italic;
	padding: 10px;
}
.art a:hover {
	outline-color: black;
}
.art img {
	height: 230px;
	width: 100%;
	object-fit: cover;
}
.art.stair img {
	height: 420px;
}
.art span.name {
	font-weight: 600;
}
.art span.venue {
	font-style: italic;
	font-weight: 300;
}

/* FAQ */
.ewd-ufaq-faqs {
	position: relative;
}
.ewd-ufaq-faq-category-inner {
	/* See grid.css*/
}
.ewd-ufaq-faq-category {
	border-top: 2px solid white;
}
.ewd-ufaq-faq-div {
	background: #ffffff;
	border-bottom: 1px solid #555555;
}
div.ewd-ufaq-faq-body {
	padding: 6px 15px;
}
body div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin-symbol{
	float: right;
	margin-top: 6px;
}
.ewd-ufaq-faqs a {
	color: #555555;
}
.ewd-ufaq-faqs h3 {
	color: #555555;
	font-size: 40px;
}
.ewd-ufaq-faqs h4 {
	padding: 6px 10px;
	font-size: 18px;
}
/* Utility classes */
.mt-0 {
	margin-top: 0;
}
.flex, .d-flex {
	display: flex;
}
.justify-content-between {
	justify-content: space-between;
}
.flex-grow-1 {
	flex: 1;
}
p.align-center {
	text-align: center;
}
/* Columns */
#site-content .wp-block-columns.sleak {
	height: 600px;
	gap: 0;
	margin-top: 0;
	margin-bottom: 0;
}
#site-content .wp-block-columns.sleak.allow-grow {
	min-height: 600px;
	height: auto;
}
.wp-block-columns.sleak.text-left > .wp-block-column:first-child  {
	padding: 40px 0;
}
.wp-block-columns.sleak.text-left > .wp-block-column:first-child > * {
	margin-right: 40px;
}
.wp-block-columns.sleak.text-right > .wp-block-column:nth-child(2)  {
	padding: 40px 0;
}
.wp-block-columns.sleak.text-right > .wp-block-column:nth-child(2) > * {
	margin-left: 40px;
}
#site-content .wp-block-columns.sleak figure {
	height: 100%;
	margin: 0;
}
.wp-block-columns.sleak img, .wp-block-columns.sleak video {
	max-height: 100%;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
figure.crop-circle video, figure.crop-circle img {
	max-height: 800px;
	object-fit: cover;
	clip-path: circle(36% at 50% 50%);
}
figure.rotate {
	transform: rotate(-38deg);
	text-align: center;
	display: flex;
	justify-content: center;
}
section.white-black {
	background: url('../gfx/white-black.png') repeat-y center;
	background-size: 100% auto;
}
.filter-invert {
	filter: invert(1);
}
/* Scroll effects */
.scroll-reveal {
	transition-duration: 1.5s;
	clip-path: circle(0% at 50% 50%);
}
.scroll-reveal.active {
	clip-path: circle(100% at 50% 50%);
}
/* Admin button */
a.edit-page.button {
	position: absolute;
	bottom: 10px;
	right: 10px;
	border: 1px solid white;
	font-size: 12px;
	padding: 0 10px;
	font-weight: 400;
	opacity: 0.5;
}
a.edit-page.button:hover {
	opacity: 1;
}
@media (min-width: 1220px) {
	body h1, body .heading-size-1 {
		font-size: 4.5rem;
	} 
}
.entry-title.right-title {
	display: none;
}
@media (min-width: 1000px) {
	.header-wrapper {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
	}
	.header-wrapper-inner h1.entry-title,
	h2.entry-title.right-title  {
		display: block;
		width: 100%;
		float: left;
		font-size: var(--subheading-size);
		text-align: center;
	}

	h2.entry-title.right-title {
		float: right;
		background: #000;
	}
	h2.entry-title.right-title a {
		color:#fff;
	}

	.single-event .header-wrapper-inner h1 {
		width: 100%;
		font-size: var(--subheading-size);
		text-align: center;
	}
	.primary-menu-wrapper {
		/*flex: 1;*/
	}
	header .logo-wrapper {
		position: relative;		
	}
	.logo-nav-outer {
		background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 160px);
		min-height: 160px;	
	}
	header .logo-wrapper {
		justify-content: center;
		/*width: 100%;*/		
	}
	.logo-nav-wrapper {	
		height: 40px;
	}	
	#site-content h2.art-list-heading {
		margin: -137px auto 20px auto;
	}	
}
@media (min-width: 700px) {
	.venues a {
		min-height: 430px;
	}
	header#site-header {
		height: 550px;
	}
	.single-event	header#site-header {
		height: 765px;
	}
	.template-startpage header#site-header {
		height: var(--full-height);
	}
	.template-artist header#site-header {
		height: 300px;
	}
	.template-art header#site-header {
		height: 250px;
	}
	
	div.info-box {
		position: absolute;
		/*transform: translate(-50%,0);*/
		border-radius: 30px;
		/*left: 75%;*/
		z-index: 15;	
		min-width: 350px;
	}
	header .in-header {
		position: absolute;
		z-index: 0;
		left: 0;
		right: 0;
	}	
	body  .footer-widgets {
		width: 100%;
	}
	body.singular .entry-header {
		padding: 0;
	}	
	body h3, .heading-size-3 {
		font-size: 2rem;
	}
	body.show-navigation .logo-nav-outer {	
		min-height: 120px;
	}
	header a.custom-logo-link {
		margin: 35px 20px 5px 20px;
	}	
}
@media (max-width: 699px) {
	body header {
		display: flex;
		flex-direction: column;
	}
	body figure.featured-media {
		position: static;
		order: 8;
		z-index: 5;
	}
	body div.header-wrapper {
		order: 16;
	}
	body div.info-box {
		order: 24;
	}
	div.info-box-outer {
    display: contents;
}
}
