@charset "UTF-8";

:root {
	--color-aqua: 153,238,255;
	--color-black: 0,0,0;
	--color-grey-10: 26,26,26;
	--color-grey-20: 51,51,51;
	--color-grey-75: 191,191,191;
	--color-prune: 35,31,32;
	--color-white: 255,255,255;
	--color-yellow: 170,113,10;
}

@font-face {
    font-family: 'dinbekregular';
    src: url('../fonts/dinbek-regular-webfont.eot');
    src: url('../fonts/dinbek-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/dinbek-regular-webfont.woff') format('woff'),
         url('../fonts/dinbek-regular-webfont.ttf') format('truetype'),
         url('../fonts/dinbek-regular-webfont.svg#dinbekregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'dinbek_boldregular';
    src: url('../fonts/dinbek_bold-webfont.eot');
    src: url('../fonts/dinbek_bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/dinbek_bold-webfont.woff') format('woff'),
         url('../fonts/dinbek_bold-webfont.ttf') format('truetype'),
         url('../fonts/dinbek_bold-webfont.svg#dinbek_boldregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

html {
	height: 100%;
}

body {
	height: 100%;
}

body.noscroll {
	overflow: hidden;
}

img, iframe {
	display: block;
}

* {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figure, figcaption, hgroup, menu, footer, header, nav, button, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: none;
}

li {
	list-style: none;
}

a {
	color: inherit;
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}

button {
	background: none;
	border: none;
	cursor: pointer;
}

.container {
	/*position: absolute;*/
	position: relative;
	width: 100%;
	height: 100%
}


/*************************************
	Nav
 *************************************/


header {
	position: fixed;
	width: 100%;
	left: 0px;
	top: 0px;
	z-index: 1000;
}

nav {
	position: absolute;
	left: 220px;
	top: 0px;
}

nav > ul {
	display: flex;
	align-items: flex-start;
}

nav > ul > li {
	height: 50px;
	overflow: hidden;
	transition: height 0s 0.3s linear;
}

nav > ul > li.height-auto {
	height: auto;
	overflow: auto;
	transition: none;
}

nav > ul > li:hover {
	height: var(--height);
	overflow: auto;
	transition-delay: 0s;
}

nav a {
	position: relative;
	font-family: 'dinbekregular';
	color: rgb(var(--color-white));
	font-size: clamp(14px, (16/1024) * 100vw, 18px);
	transition: color 0.15s linear;
}

nav li li a:hover,
nav li li a.active {
	color: rgb(var(--color-grey-20));
}

nav > ul > li > a {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: clamp(100px, (150/1024) * 100vw, 200px);
	height: 75px;
	font-family: 'dinbek_boldregular';
	text-transform: uppercase;
	padding: 0 0 25px 15px;
}

nav > ul > li > a:before,
nav > ul > li > a:after {
	content: "";
	position: absolute;
	width: 100%;
	left: 0;
	z-index: -1;
}

nav > ul > li > a:before {
	height: 50px;
	top: 0;
	background: rgba(var(--color-black),var(--rgba));
	transition: background-color 0.3s linear;
}

nav > ul > li:hover > a:before,
nav > ul > li:has(a.active) > a:before {
	background: rgb(var(--color-yellow));
}

nav > ul > li > a:after {
	height: 25px;
	bottom: 0;
	background: url(../images/img_arr_down.svg) 20px top no-repeat;
	opacity: 0;
	transform: translateY(-100%);
}

nav > ul > li:has(ul):hover > a:after {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0s 0.3s linear, transform 0.3s 0.3s cubic-bezier(0.25,0.25,0.25,1);
}

nav > ul > li > ul {
	display: flex;
	flex-direction: column;
	row-gap: 7px;
	position: relative;
	width: clamp(100px, (150/1024) * 100vw, 200px);
	background: rgb(var(--color-yellow));
	clip-path: inset(0 0 100% 0);
	padding: 15px;
	transition: clip-path 0.3s cubic-bezier(0.25,0.25,0.25,1);
}

nav > ul > li:hover > ul {
	clip-path: inset(0);
	transition-delay: 0.6s;
}

.logo {
	position: absolute;
	width: min(200px, (200 / 1024) * 100vw);
	height: min(150px, (150 / 1024) * 100vw);;
	left: 0px;
	top: 75px;
	background: url(../images/logo_prisoners-of-age.svg) left top no-repeat;
	background-size: contain;
}

.barbed-wire {
	/*position: absolute;*/
	position: fixed;
	width: 215px;
	height: 620px;
	left: 0px;
	top: 0px;
	background: url(../images/img_barbed-wire.svg) left top no-repeat;
	background-size: contain;
	pointer-events: none;
}

header .barbed-wire {
	clip-path: inset(0 0 100% 0);
	transition: clip-path 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

.bt_buy_the_book {
	position: absolute;
	width: 94px;
	height: 94px;
	right: 0px;
	top: -8px;
	background: url(../images/bt_buy_the_book.svg) center center no-repeat;
	margin: 0 -100px 0 0;
}

.bt_after_life {
	position: absolute;
	width: 94px;
	height: 94px;
	right: 0px;
	top: -8px;
	background: url("../images/bt_after_life.svg") center center no-repeat;
	background-size: 100%;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.25));
	margin: 0 -100px 0 0;
}

.bt_donate {
	position: absolute;
	width: 94px;
	height: 94px;
	right: 0px;
	top: -8px;
	background: url(../images/bt_donate_to_win.svg) center center no-repeat;
	background-size: contain;
	margin: 0 -200px 0 0;
}

.indiegogo {
	position: absolute;
	width: 90px;
	height: 71px;
	right: 0px;
	top: 0px;
	background: url(../images/logo_indiegogo.png) center center no-repeat;
	margin: 0 -230px 0 0;
}

.bt-home-visit {
	display: none;
	position: absolute;
	left: 20px;
	top: 245px;
	z-index: 10;
}

.bt-home-visit.show {
	display: block;
}

.bt-home-visit img {
	width: 160px;
	height: 160px;
}

/*************************************
	Slider
 *************************************/


.slider {
	position: relative;
	width: 100%;
	height: 100%;
	background: rgb(var(--color-grey-10)) url(../images/img_loading.gif) center center no-repeat;
	overflow: hidden;
	margin: 0 auto 0 auto;
	box-shadow: 0px 1px 0px rgb(var(--color-aqua));
	z-index: 0;
}

.slider ul {
	width: 10000px;
	list-style: none;
}

.slider li {
	position: absolute;
	float: none;
	display: none;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/*.slider li:not(:first-child) {
	display: none;
}*/

/*.slider li.loaded {
	animation: kf-fade-in 0.6s linear 0s forwards;
}*/

.slider .ctrl_dir {
	position: absolute;
	width: 100%;
	height: 40px;
	left: 0px;
	top: 50%;
	margin: -56px 0 0 0;
	z-index: 1000;
}

.slider .ctrl_dir button {
	float: left;
	width: 40px;
	height: 40px;
	background: url(../images/img_arr_prev.svg) center center no-repeat;
	margin: 36px;
}

.slider .ctrl_dir button.bt_next {
	float: right;
	background-image: url(../images/img_arr_next.svg);
}


/*************************************
	Page
 *************************************/


.text_to_load {
	display: none;
}

.cont_text {
	position: fixed;
	width: clamp(min(414px, 80vw), (500 / 1024) * 100vw, 500px);
	right: max(0px, 100vw - (220px + (clamp(100px, (150/1024) * 100vw, 200px) * 4) + 120px));
	top: min(160px, (150 / 414) * 100vw);
	background: rgb(var(--color-white));
	padding: clamp(min(15px, (15 / 414) * 100vw), (30 / 1024) * 100vw, 30px);
}

.cont_text_contact {
	position: fixed;
	width: 440px;
	top: 100px;
	padding: 0;
}

.scroll-pane {
	width: clamp(min(374px, 80vw - ((15 / 414) * 100vw) - 10px), ((440 / 1024) * 100vw) - 10px, 430px);
	height: calc(100vh - (160px + 170px));
	padding-right: 10px;
}

.cont_text p,
.cont_text_contact p {
	font-family: 'dinbekregular';
	font-size: clamp(16px, (18 / 1024) * 100vw, 18px);
	line-height: 1.2em;
	color: rgb(var(--color-prune));
	margin: 0 0 1.2em 0;
}

.cont_text h1,
.cont_text_contact h1 {
	font-family: 'dinbek_boldregular';
	font-size: clamp(16px, (18 / 1024) * 100vw, 18px);
	line-height: 1.2em;
	text-transform: uppercase;
	color: rgb(var(--color-prune));
}

.cont_text strong,
.cont_text_contact strong {
	font-family: 'dinbek_boldregular';
}

.cont_text a:hover,
.cont_text_contact a:hover {
	color: rgb(var(--color-yellow));
}

.cont_text_contact p,
.cont_text_contact h1 {
	color: rgb(var(--color-white));
}

.page_nav {
	display: block;
	position: absolute;
	left: 280px;
	top: 110px;
	font-family: 'dinbekregular';
	margin: 0;
	z-index: 900;
}

.page_nav.single_col {
	left: min(300px, (230 / 1024) * 100vw);
	top: 160px;
}

.page_nav ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	grid-gap: min(20px, (20 / 1366) * 100vw);
	width: calc(600px + (min(80px, (80 / 1366) * 100vw)));
	background: rgba(0, 0, 0, .35);
	padding: min(20px, (20 / 1366) * 100vw);
}

.page_nav.single_col ul {
	grid-template-columns: repeat(auto-fit, minmax(min(200px, (200 / 1366) * 100vw), 1fr));
	width: auto;
}

.page_nav li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 200px;
	height: 120px;
	background: rgb(var(--color-white));
	font-family: 'dinbekregular';
	font-size: 11px;
	line-height: 12px;
	color: rgb(var(--color-prune));
	text-align: left;
}

.page_nav.single_col li a {
	width: min(200px, (200 / 1366) * 100vw);
	height: 100%;
}


.page_nav li a span {
	display: block;
	padding: 10px;
}

.page_nav li a img {
	width: 100%;
	height: auto;
}

.page_nav li a:hover {
	background: rgb(var(--color-yellow));
}

iframe {
	position: absolute;
	width: clamp(min(414px, 80vw), (640 / 1024) * 100vw, 640px);
	height: clamp(min(414px, (360 / 640) * 80vw), (360 / 1024) * 100vw, 640px);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}


/*************************************
	Lightbox
 *************************************/


#lightbox,
#lightbox .lightbox_bckg {
	position: fixed;
	display: none;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}

#lightbox {
	z-index: 3000;
}

#lightbox.show {
	display: block;
	animation: kf-fade-in 0.2s linear 0s forwards;
}

#lightbox .lightbox_bckg {
	display: block;
	background: rgba(var(--color-prune), 0.75);
}

/*#lightbox button {
	position: absolute;
	width: 16px;
	height: 16px;
	left: 50%;
	top: 50%;
	background: url(../images/bt_close.svg) center center no-repeat;
	margin: -280px 0 0 364px;
	z-index: 3200;
}*/

#lightbox button {
	position: absolute;
	width: 16px;
	height: 16px;
	right: 20px;
	top: 20px;
	background: url(../images/bt_close.svg) center center no-repeat;
}

/*#lightbox .wrap {
	position: relative;
	top: 50%;
	width: 800px;
	height: 600px;
	background: rgba(var(--color-prune), 0.85);
	overflow: auto;
	margin: -300px auto 0 auto;
	z-index: 3100;
}*/

#lightbox div.lightbox-container {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
    pointer-events: none;
}

#lightbox div.lightbox-content {
	display: block;
	position: relative;
	background: rgba(var(--color-prune), 0.85);
	padding: 20px;
	padding-top: 56px;
    pointer-events: auto;
}

#lightbox div.lightbox-content.text,
#lightbox div.lightbox-content.video {
	display: flex;
	justify-content: center;
	align-items: center;
	/*width: min(760px, (354 / 414) * 100vw);
	height: min(540px, (354 / 414) * 100vw);*/
	/*width: min(800px, (354 / 414) * 100vw);
	height: min(600px, (354 / 414) * 100vw);*/
	/*width: clamp(min(414px, 100vw), (800 / 1024) * 100vw, 800px);
	height: clamp(min(414px, 100vw), (600 / 1024) * 100vw, 600px);*/
	width: min(800px, 80vw);
	height: 80vh;
}

#lightbox div.lightbox-content.video {
	height: min(600px, 80vh);
}

#lightbox .cont_text {
	position: relative;
	/*width: min(664px, (354 / 414) * 100vw);
	height: 500px;*/
	width: auto;
	/*height: min(524px, ((600 / 1024) * 100vw) - 76px);*/
	height: calc(80vh - 76px);
	right: auto;
	top: auto;
	/*background: rgb(var(--color-white));
	overflow: auto;*/
	/*margin: 20px;
	margin-top: 40px;*/
	padding: clamp(20px, (30 / 1024) * 100vw, 30px);
	overflow-y: auto;
}

@keyframes kf-fade-in {
    0%   {opacity: 0;}
    100%  {opacity: 1;}
}

/*@media screen and (max-width: 1220px) {
	nav li,
	nav > ul > li > ul,
	.nav_active_main_block,
	.nav_active_main_arrow {
		width: 150px;
	}
	
	nav li {
		font-size: 16px;
	}
}

@media screen and (max-width: 1000px) {
	nav li,
	nav > ul > li > ul,
	.nav_active_main_block,
	.nav_active_main_arrow {
		width: 100px;
	}
	
	nav li {
		font-size: 12px;
	}
}

@media screen and (device-width: 768px) {
	nav li,
	nav > ul > li > ul,
	.nav_active_main_block,
	.nav_active_main_arrow {
		width: 135px;
	}
}*/

@media screen and (max-width: 980px) {
	.page_nav ul {
		width: calc(400px + (min(60px, (60 / 1366) * 100vw)));
	}
}

@media screen and (max-width: 767px) {
	header {
		display: flex;
		column-gap: 7vw;
		width: 100%;
		height: 100vh;
		pointer-events: none;
	}
	
	header:before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		background: rgb(var(--color-yellow));
		clip-path: inset(0 0 100% 0);
		transition: clip-path 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}
	
	body.nav-open header:before,
	body.nav-open nav {
		clip-path: inset(0);
	}
	
	nav {
		order: 2;
		/*flex-grow: 2;*/
		position: relative;
		left: auto;
		top: auto;
		clip-path: inset(0 0 100% 0);
		padding: calc((90 / 414) * 100vw) 0;
		padding-right: calc((30 / 414) * 100vw);
		overflow-y: auto;
		pointer-events: auto;
		transition: clip-path 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}
	
	nav > ul {
		flex-direction: column;
		row-gap: calc((30 / 414) * 100vw);
		margin: 0 auto;
	}
	
	nav > ul > li,
	nav > ul > li:hover {
		height: auto;
		overflow: auto;
		transition: none;
	}
	
	nav > ul > li > a,
	nav > ul > li > ul {
		width: auto;
	}
	
	nav > ul > li > a {
		display: block;
		height: auto;
		padding: 0;
	}
	
	nav > ul > li > a:before,
	nav > ul > li > a:after {
		content: none;
	}

	nav > ul > li > ul,
	nav > ul > li:hover > ul {
		clip-path: inset(0);
		transition: none;
	}
	
	nav > ul > li > ul {
		row-gap: 5px;
		background: transparent;
		margin: 10px 0 0 10px;
		padding: 0;
	}
	
	.bt_buy_the_book {
		width: min(94px, (94 / 414) * 100vw);
		height: min(94px, (94 / 414) * 100vw);
		top: max(-8px, (-8 / 414) * 100vw);
		background-size: contain;
		margin: 0;
	}
	
	header .logo {
		order: 1;
		position: relative;
		left: auto;
		top: calc((30 / 414) * 100vw);
		width: min(200px, (120 / 414) * 100vw);
		height: min(150px, (90 / 414) * 100vw);
		/*margin-top: calc((30 / 414) * 100vw);*/
		pointer-events: auto;
	}
	
	.barbed-wire {
		width: 100%;
		height: 100%;
		background-size: calc((215 / 414) * 100vw) calc((620 / 414) * 100vw);
	}
	
	/*header a.bt-home-visit {
		display: none !important;
	}*/
	
	.bt-home-visit {
		/*left: calc((-5 / 414) * 100vw);*/
		left: calc((10 / 414) * 100vw);
		top: calc((150 / 414) * 100vw);
		pointer-events: auto;
	}

	.bt-home-visit img {
		width: calc((110 / 414) * 100vw);
		height: calc((110 / 414) * 100vw);
	}
	
	/*--  nav ico  --*/

	header .ico {
		display: block;
		position: absolute;
		right: calc((30 / 414) * 100vw);
		/*top: calc(75px - 10.5px);*/
		top: calc((30 / 414) * 100vw);
		background: rgba(var(--color-black),0.5);
		cursor: pointer;
		padding: 9px 6px;
		pointer-events: auto;
		transition: background-color 0.2s linear;
		z-index: 20;
	}

	header .ico > div {
		display: block;
		position: relative;
		width: 18px;
		height: 12px;
	}

	header .ico span {
		display: block;
		position: absolute;
		width: 100%;
		height: 2px;
		background: rgb(var(--color-white));
		border-radius: 9999px;
		transition: width 0s 0.3s, background 0.3s 0.3s, opacity 0.3s 0.3s, top 0.3s 0.3s, transform 0.3s;
	}

	body.nav-open header .ico span {
		transition: width 0s 0.3s, background 0.3s, opacity 0.3s, top 0.3s, transform 0.3s 0.3s;
	}

	header .ico span:nth-child(1) {
		top: 0px;
	}

	header .ico span:nth-child(2) {
		top: calc(50% - 1px);
	}

	header .ico span:nth-child(3) {
		top: calc(100% - 2px);
		right: 0;
	}

	body.nav-open header .ico span:nth-child(1) {
		top: calc(50% - 1px);
		transform: rotate(45deg);
	}

	body.nav-open header .ico span:nth-child(2) {
		opacity: 0;
	}

	body.nav-open header .ico span:nth-child(3) {
		top: calc(50% - 1px);
		width: 100%;
		transform: rotate(-45deg);
	}
	
	body.nav-open header .barbed-wire {
		clip-path: inset(0);
	}
	
	.slider .ctrl_dir {
		display: none;
	}
	
	.container:has(div.page_nav) .slider {
		position: fixed;
		width: 100vw;
		height: 100vh;
		left: 0;
		top: 0;
	}
	
	.cont_text {
		background: rgba(var(--color-white),0.9);
	}
	
	.scroll-pane {
		height: calc(100vh - min(330px, (330 / 414) * 100vw));
	}
	
	body:has(div.container div.page_nav.single_col) .cont_text {
		width: 60vw;
	}
	
	body:has(div.container div.page_nav.single_col) .scroll-pane {
		width: calc(60vw - ((30 / 414) * 100vw));
		padding: 0;
	}
	
	/*body:has(div.container div.page_nav.single_col) .scroll-pane,
	body:has(div.container div.page_nav.single_col) .jspContainer {
		width: calc(60vw - ((30 / 414) * 100vw)) !important;
		padding: 0;
	}*/
	
	.page_nav {
		left: calc((150 / 414) * 100vw);
		top: 0;
		padding: calc((90 / 414) * 100vw) 0; 
	}
	
	.page_nav ul,
	.page_nav.single_col ul {
		grid-template-columns: repeat(auto-fit, minmax(calc((204 / 414) * 100vw), 1fr));
		grid-gap: calc((15 / 414) * 100vw);
		width: calc((234 / 414) * 100vw);
		padding: calc((15 / 414) * 100vw);
	}
	
	.page_nav.single_col {
		left: 0;
		top: min(150px, (150 / 414) * 100vw);
		padding: 0;		
	}
	
	.page_nav.single_col ul {
		width: 40vw;
		min-height: calc(100vh - min(300px, (300 / 414) * 100vw));
	}
	
	.page_nav li a,
	.page_nav.single_col li a {
		width: calc((204 / 414) * 100vw);
		height: auto;
		min-height: calc((128 / 414) * 100vw);
	}
	
	.page_nav.single_col li a {
		width: calc(40vw - ((30 / 414) * 100vw));
		min-height: calc((40vw - ((30 / 414) * 100vw)) * (120 / 200));
	}
	
	#lightbox div.lightbox-content.text,
	#lightbox div.lightbox-content.video {
		width: calc(100vw - ((60 / 414) * 100vw));
		height: calc(100vh - ((60 / 414) * 100vw));
	}

	#lightbox div.lightbox-content.video {
		height: calc((100vw - ((60 / 414) * 100vw)) * (600 / 800));
	}

	#lightbox .cont_text {
		height: calc((100vh - ((60 / 414) * 100vw)) - 76px);
	}
}

@media screen and (max-width: 767px) and  (max-aspect-ratio: 3/4) {
	body:has(div.cont_text[style="display: none;"]) .container {
		height: auto;
	}
	
	.slider li.loaded {
		display: block;
		animation: kf-fade-in 0.6s linear 0s forwards;
	}
	
	body:has(div.cont_text[style="display: none;"]) .slider ul {
		width: 100vw;
	}
	
	body:has(div.cont_text[style="display: none;"]) .slider li {
		display: block !important;
		position: relative;
		width: 100vw;
		height: calc((1200 / 1920) * 100vw);
	}
	
	body:has(div.cont_text[style="display: none;"]) .slider li:only-child {
		height: 100vh;
	}
}
