/*
	Theme Name: OHM
	Theme URI: https://ohmberlin.com
	Version: 1.0.0
	Author: Modem Studio (@modem.studio)
	Author URI: https://modem.studio
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
:root {
  --background: #f6f6f6;
  --text: #212121;
  --black: #000000;
  --silver: #cccccc;
  --darksilver: #999999;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font-weight: 400;
	font-size: 18px;
	line-height: 20px;
	font-family: 'OHM Favorit Medium', monospace;
	background-color: var(--background);
	color: var(--text);
	
}
body.nightmode{
	background-color: var(--black);
	color: var(--background);
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	max-height: 90vh;
	width: auto;
	height: auto;
	vertical-align: middle;
}
video:focus { 
	outline:none; 
}
a {
	text-decoration: underline;
	color: var(--text);
}
a:hover {
	text-decoration: none;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
.nightmode a{
	color: var(--background);
}
input:focus {
	outline:0;
	border:1px solid var(--text);
}
.clear{
	clear: both;
}
h1, h2, h3{
	font-weight: 400;
	margin-top: 0;
	font-size: 1em;
	font-family: 'OHM Favorit Bold', monospace;
}

h2 a, 
a h2{
	text-decoration: none;
}
h2{
	margin: 0;
	font-size: 34px;
	line-height: 40px;
}
h2.section-title{
	margin-bottom: 60px;
	padding-bottom: 20px;
	text-transform: uppercase;
}
.big-type{
	font-size: 30px;
	line-height: 30px;
}
figcaption,
.small-type{
	font-size: 0.8em;
}
.connect{
	font-family: 'OHM Connect', monospace;
	text-transform: uppercase;
	letter-spacing: 2px;
}
.columns{
	gap: 20px;
}
.column-1{
	flex: 1;
}
.column-2{
	flex: 2;
}
.column-3{
	flex: 3;
}
.column-4{
	flex: 4;
}
.greyscale img{
	filter: grayscale(1);
	transition:  all 0.3s linear;
}
.greyscale img:hover{
	filter: grayscale(1) blur(2px) invert(1);
}
a.button{
	text-decoration: none;
	background-color: var(--text);
	color: var(--background);
	border-radius: 50px;
	padding: 5px 10px;
	display: inline-block;
	text-transform: uppercase;
	cursor: pointer;
	margin: 20px 0;
}
a.button:hover{
	animation: wiggle 0.3s linear infinite;
}
.nightmode a.button{
	text-decoration: none;
	background-color: var(--background);
	color: var(--text);
	border-radius: 50px;
	padding: 5px 10px;
	display: inline-block;
	text-transform: uppercase;
	cursor: pointer;
	margin: 20px 0;
}
.silver{
	color: var(--darksilver);
}
.padding-lr{
	padding: 20px;
}
.highlight{
	background-color: var(--text);
	color: var(--background);
}
.nightmode .highlight{
	background-color: var(--background);
	color: var(--text);
}
/*------------------------------------*\
    COOKIE CONSET
\*------------------------------------*/
.tpp__cook_msg{
	display:block;
	color:var(--text);
	position:fixed;
	bottom:20px;
	left: 20px;
	padding: 10px;
	z-index:9999999;
	background-color: rgb(232, 232, 126);
	max-width: calc(100% - 40px);
}
.tpp__cook_msg #acceptCookie{
	background-color: var(--text);
	border-radius: 50px;
	padding:5px 10px;
	font-size:14px;
	border: none;
	color: var(--silver);
}
.tpp__cook_msg #acceptCookie:hover{
	opacity: 0.5;
}
.tpp__cook_msg a{
	color: var(--text);
}
/*------------------------------------*\
	ANIMATIONS
\*------------------------------------*/
/* WIGGLE */
@-webkit-keyframes wiggle {
	0% { -webkit-keyframes-transform: rotate(10deg); }
   50% { -webkit-keyframes-transform: rotate(-10deg); }
  100% { -webkit-keyframes-transform: rotate(10deg); }
}
@-moz-keyframes wiggle {
	0% { -moz-keyframes-transform: rotate(10deg); }
   50% { -moz-keyframes-transform: rotate(-10deg); }
  100% { -moz-keyframes-transform: rotate(10deg); }
}
@keyframes wiggle {
	0% { transform: rotate(10deg); }
   50% { transform: rotate(-10deg); }
   100% { transform: rotate(10deg); }
}

/* SPIN */
@keyframes spin {
	from{ transform: rotateY(0deg);}
	to{ transform: rotateY(360deg);}
}
@-moz-keyframes spin {
	from{ -moz-transform: rotateY(0deg);}
	to{ -moz-transform: rotateY(360deg);} 
}
@-webkit-keyframes spin {
	from{-webkit-transform: rotateY(0deg);}
	to{ -webkit-transform: rotateY(360deg);}
}

/*------------------------------------*\
	FONTS
\*------------------------------------*/
@font-face {
  font-family: 'OHM Connect';
  src:  url('fonts/OHM Connect/OHMConnectMono-Nail.woff2') format('woff2'),
		url('fonts/OHM Connect/OHMConnectMono-Nail.woff') format('woff');
}
@font-face {
  font-family: 'OHM Favorit Bold';
  src:  url('fonts/OHM Favorit Mono/OHMFavoritMono-Bold.woff2') format('woff2'),
		url('fonts/OHM Favorit Mono/OHMFavoritMono-Bold.woff') format('woff');
}
@font-face {
  font-family: 'OHM Favorit Medium';
  src:  url('fonts/OHM Favorit Mono/OHMFavoritMono-Medium.woff2') format('woff2'),
		url('fonts/OHM Favorit Mono/OHMFavoritMono-Medium.woff') format('woff');
}
/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper: padding-top for menu height */
.wrapper {
	width:100%;
	margin:0;
	position:relative;
	overflow: hidden;
}
.header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
}
.background-grid{
	display: none;
	position: fixed;
	top: 20px;
	right: 20px;
	left: 20px;
	bottom: 0;
	background-image: url("assets/img/grid-20.png");
	z-index: -1;
	border-right: 1px solid var(--silver);
}
.nightmode .background-grid{
	position: fixed;
	top: 20px;
	right: 20px;
	left: 20px;
	bottom: 0;
	background-image: url("assets/img/grid-dark.png");
	z-index: -1;
	border-right: 1px solid #3a3a3c;
}
/* NAVIGATION */
a.home-link{
	flex: 1;
	padding: 20px;
	text-decoration: none;
	font-size: 3em;
	font-weight: 700;
}

.icon{
	width: 20px;
	height: 20px;
	transform: rotateY(45deg);
	animation: spin 3s linear infinite;
}
.grid-button.icon{
	animation-delay: 250ms;
}
.icon svg{
	fill: var(--darksilver);
}
.icon:hover{
	animation: none;
}
.icon:hover svg{
	fill: var(--text);
}
.nightmode .icon:hover svg{
	fill: var(--silver);
}
.nightmode-button{
	position: fixed;
	bottom: 80px;
	right: 5px;
	cursor: pointer;
	z-index: 99;
	color: var(--darksilver);
}
.grid-button{
	position: fixed;
	bottom: 40px;
	right: 5px;
	cursor: pointer;
	z-index: 99;
	color: var(--darksilver);
}
.outline-button{
	display: none;
	position: fixed;
	bottom: 120px;
	right: 5px;
	cursor: pointer;
	z-index: 99;
	color: var(--darksilver);
}
.grid-button:hover,
.nightmode-button:hover{
	color: var(--silver);
}
.page-content{
	margin-top: 100vh;
}
.page-content-archive{
	margin-top: 40px;
}
.address{
	position: fixed;
	bottom: 20px;
	rotate: -90deg;
	left: 2px;
	transform-origin: top left;
	text-transform: uppercase;
	width: 90vh;
}
.top-text{
	position: fixed;
	top: 2px;
	left: 40px;
}
.big-logo svg{
	max-width: 80%;
	fill: var(--text);
}
.nightmode .big-logo svg{
	fill: var(--background);
}

#expand{
	min-width: 120px;
	max-width: 100%;
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	margin: auto;
	justify-content: center;
	align-items: center;
	height: 100vh;
	display: flex;
	text-align: center;
	z-index: -1;

}
#expand .hide{
	display: none;
}
/* EVENT LIST */
.events{
	margin-bottom: 200px;
	margin: auto;
}
.event-list{
	margin: 0;
	padding: 0;
	margin-left: -40px;
}
.event-list li{
	list-style: none;
	width: 100%;
	vertical-align: top;
	margin-bottom: 120px;
	padding-left: 40px;
	transition: all 0.3s;
	text-align: left;
	position: relative;
}
/* .event-list li:nth-child(even){
	text-align: right;
} */
.event-list li:hover .event-item-details{
	text-align: right;
}
.nightmode .checkbox{
	border: 1px solid var(--background);
}
.nightmode .checkbox-selected{
	background-color: var(--background);
}
.checkbox{
	height: 20px;
	width: 20px;
	border-radius: 50%;
	border: 1px solid var(--text);
	position: absolute;
	margin-top: 5px;
}
.checkbox-selected{
	background-color: var(--text);
}
:has(+ .event-item-details:hover){
	background-color: var(--text);
}
.nightmode :has(+ .event-item-details:hover){
	background-color: var(--background);
}
.event-item-details{
	padding-left: 40px;
	position: relative;
	z-index: 9;
	cursor: pointer;
}
.event-date{
	display: inline-block;
}
.event-time{
	font-family: 'OHM Favorit Bold', monospace;
	display: inline-block;
	vertical-align: top;
}
.event-title{
	text-transform: uppercase;
}
.event-lineup{
	font-size: 30px;
	line-height: 30px;
}

.event-item-hidden{
	display: none;
	
}
.event-poster-mobile{
	margin-top: 20px;
}
.event-poster{
	z-index: -1;
	width: 100%;
	display: none;
}
.event-poster img{
	max-width: 400px;
}
.event-content{
	margin-bottom: 20px;
}
.lineup-desktop{
	display: none;
}
.close{
	text-transform: uppercase;
	cursor: pointer;
	text-align: right;
}
/* RESIDENT LIST */
.residents{
	margin-bottom: 200px;
}
.residents-list{
	margin: 0;
	margin-top: 20px;
	margin-left: -20px;
	padding: 0;
}
.residents-item{
	width: 100%;
	display: inline-block;
	padding-left: 20px;
	list-style: none;
	vertical-align: top;
	text-align: left;
	transition: all 0.3s;
}
.resident-name{
	cursor: pointer;
}
.residents-item h2{
	font-size: 60px;
	line-height: 80px;
}
.residents-item:hover{
	text-align: right;
}
.residents-item a{
	text-decoration: none;
}
.resident-item-hidden{
	display: none;
}
.residents-item img{
	margin-bottom: 10px;
	border-radius: 10px;
	max-width: 500px;
}

/* ABOUT */
.sculpture{
	position: absolute;
	right: 40px;
	bottom: 40px;
	z-index: -3;
	padding: 20px;
	opacity: 0.5;
	transform: rotateY(45deg);
	animation: spin 3s linear infinite;
}
.about-text{
	margin-bottom: 100px;
}
.about-contact{
	text-align: right;
	margin-bottom: 100px;
}
.about-legal{
	margin-bottom: 100px;
}
.privacy-link{
	cursor: pointer;
	margin-left: 0;
	transition: all 0.3s ease-in-out;
}
.privacy-link:hover{
	margin-left: 20px;
}
.privacy-policy{
	display: none;
}
/* FOOTER */
.footer{
	margin-top: 50px;
}
.white-line{
	width: 100%;
	background-color: var(--background);
	border-top: 1px solid var(--silver);
	padding: 15px 0;
}
.nightmode .white-line{
	background-color: var(--black);
	border-top: 1px solid #3a3a3c;
}
.white-line.no-border-top{
	border-top: none;
}
/* POST ARCHIVES */

.pagination a{
	text-decoration: none;
}

/* POST */


/* PAGES */
.single-page{
	max-width: 800px;
	margin: auto;
}
.embed-container iframe,
.embed-container object,
.embed-container embed { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ABOUT */


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (min-width:320px) {

}
@media only screen and (min-width:480px) {
	.columns{
		display: flex;
	}
}
@media only screen and (min-width:768px) {

}
@media only screen and (min-width:1024px) {
	.cropmark-top-left{
		width: 20px;
		height: 20px;
		position: fixed;
		top: 0;
		left: 0;
		border-right: 1px solid var(--silver);
		border-bottom: 1px solid var(--silver);
	}
	.cropmark-top-right{
		width: 20px;
		height: 20px;
		position: fixed;
		top: 0;
		right: 0;
		border-left: 1px solid var(--silver);
		border-bottom: 1px solid var(--silver);
	}
	.cropmark-bottom-right{
		width: 20px;
		height: 20px;
		position: fixed;
		bottom: 0;
		right: 0;
		border-left: 1px solid var(--silver);
		border-top: 1px solid var(--silver);
	}
	.cropmark-bottom-left{
		width: 20px;
		height: 20px;
		position: fixed;
		bottom: 0;
		left: 0;
		border-right: 1px solid var(--silver);
		border-top: 1px solid var(--silver);
	}
	.nightmode .background-grid,
	.background-grid{
		top: 40px;
		left: 40px;
		right: 40px;
	}
	.tpp__cook_msg{
		left: 40px;
		max-width: calc(100% - 80px);
	}
	.padding-lr{
		padding: 0 40px;
	}
	.lineup-desktop{
		display: block;
		margin-bottom: 20px;
	}
	.big-type{
		font-size: 34px;
		line-height: 40px;
	}
	.nightmode-button,
	.grid-button,
	.outline-button{
		right: 10px;
	}
	.address{
		left: 10px;
	}
	.top-text{
		top: 10px;
	}
	.event-poster{
		position: fixed;
		text-align: center;
		margin: auto;
		justify-content: center;
		align-items: center;
		height: 100vh;
		top: 0;
		left: 0;
		display: block;
		visibility: hidden;
	}
	.event-poster-mobile{
		display: none;
	}
	.event-item:hover .event-poster{
		visibility: visible;
		display: flex;
	}

	
}
@media only screen and (min-width:1140px) {


}
@media only screen and (min-width:1280px) {
}
@media only screen and (min-width:1480px) {

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background: var(--silver);
	color:var(--text);
	text-shadow:none;
}
::-webkit-selection {
	background: var(--silver);
	color:var(--text);
	text-shadow:none;
}
::-moz-selection {
	background: var(--silver);
	color:var(--text);
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
