/*
	Styles for www.demigiant.com
	Date: February 2014
	Version: 1.0
	Author: Daniele Giardini
*/

/*  INDEX ::::::
	Imports
	Defaults
	Titles
	Base Changers
	Header
	Footer
	Main + mainbox
	Sections + Base Elements
	About + Contact Form
	Specials
	Alternate layouts
*/

/* Imports */

@import url("reset.css");
@import url("nav.css?v=1.0.038");
@import url(https://fonts.googleapis.com/css?family=Archivo+Narrow:400,400italic,700);
@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300);


/* Defaults */

* {
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
}
html, body { height: 100%; }
body {
	min-width: 500px;font-family: 'Archivo Narrow', sans-serif;
	
	font-size: 18px;
	color: #383838;
	background-color: #b41650;
}
#container { min-height: 100%; }
p, dl, label { margin-top: 6px; line-height: 1.2; }
/*p:first-letter { color: #9daf11; }*/
/*a:first-letter { color: inherit; }*/
p:last-of-type { margin-bottom: 8px; }
a {
	font-family: 'Open Sans Condensed', sans-serif;
	font-size: 120%;
	color: #3db0de;
	text-decoration: none;
	transition: none;
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
}
a span {
	transition: none;
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
}
a:hover {
	color: #b41650;
	text-decoration: none;
	/*font-weight: bold;*/
	transition: none;
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
}
a.img-link:not(.logo):not(.bt-ico) { display: inline-block; position: relative; overflow: hidden; background-color: #b41650; }
a:hover:not(.bt-ico) img:not(.logo):not(.demiweb-logo):not(.ico-social):not(#headerLogoImg):not(.header-suppagumma-img):last-of-type {
	-moz-transform: scale(1.25, 1.25);
    -o-transform: scale(1.25, 1.25);
    -webkit-transform: scale(1.25, 1.25);
    transform: scale(1.25, 1.25);
}
strong {
	color: #9daf11;
	font-weight: normal;
}
em { font-style: italic; }
.clear { clear: both; }

form {
	margin-top: 20px;
}
input[type=text], input[type=password], textarea {
	margin-bottom: 10px;
	padding: 8px 8px;
	border: 2px solid #ccc;
}
input[type=submit] {
	display: inline-block;
	background-color: #3db0de;
	padding: 10px 14px;
	font-size: 100%;
	font-weight: normal;
	color: #fff;
	border: none;
	cursor:pointer;
	text-transform: uppercase;
}
input[type=submit]:hover {
	background-color: #b41650;
}

/* Titles */

h1, h2, h3, h4, h5, h6 { font-family: 'Open Sans Condensed', sans-serif; line-height: 1; clear: both; }
h3, h4, h5 { color: #9daf11; }
h4 strong { font-weight: 800; }
header h1 {
	width: 300px;
	position: absolute;
	left: 618px; bottom: 70px;
	font-size: 56px;
	line-height: 44px;
	color: #b41650;
	text-transform: uppercase;
}
header h1 span.no-wrap { white-space: nowrap; }
header h1 span.hdemigiant { display: none; }
header h1 span.hdaniele { color: #ffaa00; }
header h1 span.hfriends { color: #9daf11; }

header h2, h3 {
	clear: both;
	position: relative;
	top: 4px;
	width: 612px; height: 36px;
	margin: auto;
	text-align: center;
	background: url(../../_imgs/line.png) repeat-x;
}
header h2 img, h3 img {
	margin-top: -3px; padding-top: 3px;
	background: #fff;
}
header h2 img:last-child {
	-moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: "FlipH";
}
header h2 span, h3 .title {
	display: inline-block;
	height: 43px;
	margin-top: -3px; padding: 5px 8px 0;
	font-size: 38px;
	background-color: #fff;
	text-transform: uppercase;
	/*outline: 2px solid #fff; outline-offset: -1px;*/
	z-index: 99;
}
h3 {
	width: 100%;
	margin-bottom: 30px;
	background: none;
	background: url(../../_imgs/line_title.png) no-repeat center bottom;
}
h3 .title {
	position: relative;
	top: -2px;
	padding: 0 8px 19px;
	font-size: 38px;
	vertical-align: top;
}
h3 .subtitle, h4 .subtitle {
	position: absolute;
	left: 50%;
	font-size: 20px;
	white-space: nowrap;
}
h3 .subtitle span, h4 .subtitle {
	position: relative; left: -50%; top: 30px;
	z-index: 99;
}
h3 .subtitle .spacer, h4 .subtitle .spacer { display: none; }
h3 .subtitle span:not(.spacer):before, h4 .subtitle:not(.spacer):before { content: '['; }
h3 .subtitle span:not(.spacer):after, h4 .subtitle:not(.spacer):after { content: ']'; }
h3 img {
	padding-bottom: 3px;
	-moz-transform: scaleY(-1);
    -o-transform: scaleY(-1);
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
    filter: FlipV;
    -ms-filter: "FlipV";
}
h3 img:last-child {
	-moz-transform: scale(-1, -1);
    -o-transform: scale(-1, -1);
    -webkit-transform: scale(-1, -1);
    transform: scale(-1, -1);
    filter: FlipV FlipH;
    -ms-filter: "FlipV" "FlipH";
}
h4 {
	padding-top: 20px;
	font-size: 26px;
	text-align: center;
	color: #2a2a2a;
	text-transform: uppercase;
}
h5 { font-size: 22px; margin-top: 14px; }
h5:first-child { margin-top: 0; }
h4 img { padding-right: 10px; }
h4 img:last-of-type {
	-moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: "FlipH";
}
h4 .title {
	position: relative;
	top: 5px;
	vertical-align: text-top;
}
.h4-cont { display: inline-block; }
#aboutDaniele h4 {
	margin: 10px 0 8px; padding: 0;
	font-size: 28px;
	text-align: left;
	color: #9daf11;
	text-transform: none;
}
#aboutDaniele .subtitle {
	position: inherit;
	display: block;
}
.aboutbox h5 { margin-bottom: 4px; }

/*section ul { line-height: 1.2; list-style: outside; list-style-type: square; list-style-color: #666; }*/
/*section ul li { margin-left: 20px; }*/
section ul { line-height: 1.2; margin-top: 6px; }
section ul li { padding-left: 0.75em; text-indent: -1.05em; margin-top: 2px; }
section ul li:before {
	content: "4"; font-family:"Webdings";
	color: #9daf11;
}


/* Base Changers */

.centered { text-align: center; }
.right { text-align: right; }
.block-centered { display: block; margin: auto; }
.inline-block { display: inline-block; }
.no-pad { padding: 0 !important; }
section.comfy { width: 860px; }
section.small { width: 600px; }
.biggish { font-size: 20px; }
.giant { font-size: 24px; line-height: 27px; }
.moveup20px { margin-top: -20px; }

/* Header */
header { background-color: #fff; }
header #topWrap {
	height: 265px;
	background: url(../../_imgs/header_topcolor.png) repeat-x;
}
header #topMain {
	position: relative;
	max-width: 960px; height: 265px;
	margin: auto;
	background: url(../../_imgs/header_main.png) no-repeat center;
}
#headerLogo {
	position: absolute;
	display: block;
	left: 50%;
	margin-left: -66px;
	margin-top: 18px;
	z-index: 99;
}
#headerQuote {
	position: absolute;
	display: block;
	width: 140px;
	height: 42px;
	left: 50%;
	margin-left: -70px;
	margin-top: 4px;
	text-align: center;
	padding: 0;
}
#headerQuote span {
	font-family: 'Open Sans Condensed', sans-serif;
	font-size: 14px;
	line-height: 1;
	color: #3db0de;
	transition: none;
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
}
.header-toon {
	position: absolute;
	right: 605px; bottom: 54px;
}
.header-suppagumma { /* Unused in favor of header-toon */
	position: absolute;
	right: 620px; bottom: 65px;
	text-align: right;
}
.header-suppagumma span {
	display: block;
	padding-right: 34px; margin-bottom: 2px;
	color: #3db0de;
	line-height: 1.1;
	font-size: 23px;
	text-transform: uppercase;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
}
.header-suppagumma a:hover span {
	color: #b41650;
	font-weight: normal;
}

/* Footer */

footer {
	line-height: 0;
	background: #fff url(../../_imgs/footer_bg.png) repeat-x 0 30px;
	font-size: 15px;
	color: #a7a16b;
}
footer p { margin-top: 0; }
/*footer p:first-letter { color: inherit; }*/
#footerWrap {
	overflow: hidden;
	width: 960px;
	/*width: 590px;*/
	margin: auto;
	border-bottom: 30px solid #b41650;
}
#footerContent {
	position: relative;
	height: 140px;
	background: #2a2a2a url(../../_imgs/footer_logo.png) no-repeat 65% bottom;
}
#footerL, #footerR {
	padding: 15px 20px 0;
}
#footerL { float: left; padding-right: 0; }
#footerR { float: right; width: 100px; text-align: right; padding-left: 0; }
#footerR p { margin-bottom: 4px; }
#footerLogos {
	position: absolute;
	top: 68px; left: 20px;
}

/* Sections + Base Elements */

#pageCont { background-color: #fff; padding-bottom: 40px; }
#pageWrap { max-width: 960px; margin: auto; padding: 40px 0 0; }
section {
	margin: 0 auto 40px;
}

.txt-logo { font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; color: #9daf11; }
.txt-logo span { color: #3db0de; }
/*.txt-logo:first-letter { color: inherit; }*/

.bt {
	display: inline-block;
	padding: 28px 30px 30px;
	margin: 10px;
	/*outline: 3px solid #fff; outline-offset: -2px;*/
	font-family: 'Open Sans Condensed', sans-serif;
	font-size: 30px;
	font-weight: normal;
	background-color: #3db0de;
	color: #fff;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
}
.bt.bt-ico {
	padding: 0;
	background: none;
	font-size: 1;
}
.show-more {
	text-align: center;
	margin-top: 50px;
	border-top: 2px dashed #3db0de;
}
.show-more .bt {
	float: none;
	margin-top: -30px;
	padding: 28px 50px 30px;
}
.bt:hover:not(.bt-ico) {
	font-weight: normal;
	background-color: #b41650; color: #fff; text-decoration: none;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
}

.focuswrap {
	width: 740px;
	margin: 20px auto 0;
	text-align: center;
}
.focuswrap + .focuswrap { margin-top: 4px; }
.focus-cont {
	display: inline-block;
	position: relative;
	padding: 20px 10px 20px;
	border-right: 10px solid #2a2a2a;
	border-left: 10px solid #2a2a2a;
}
.focus-cont div p { margin: 0; }
/*.focus-cont div p:first-letter { color: inherit; }*/
.focus-cont div p + p { margin-top: 10px; }
.focus-cont h4 { padding-top: 0; color: #9daf11; text-transform: none; }
.focus-cont h5 { margin-top: 4px; margin-bottom: 8px; color: #383838; text-transform: none; font-size: 30px; }
.focus-tl, .focus-tr, .focus-br, .focus-bl { position: absolute; display: block; width: 10px; }
.focus-tl, .focus-tr {
	top: 0;
	border-top: 10px solid #2a2a2a;
}
.focus-bl, .focus-br {
	bottom: 0;
	border-bottom: 10px solid #2a2a2a;
}
.focus-tl, .focus-bl { left: 0; }
.focus-tr, .focus-br { right: 0; }

.img-grid { text-align: center; }
.img-grid .container { display: inline-block; }
.img-grid a, .img-grid .wallpaper { float: left; }
.img-tooltip {
	opacity: 0;
	position: absolute;
	width: 50px; height: 50px;
	left: 0; top: 0;
	margin-left: 0; margin-top: 0;
	border: none !important;
	outline: none !important;
	z-index: 99;
	pointer-events: none;
	transition: margin 0.2s ease-out;
	-webkit-transition: margin 0.2s ease-out;
	-moz-transition: margin 0.2s ease-out;
	-o-transition: margin 0.2s ease-out;
}
.img-tooltip.tl { margin-left: -50px; margin-top: -50px; }
.img-tooltip.tr { left: 100%; margin-top: -50px; }
.img-tooltip.bl { top: 100%; margin-left: -50px; }
.img-tooltip.br { left: 100%; top: 100%; }
a:hover .img-tooltip { opacity: 1; margin-left: 0; margin-top: 0; }
a:hover .img-tooltip.tl {}
a:hover .img-tooltip.tr { left: 100%; margin-left: -50px; }
a:hover .img-tooltip.bl { top: 100%; margin-top: -50px; }
a:hover .img-tooltip.br { left: 100%; top: 100%; margin-top: -50px; margin-left: -50px; }

.img-grid .wallpaper { position: relative; outline: 2px solid #fff; z-index: 3; }
.img-grid .wallpaper img { display: block; }
.img-grid .wallpaper a {
	float: none;
	position: relative;
	top: -26px;
	padding: 14px 10px 6px;
	background-color: #3db0de;
	color: #fff;
	z-index: 1;
}
.img-grid .wallpaper h5 {
	background-color: #2a2a2a;
	color: #9daf11;
	font-size: 150%;
	line-height: 0;
	padding: 26px 10px;
	font-weight: normal;
}
.img-grid .wallpaper h6 {
	position: relative;
	background-color: #2a2a2a;
	color: #fff;
	font-size: 110%;
	line-height: 0;
	padding: 22px 10px 24px; margin: 0 0 44px;
	font-weight: normal;
	z-index: 2;
}
.img-grid .wallpaper h6 em { color: #9daf11; font-size: 90%; font-style: normal; }
.img-grid .wallpaper a:hover { text-decoration: none; font-weight: normal; background-color: #b41650; }
.img-grid .wallpaper a:last-of-type { margin-right: 0; }

.video-grid { text-align: center; }
.video-grid .container { display: inline-block; }
.video-grid .video-cont { float: left; }
.video { width: 480px; height: 360px; background-color: #2a2a2a; }
.video.video-widescreen { height: 270px; }
.video.video-giant { width: 960px; height: 720px; }
.video.video-giant.video-widescreen { height: 540px; }
.video-descr {
	padding: 8px 10px 12px;
	font-family: 'Open Sans Condensed', sans-serif;
	font-size: 110%;
	line-height: 1.2;
	color: #fff;
	background-color: #2a2a2a;
}
.video-descr em { font-size: 90%; color: #bbb; }

.social-icons a { display: inline-block; margin: 0 5px 9px 0; }
.social-icons a:last-child { margin-right: 0; }
.social-icons.grid a:nth-child(even) { margin-right: 0; }
.social-icons a img { position: relative; top: 0; }
.social-icons a:hover img {
	top: -2px;
	box-shadow: 0px 0px 8px 0 rgba(180, 22, 80, 1);
	-webkit-box-shadow: 0px 0px 8px 0 rgba(180, 22, 80, 1);
	-moz-box-shadow: 0px 0px 8px 0 rgba(180, 22, 80, 1);
}

/*  About + Contact Form */

section#aboutDaniele {
	width: 480px;
	margin: 0 auto 40px;
}
#aboutDaniele .line-sml { margin-top: 10px; }

section#aboutFriends { width: 940px; overflow: hidden; }
.aboutbox {
	float: left;
	width: 460px;
	margin: 0 0 6px 20px;
}
.aboutbox:nth-child(even) { clear: both; margin-left: 0; }
.aboutbox h5 { font-size: 28px; }
.aboutbox a img {
	display: inline-block;
	margin-right: 4px;
	border-left: 10px solid #3db0de; border-right: 10px solid #3db0de;
}
.aboutbox a:hover img:last-of-type { border-color: #b41650; }

#contactWrap { width: 860px; margin-bottom: 100px; }
#contactName { float: left; }
#contactName input { margin-right: 10px; }
#contactName input, #contactMail input { width: 405px; }
/*#contactMessage textarea {
	width: 840px;
	margin-bottom: 0;
}*/
#contactMessage { float: left; position: relative; z-index: 1; }
#contactMessage textarea {
	width: 526px;
	margin-bottom: 0;
}
#contactSubmit {
	clear: both;
	display: block;
	padding-top: 10px;
}
#contactSubmit input {
	padding: 10px 30px 10px;
}
input.error, textarea.error {
	border-color: #f91100;
}
.contact-success {
	text-align: center;
	font-size: 24px;
	padding-bottom: 20px;
}
.contact-error {
	text-align: center;
	font-size: 24px;
	padding-bottom: 20px;
	color: #DE2520FF;
}

#recaptcha {
	position: relative;
	display: inline-block;
	margin: 21px 0 0 10px;
	z-index: 1;
}
.recaptcha-error { outline: 1px solid red; }

#demiWebsites { text-align: center; }
.demiweb { display: inline-block; width: 236px; text-align: center; margin-bottom: 20px; }

/* Specials */

#unityPlayer { margin: auto; }
#unityNeedsBiggerWindow { display: none; }
.unity-webgl-800x400 {
	display: block;
	width: 800px; height: 400px;
	padding: 0;
	margin: auto;
}
.steam-overlay, .gamejolt-overlay, .gog-overlay, .switch-overlay {
	position: absolute;
	right: 0;
	z-index: 99;
	pointer-events: none;
}
.gog-overlay, .switch-overlay { right: 6px; }
.steam-overlay { top: -9px; }
.gog-overlay { top: 54px; }
.switch-overlay { top: 114px; }

.stores-wrap { text-align: center; }
.stores-wrap img { margin-top: 10px; vertical-align: middle; }

.steam-widget {
	position: relative;
	width: 100%;
	margin: 20px auto 0;
	padding: 0 0 20px 0;
	text-align: center;
	/*border-bottom: #ddd solid 2px;*/
}

#userbox {
	position: absolute;
	right: 16px; top: 20px;
	margin-left: 100px;
	text-align: center;
	z-index: 99;
}
#userbox .username {
	display: block;
	margin-bottom: 0;
	color: #9daf11;
}

.soundcloud {
	width: 49.5%; height: 114px;
	margin-top: 4px;
}

.private-downloads { margin-bottom: 80px; }
.private-downloads .bt { display: block; margin: 10px auto; width: 400px; }

.censored {
	position: relative;
	top: -1px;
	background-color: #222;
	color: #abaf11;
	padding: 0 4px 1px 4px;
	font-size: 80%;
}

/* Alternate Layouts */

@media only screen and (max-width: 980px),
only screen and (min-device-pixel-ratio:1.5) and (orientation:portrait),
only screen and (-webkit-min-device-pixel-ratio:1.5) and (orientation:portrait)
{

	header #topMain { max-width: 480px; }
	header h1 { left: 378px; bottom: 64px; width: inherit; line-height: 28px; font-size: 29px; }
	.header-suppagumma { right: 380px; }
	.header-toon { right: 366px; }
	#footerWrap { width: 590px; }
	#footerTopBar { margin-left: -185px; }
	section, section.comfy, section.small { width: 480px; padding: 0 10px 0; }
	.img-grid.img-five { width: 384px; }
	.img-grid.img-two { width: 480px; }
	.img-single img { max-width: 480px; }
	.img-three img { max-width: 230px; }
	#contactWrap { width: 480px; }
	#contactName { float: none; }
	#contactName input, #contactMail input { width: 460px; margin-right: 0; }
	#contactMessage textarea { width: 460px; }
	section#aboutFriends { width: 460px; }
	.aboutbox { clear: both; margin-left: 0; }
	.video.video-giant { width: 480px; height: 360px; }
	.video.video-giant.video-widescreen { height: 270px; }
	.focuswrap { width: 480px; }
	#unityPlayer { display: none; }
	#unityNeedsBiggerWindow { display: inherit; }
	.unity-webgl-800x400 { width: 480px; height: 240px; }
	#recaptcha { margin-left: 0; margin-top: 14px; }
	.steam-widget iframe { width: 480px; }
}

@media only only screen and (min-device-pixel-ratio:1.5) and (orientation:landscape),
only screen and (-webkit-min-device-pixel-ratio:1.5) and (orientation:landscape)
{
	header #topWrap {
		height: 149px;
		background-image: url(../../_imgs/header_topcolor_sml.png);
	}
	header #topMain {
		max-width: 480px; height: 149px;
		background: url(../../_imgs/header_main_sml.png) no-repeat center;
	}
	header #topMain a { height: 145px; }
	header h1 { left: 338px; }
	header #topMain #headerLogo { height: 116px; overflow: hidden; margin-left: -32px; }
	#headerLogo img { height: 132px; margin-bottom: -16px; }
}

@media only screen and (max-width: 630px),
only screen and (min-device-pixel-ratio:1.5) and (orientation:portrait),
only screen and (-webkit-min-device-pixel-ratio:1.5) and (orientation:portrait)
{

	#pageWrap { padding-top: 90px; }
	header h2 { width: 480px; top: 53px; }
	/*header h2.h2-long span { font-size: 28px; }*/
	#footerWrap { width: 480px; }
	#footerTopBar { margin-left: -240px; }
	*, .bt, .bt:hover, nav a, nav a:hover {
		transition: none;
		-webkit-transition: none;
		-moz-transition: none;
		-o-transition: none;
	}
}