/**
 * =============================================================================
 * This is the file where all your styling should go in.
 * Instead of modifying the styles found in the monogatari.css file or others,
 * you should overwrite those styles in this file.
 *
 * The CSS selectors shown are not an extensive list but they are the most
 * common you might want to change. To find what other elements are available,
 * you can take a look at the monogatari.css file or use your browser's dev
 * tools to inspect the elements.
 * =============================================================================
**/

/**
 * ===========================
 * Character Image Transformations
 * ===========================
**/

/* General Style */
body {
	background: #000;
}

h1{
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	-webkit-text-fill-color: #00acc1; /* Will override color (regardless of order) */
	-webkit-text-stroke-width: 2px;
	-webkit-text-stroke-color: #fff;
}

/*
 * Flip the Image Horizontally.
 * The rotateY () allows us to rotate the image in the Y axis the specified degrees
 * The translateX () allows us to move the image and compensate in case the
 * rotation makes the image move a little bit.
 */
#game [data-character].flipped {
	transform: rotateY(-180deg) translateX(-1.3em);
}

/*
 * Scale the Image to make it bigger
 * The scale3d () allows us to scale the image in X, Y and Z by providing an
 * scale ratio for each axis.
 * Since we are scaling the image, we also want to make the bottom property
 * lower, if we don't, the image will be centered and will be cropped from screen
 */
#game [data-character].scaled {
	transform: scale3d(2.5, 2.5, 1);
	bottom: -50vh;
}

/*
 * What if we want to combine both flipped and scaled? Well, just mix their
 * properties!
 */
#game [data-character].flipped.scaled {
	transform: scale3d(2.5, 2.5, 1) rotateY(-180deg) translateX(-1.3em);
	bottom: -50vh;
}

/*
 * Scaling also affects a bit the left and right positions and thus images in
 * those positions get cropped, let's modify that as well.
 */
.scaled.right {
	right: 8em;
}

/*
 * These properties may have to change depending on the image's size, as you can
 * note, in the previous we had 8em and 3em on this one, just because images
 * have different sizes! So maybe a better approach to these ones would be using
 * Character-specific selectors such as [data-character='o'].scaled.left
 * That way, we can define different properties for each character if needed.
 */
.scaled.left {
	left: 3em;
}

/* Simple Button styles*/
button {
	border: 3px solid #fff;
	background: #00acc1;
	color: #fff;
	-webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
/* Patreon button */
.patreon-button {
	width: 17rem; 
	background-image: url('../img/patreon-medium-button.png');
	background-size: 100% 100%; 
	color: transparent
}
.patreon-button:hover { /* Had to override this because of default button behaviour, it dissepears */
	opacity: 0.9;
	width: 17rem; 
	background-image: url('../img/patreon-medium-button.png');
	background-size: 100% 100%; 
	color: transparent
}


@media screen and (min-width: 48em){
	button{
		height: 4rem;
	}
}

/* Simple Button Style on Hover */
button:hover {
	background: #00bcd4;
}

.sex-shake {
  animation: sex-shake 0.25s linear;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}

@keyframes sex-shake {
 0% { transform: translate(5px, 5px); }
 10% { transform: translate(-5px, 5px); }
 20% { transform: translate(-5px, -5px) ; }
 30% { transform: translate(3px, 2px) ; }
 40% { transform: translate(1px, -1px) ; }
 50% { transform: translate(5px, 5px) ; }
 60% { transform: translate(-3px, 1px); }
 70% { transform: translate(3px, 1px) ; }
 80% { transform: translate(4px, 3px); }
 90% { transform: translate(4px, 4px); }
 100% { transform: translate(5px, 5px) ; }
}

/* General styling for the Patreon message!! */

[data-ui="patreon"] [data-ui="message-content"] {
    text-align: justify;
}

[data-ui="patreon"] a {
    color: #00bcd4;
}

/* General styling for credits */

[data-menu] {
	color: #fff;
}

[data-menu="credits"] h3, [data-menu="credits"] p{
	text-align: center;
}
[data-menu="credits"] h3{
	margin: 2.5rem 0 0;
}
[data-menu="credits"] p{
	margin: 0.5rem 0;
}

input {
	color: #464646;
}


/**
 * ===========================
 * Gallery Styling
 * ===========================
**/
[data-menu='gallery'] [data-ui='gallery'] figure {
	min-height: 10em;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background-size: cover;
	background: #333;
	background-position: center;
	background-size: cover;
}

[data-menu='gallery'] [data-ui='gallery'] .fa {
	font-size: 3em;
	color: #fff;
}

[data-menu='gallery'] [data-ui='image-viewer'] figure {
	background-color: transparent;
	background-size: contain;
	background-repeat: no-repeat;
	height: 80%;
	width: 80%;
	margin: 0;
	overflow: hidden;
	background-position: center;
}

[data-menu='gallery'] [data-ui='image-viewer'] figure [data-action='close'] {
	position: absolute;
	right: 0;
	top: 0;
	width: 2em;
	height: 2em;
	margin: 0;
}

[data-menu="cheats"] {
	background: #fff;
	color: #424242;
}

[data-menu="cheats"] h2 {
	color: #424242;
}

[data-cheat] {
	background: #fff;
	cursor: pointer;
	align-items: center;
}

[data-cheat] span {
	font-size: 250%;
}

[data-cheat].active span {
	color: #00bcd4;
}

[data-cheat].active {
	box-shadow: 0 1.5px 4px rgba(0, 188, 212,.54),0 1.5px 6px rgba(0, 188, 212,.42);
}

/**
 * ===========================
 * Main Menu Styling
 * ===========================
**/

/* Main Menu Styling */
[data-menu="main"] {

}

/* Main Menu Buttons Styling */
[data-menu="main"] button {

}

/**
 * ===========================
 * Save and Load Menus Styling
 * ===========================
**/

/* Slots Style */
[data-ui="slots"] figure {
	background: #00acc1;
	border: 3px solid #fff;
}

/* Slot's Image Style */
[data-ui="slots"] img {

}

/* Slots Title Style */
[data-ui="slots"] figcaption {
	color: #fff;
}

/* Slots Delete Button Style */
[data-ui="slots"] button {

}

[data-menu="main"] [data-ui="inner-menu"]{
	background: rgba(0, 0, 0, 0.5);
}

input[type="range"]{
	background: #00acc1;
}
[data-ui="load-progress"]{
	background: rgba(255, 255, 255, 0.5);
}
[data-ui="load-progress"]::-moz-progress-bar, [data-ui="load-progress"]::-webkit-progress-value {
	background: #00acc1;
}

.patreon {
	background: #00acc1;
	border: 3px solid #fff;
}

.patreon::before {
	content: "Patreon | ";
	position: absolute;
	float: left;
	font-weight: bold;
	color: #005660;
	display: block;
}

/**
 * ===========================
 * Game Elements Styling
 * ===========================
**/

/* Choice Buttons style */
[data-ui="choices"] button {
	width: 80vw;
}

/* Choice Button Style on Hover */
[data-ui="choices"] button:hover {

}

/* Text Box styling */
[data-ui="text"] {

}

/* Character Name Style */
[data-ui="who"] {

}

/* Style for Centered Text */
[data-ui="centered"] {

}

/* Character Images Styles */
#game [data-character] {
	max-height: 100vh;
}

/* Other Images Styles */
#game [data-image] {
	height: 70%;
}
#game [data-component="modal"], [data-notice] > div {
	background: #1f1e1e;
	color: #d8d8d8e6;
}

[data-notice] >div {
	overflow: hidden;
}

[data-ui="message-content"]{
	text-align: center;
}

/**
 * ===========================
 * Quick Menu Styling
 * ===========================
**/

/* These styles are applied to the Mobile version of the Quick Menu */

/* Quick Menu Style */
[data-ui="quick-menu"] {

}

/* Quick Menu Buttons Style */
[data-ui="quick-menu"] span {

}

/* Quick Menu Buttons Style on Hover */
[data-ui="quick-menu"] span:hover {

}

/* Quick Menu Buttons Icon Style */
[data-ui="quick-menu"] > span > .fa {

}

/* Styles for the desktop version of the Quick Menu*/
@media screen and (min-width: 37.56255em) {

	/* Quick Menu Style */
	[data-ui="quick-menu"] {

	}

	/* Quick Menu Buttons Style */
	[data-ui="quick-menu"] span {

	}

	/* Quick Menu Buttons Style on Hover */
	[data-ui="quick-menu"] span:hover {

	}
}


/**
 * ===========================
 * Settings Menu Styling
 * ===========================
**/

[data-menu="settings"] input[type="checkbox"] {
	width: 1rem;
	height: 1rem;
	background: #fff;
	cursor: pointer;
	margin: 0;
	vertical-align: middle;
	-moz-appearance: checkbox;
}
