/* General. */

/* @font-face declarations and the per-language font variables live in fonts.css. */

html {
	font-family:var(--font-standard), sans-serif;
	color:#ffffff;
}

body {
	padding:0;
	margin:0;
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../images/common/bg.png");
	background-repeat:no-repeat;
	background-size:cover;
	background-attachment:fixed;
}

.sub-p {
	font-family: var(--font-standard), sans-serif;
	font-size:1.2em;
	text-align: center;
	margin:0;
	margin-bottom:0.5em;
}

iframe { margin-bottom:0; max-width:min(646px, 90%); }

.divider {
	border:none;
	border-top:1px solid #ffffff;
	width:50%;
	margin:1.5em auto;
}

/* Screenshots gallery. */

.screenshots {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:12px;
	width:80%;
	max-width:1200px;
	margin:0 auto;
}

.screenshots a { display:block; }

.screenshots img {
	display:block;
	width:100%;
	aspect-ratio:16 / 9;
	object-fit:cover;
	border:1px solid #ffffff;
	cursor:pointer;
	transition:opacity 0.2s ease-in-out;
}

.screenshots a:hover img { opacity:0.7; }

@media only screen and (max-width: 900px) {
	.screenshots { grid-template-columns:repeat(2, 1fr); }
}

/* Lightbox image: fit within viewport with padding around it. */

.lity.lity-image img {
	max-width:90vw;
	max-height:90vh !important;
	width:auto;
	height:auto;
}

input, textarea, select, a { outline: none; }

/* Headings. */

h3 {
	text-align:center;
	color:#ffffff;
	font-family:var(--font-fancy), sans-serif;
	font-size:2.5em;
	font-weight:normal;
	margin:0.3em;
}

/*h3::before {
	display:inline-block;
	content:" ";
	width:42px;
	height:43px;
	vertical-align:middle;
	margin-right:25px;
	background-image:url("../images/common/heading_dot.png");
}

h3::after {
	display:inline-block;
	content:" ";
	width:42px;
	height:43px;
	vertical-align:middle;
	margin-left:25px;
	background-image:url("../images/common/heading_dot.png");
}*/

/* Purchase buttons. */

/*.btnBuy {
	display:block;
	margin:auto;
	margin-top:20px;
	width:400px;
	height:148px;
	background-repeat:no-repeat;
	background-image:url("../images/buttons/btn_buy.png");
}

.btnBuy:hover { background-position: 0 -148px; }*/

.consoles {
	display:flex;
	width:300;
	margin:auto;
	margin-top:10px;
}

.btnXbox {
	display:block;
	margin:auto;
	margin-bottom:20px;
	width:110px;
	height:110px;
	background-repeat:no-repeat;
	background-image:url("../images/buttons/btn_xbox.png");
}

.btnXbox:hover { background-position: 0 -110px; }

.btnSwitch {
	display:block;
	margin:auto;
	margin-bottom:20px;
	width:110px;
	height:110px;
	background-repeat:no-repeat;
	background-image:url("../images/buttons/btn_switch.png");
}

.btnSwitch:hover { background-position: 0 -110px; }

/* Vendor buttons. */

.icons { text-align:center; }

.icons a {
	display:inline-block;
	margin:auto;
	width:110px;
	height:110px;
	padding-left:10px;
	background-repeat:no-repeat;
}

.icons a:hover { background-position: 0 -110px; }

.iconSteam { background-image:url("../images/buttons/btn_steam.png"); }
.iconWin { background-image:url("../images/buttons/btn_win.png"); }
.iconMac { background-image:url("../images/buttons/btn_mac.png"); }
.iconLinux { background-image:url("../images/buttons/btn_linux.png"); }

/* Feature images. */

.feature_image {
	display:block;
	margin:auto;
	text-align:center;
	margin-top:24px;
	margin-bottom:24px;
}

.feature_image img {
  max-width:min(626px, 90%);
}

/* Feature. */

.feature {
	display:relative;
	font-size:1.2em;
	line-height:1.2em;
	padding:0;
	margin:20px auto 30px auto;
	width:50%;
	text-align:center;
	color:#ffffff;
}

.feature p {
	width:95%;
	text-align:center;
	margin:0 auto;
	text-wrap:balance;
}

.feature_heading p {
	text-align:center;
}

.voice_cast {
	display:relative;
	font-size:1.5em;
	line-height:1.2em;
	padding:0.2em 0;
  margin:0;
	margin:0 auto 0 auto;
	width:30%;
	text-align:center;
	color:#ffffff;
	border-style:solid;
	border-color:#ffffff;
	border-width:1px;
	box-shadow:
    0 0 0 2px #ffffff,
	0 0 0 3px #ffffff;
	background-image:url("../images/common/feature_bg.png");
	background-color:rgba(0, 0, 0, 0.5);
}

.voice_cast p {
  text-align:center;
	margin:0 auto;
}

/* Credits. */

.credits {
	display:relative;
	padding:0.75em 0;
	margin:0.25em auto 1em auto;
	width:25%;
	text-align:center;
	color:#ffffff;
	border-style:solid;
	border-color:#000000;
	border-width:1px;
	box-shadow:
    0 0 0 3px #ffffff,
	0 0 0 4px #ffffff;
	background-image:url("../images/common/feature_bg.png");
	background-color:rgba(0, 0, 0, 0.5);
}

.credits p {
	text-align:center;
	font-size:1.5em;
	line-height:1.2em;
	margin:0;
}

/* Promos. */

.promos {
	width:100%;
	text-align:center;
	margin-top:0.5em;
	padding-top:1em;
}

.promos a { text-decoration:none; }

.btnTop {
	display:block;
	margin:1em auto 2em auto;
	width:263px;
	height:60px;
	background-repeat:no-repeat;
	background-image:url("../images/buttons/btn_top.png");
}

.btnTop:hover { background-position: 0 -60px; }

/* Media queries. */

@media only screen and (max-width: 1500px) {
	.feature { width:70%; }
	.credits { width:30%; }
}

@media only screen and (max-width: 1300px) {
	.header { width:80%; }
	.credits { width:40%; }
	.characters { width:90%; }
	.voice_cast { width:40%; }
}

@media only screen and (max-width: 1030px) {
	.header { width:90%; }
	.trailer {
		width:200px;
		height:116px;
		background-image:url("../images/headers/video_link_small.jpg");
	}
	.voice_cast { width:60%; }
}

@media only screen and (max-width: 900px) {
	.characters { width:70%; }
	.infoPanel {
		display:block;
		width:90%;
	}
	.character {
		display:block;
		margin:0 auto;
		background-repeat:no-repeat;
		background-position:center;
	}
}

@media only screen and (max-width: 850px) {
	.credits { width:60%; }
	.demos a { margin-bottom:10px; }
	.feature { width:90%; }
}
