@charset "utf-8";

@font-face {
	font-family: "Groteskly";
	src: url("../fonts/Groteskly-Regular.otf");
	font-weight: 400;
	font-style: normal;
	font-stretch: normal;
}

@font-face {
	font-family: "Groteskly";
	src: url("../fonts/Groteskly-Medium.otf");
	font-weight: 500;
	font-style: normal;
	font-stretch: normal;
}

/******************************/
/* NOTE: Layout
/******************************/

input,
textarea,
button,
select,
a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html {
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: #000;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
	color: #fff;
	scroll-behavior: smooth;
	font-size: 1.1vw;
}
@media (min-width: 768px) {
	html {
		font-size: 0.63vw;
	}
}

@media (min-width: 1024px) {
	html {
		font-size: 0.5vw;
	}
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

body {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	background-color: #000;
	color: #fff;
	margin: 0;
	font-family: "Groteskly", Arial, Tahoma, sans-serif;
	font-weight: 400;
	padding: 0;
	line-height: 1.2em;
}

a {
	color: #fff;
	text-decoration: none;
	transition: opacity 300ms ease;
	opacity: 1;
}

img {
	display: inline-block;
	width: 100%;
	height: auto;
}

p {
	line-height: 1.45em;
	font-size: 3.2rem;
	margin-bottom: 1.2em;
}
p:last-child {
	margin-bottom: 0;
}

.axiom {
	padding: 0 5.5vw;
}
@media (min-width: 1024px) {
	.axiom {
		padding: 0 10vw;
	}
}

.main-title {
	padding-top: 6vw;
	text-align: center;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
}
@media (min-width: 768px) {
	.main-title {
		padding-top: 4vw;
	}
}

.dots {
	padding-top: 5vw;
	padding-bottom: 5vw;
}

@media screen and (min-width: 768px) {
	.dots {
		padding-top: 3vw;
		padding-bottom: 3vw;
	}
}

.dots img {
	margin: 0;
	padding: 0;
	display: inline-block;
}

@media screen and (min-width: 768px) {
	.dots img {
		width: 100%;
		height: auto;
	}
}

.headline {
	margin-bottom: 5vw;
}
@media screen and (min-width: 768px) {
	.headline {
		margin-bottom: 3.5vw;
	}
}

.cols {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-start;
}
@media (min-width: 768px) {
	.cols {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		align-items: flex-start;
	}
}
.col1 {
	padding: 2.8vw;
	width: 43%;
	border: 1px solid #fff;
	text-align: center;
}
@media (min-width: 768px) {
	.col1 {
		text-align: left;
		padding: 2.8vw;
		width: 43%;
		border: 1px solid #fff;
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		align-items: center;
	}
}

.col1 img {
	width: 100%;
	height: auto;
	margin-bottom: 3em;
}
@media (min-width: 768px) {
	.col1 img {
		margin-bottom: 0;
	}
	.col11 {
		margin-right: 10%;
	}
}
.col12 p {
	letter-spacing: 0.08em;
}
.col2 {
	width: 51%;
}
.col2 p {
	position: relative;
	left: 2%;
}

.menu {
	position: relative;
	margin-top: 8vw;
	margin-bottom: 2.5vw;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: stretch;
	border: 1px solid #fff;
}

@media (min-width: 768px) {
	.menu {
		margin-top: 5vw;
	}
}

/* .menu:before {
	content: "";
	position: absolute;
	bottom: -9.5vw;
	left: 0;
	width: 100%;
	height: 7.5vw;
	background-image: linear-gradient(0deg, #00000000 0%, #000000ff 100%);
	z-index: 10;
	pointer-events: none;
} */

.menu > a {
	width: 50%;
	text-align: center;
	padding: 4vw 0;
	font-size: 4rem;
	letter-spacing: 0.25em;
}

@media (min-width: 768px) {
	.menu {
		font-size: 5rem;
	}
	.menu a {
		padding: 2vw 0;
	}
}

.menu > a.active {
	color: #000;
	background-color: #fff;
	font-weight: 500;
}

.menu > a span.link-decor {
	letter-spacing: 0;
	display: none;
	position: relative;
	left: -0.15em;
	top: -0.07em;
}

.menu > a.active span.link-decor {
	display: inline;
}

.author {
	position: relative;
	padding-top: 1vw;
	padding-bottom: 5vw;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: flex-start;
}
.photo {
	flex: 0 0;
	order: 2;
}
.photo img {
	width: 18vw;
	margin-right: 4vw;
}
@media (min-width: 768px) {
	.photo img {
		width: 10.5vw;
		margin-right: 6vw;
	}
}
.name {
	flex: 1 1;
	order: 3;
}
.name p {
	line-height: 1em;
	letter-spacing: 0.05em;
	font-size: 5rem;
	margin-bottom: 0.6em;
}
.name p.small {
	font-size: 3rem;
	letter-spacing: 0;
}
@media (min-width: 768px) {
	.name p.small {
		font-size: 2.3rem;
		letter-spacing: 0;
	}
}
.time {
	margin-bottom: 3em;
	flex: 0 0 100%;
	order: 0;
}
@media (min-width: 768px) {
	.time {
		order: 4;
		flex: 0 0 auto;
	}
}
.time p {
	font-size: 2.7rem;
}

.images {
	display: flex;
	margin-top: 5vw;
	gap: 10px;
}
@media (min-width: 768px) {
	.images {
		gap: 25px;
	}
}

.images img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

#block_authors,
#block_comments {
	min-height: 50em;
	display: none;
	padding-bottom: 5vw;
}

#block_authors.active,
#block_comments.active {
	display: block;
}

#content {
	position: relative;
}

.content-item-comment .author {
	padding-bottom: 3vw;
}
.content-item-comment .name {
	margin-bottom: 4em;
}
@media (min-width: 768px) {
	.content-item-comment .name {
		margin-bottom: 0;
	}
}
.content-item-comment .name p {
	font-size: 3.5rem;
}
@media (min-width: 768px) {
	.content-item-comment .name p {
		font-size: 2.6rem;
	}
}
.content-item-comment p.message {
	font-size: 3rem;
	position: relative;
	top: -0.7em;
	line-height: 1.5em;
}
.content-item-comment p.message a {
	text-decoration: underline;
}
.content-item-comment p.message a:hover {
	text-decoration: none;
}

@media (min-width: 768px) {
	.content-item-comment p.message {
		font-size: 2.8rem;
		position: relative;
		top: -0.7em;
		line-height: 1.5em;
	}
}

.content-item-comment .time {
	position: relative;
	top: -0.7em;
}

.comment_photos {
	border: 1px dashed #222;
	padding: 2em;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	gap: 4%;
	margin-bottom: 5em;
}
.comment_photos a {
	flex: 0 0 48%;
	display: block;
	position: relative;
	margin-bottom: 3em;
}

.comment_photos a div {
	background-position: 50% 50%;
	background-size: cover;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
}

@media (min-width: 768px) {
	.comment_photos {
		gap: 2%;
	}
	.comment_photos a {
		flex: 0 0 32%;
	}
}
