/************************************
 QuestBook by Christian Smith Mantas.

  D&D QuestBook
  Created: 08-01-2020
  Last Updated: 02-05-2020

  Personal and comercial use under CCA 3.0 License.
*/

/* General site styling */

html {
	font-family: Lato;
	font-weight: 600;
	font-size: 1.0em;
}

@media screen and (min-width: 320px) and (max-width:580px) {
	body {
		background: #f3ffff;
	}

	.meterHealth {
		height: .5rem;
		background: #555;
		border-radius: 0.25rem;
		width: 95vw;
		margin-bottom: 1rem;
	}
}

@media screen and (min-width: 580px) {
	body {
		background: url("images/Background/background_00.jpg");
		background-repeat:no-repeat;
		background-size:cover;
	}

	.meterHealth {
		height: .5rem;
		background: #555;
		border-radius: 0.25rem;
		width: 25rem;
		margin-bottom: 1rem;
	}
}


/* ID identifier Styling */

#contentWrapper {

}

#statTable {
	width: 100%;

}

	#statTable img {
		width: 125px;
		text-align: center;
}

#toolTable {
	width: 85vw;

	margin-top: -1rem;
	margin-left: auto;
	margin-right: auto;

	font-size: 1.5em;

	border-spacing: 2em;
}

	#toolTable img {
		height: 100%;
}


/** Character Window Styling **/

#characterWindow .item3 img {
    width: 0.9em;
}

/* GRID ELEMENTS */

.item0 {
    grid-area: avatar;
    text-align: left;
    margin-left: 1em;
}
.item1 {
    grid-area: name;
    font-size: 2em;
    align-self: center;
}
.item2 {
    grid-area: race;
    font-size: 1.25em;
}
.item3 {
    grid-area: health;
    align-self: center;
    text-align: center;
    font-size: 3em;
}
.item4 {
    grid-area: armour;
    align-self: center;
    text-align: center;
    font-size: 3em;
}
.item5 {
    grid-area: settings;
}

.extraItems {
	font-size: .4em;
	text-align: left;
	align-self: center;
	margin-bottom: .4em;
}

.extraItemsMini {
	font-size: .65em;
}

/* GRID TEMPLATE */

.characterGrid {
    display: grid;
    grid-template-columns: 11% 40% 40% auto;
    grid-template-rows: 10% auto 30%;
    grid-template-areas:
        "avatar . health armour ."
        "avatar name health armour."
        "avatar race health armour settings";
    margin-bottom: -0.25em;
}

/** Settings Window Styling **/

#settingsWindow {
    height: 100%;
}

#settingsTable {
    font-size: 1.75em;
    width: 100%;
    padding: 2em;
}

    #settingsTable .leftCell {
        width: 15%;
        text-align: right;

        padding-bottom: 2em;
    }

    #settingsTable .rightCell {
        width: 85%;
    }

#settingsAppearance {
    padding-left: 5em;
    display: block;
    width: 100%;
}

#settingsSound {
    padding-left: 5em;
    display: none;
    width: 100%;
}

#settingsStorage {
    padding-left: 5em;
    display: none;
    width: 100%;
}

#settingsUpdate {
    padding-left: 5em;
    display: none;
    width: 100%;
}


/** Quest Window Styling **/

#questWindow h1 {
    margin-top: -0.5em;
}

#questWindow h1 img {
    width: 4%;
    vertical-align: middle;
}

#questTable {
    overflow-y: scroll;
    height: 400px;
    display: block;

    margin-top: 2em;
}

    #questTable .leftCell {
        width: 15%;
    }

        #questTable .leftCell img {
            text-align: center;
            vertical-align: middle;

            width: 7em;
        }

    /* DOWN * SORT THIS OUT ASAP*/

    #questTable .rightCell {
        vertical-align: middle;
    }
    /* UP * SORT THIS OUT ASAP*/

#missionContainer {
	height: 600px;
	width: 80%;
	position: absolute;
	margin-top: -3em;
	display: none;

	z-index: 10;
}


#loginContainer {
	position: absolute;
	display: block;

	text-align: center;

	z-index: 10;
}

#spellTable {
	overflow-y: scroll;
    height: 400px;
    display: block;

    margin-top: 2em;
    width: 100%;
}

#spellTable h1, #spellTable h2, #spellTable h3, #spellTable h4, #spellTable h5, #spellTable h6 {
  line-height: 0.5;
}

/* Login elemnts class types */

	.loginInputTag {
		border-radius: 5rem;
		border: 0px;
		background-color: white;
		opacity: 50%;
		width: 25vw;
		height: 1vh;

		margin-bottom: 5vh;

		padding: 1.5rem;

		font-size: 1rem;

		-webkit-tap-highlight-color: rgba(0,0,0,0);
		-webkit-tap-highlight-color: transparent;
	}

	.loginInputTag:focus {
		border: none;

		-webkit-tap-highlight-color: rgba(0,0,0,0);
		-webkit-tap-highlight-color: transparent;

		outline-width: 0;
	}

	.loginButtonTag {
		border-radius: 5rem;
		border: 0px;

		background-color: white;
		color: grey;
		opacity: 50%;


		width: 7vw;
		height: 1vh;
		line-height: 0.75vh;

		margin-bottom: 5vh;
		padding: 1.5rem;

		font-size: 1rem;

		cursor: pointer;

		outline-width: 0;
	}

		.loginButtonTag:hover {
			opacity: 75%;
			transition: 0.5s;
			outline-width: 0;
		}


	#userLoginIcon {
		font-size: 10rem;
		margin-bottom: 2.5vh;
		color: white;
		opacity: 50%;
	}


/** Inventory Window Styling **/

#inventoryTable {
    overflow-y: scroll;
    height: 400px;
    display: block;

    margin-top: 2em;
    width: 100%;
}

#itemContainer {
	height: 600px;
	width: 80%;
	position: absolute;
	margin-top: -3em;
	display: none;

	z-index: 10;
}

.inventoryItemIcon {

}

#spellContainer {
	position: absolute;
	margin-top: -1em;
	display: none;

	z-index: 10;
}

.neoBox td:hover {
	border: 5px solid black;
	border-radius:0.5em;
	cursor: pointer;
}


/** Dice Roller Window Styling **/

#diceTable {
	text-align: center;
	margin-top: 2em;

    width: 100%;
}

#resetButton {
	margin-top: 0em;
	font-size: 3em;
	text-align: center;
}

#removeSum, #addSum {
	font-size: 3em;
}

#rolledContainer {
	height: 4vw;
}

#rolledContainer img {
	width: 3vw;
}


/* Icon and button identifiers */

#settingsButton {
    float: right;

    font-size: 2em;
    margin-bottom: 1rem;
}

.buttonIcon:hover {
    transform: translateX(-20%);
    transition: background-color 0.3s, color 0.3s;

    cursor: pointer;
    user-select: none;
}

.buttonIconClose:hover {
	transform: rotate(230deg);

	cursor: pointer;
    user-select: none;
}

.buttonText {
    cursor: pointer;
    user-select: none;
}

    .buttonText:hover {
        transform: scale(1.05);
    }

.buttonTool {
	cursor: pointer;
	user-select: none;

	border-radius: 1.5rem;
	padding-bottom: 1rem;
	vertical-align: middle;

	transition: 1s;
}

	.buttonTool.defaultTheme:hover {
		transform: scale(1.015);
		transition: 0.5s;
		background-image: linear-gradient(330deg, #dbe6e6, #ffffff);
		box-shadow:  5px 5px 10px #8f999f,
		             -5px -5px 10px #ffffff;
	}

	.buttonTool.defaultTheme:active {
		transition: 0.2s;
		background-image: linear-gradient(145deg,  #dbe6e6, #ffffff);
	}

	.buttonTool.nightTheme:hover {
		transform: scale(1.015);
		transition: 0.5s;
		background: linear-gradient(330deg, #1f1f1f, #242424);
		box-shadow:  5px 5px 10px #1d1d1d,
             		-5px -5px 10px #272727;
	}

	.buttonTool.nightTheme:active {
		transition: 0.2s;
		background: linear-gradient(145deg, #1f1f1f, #242424);
	}

	.buttonTool.moonTheme:hover {
		transform: scale(1.015);
		transition: 0.5s;
		background: linear-gradient(145deg, #121b1e, #0f1719);
		box-shadow:  5px 5px 10px #0e1518,
             		-5px -5px 10px #141d20;
	}

	.buttonTool.moonTheme:active {
		transition: 0.2s;
		background: linear-gradient(145deg, #0f1719, #121b1e);
	}

	.buttonTool.fireTheme:hover {
		transform: scale(1.015);
		transition: 0.5s;
		background: linear-gradient(145deg, #1b191a, #171516);
		box-shadow:  20px 20px 60px #151414,
		             -20px -20px 60px #1d1a1c;
	}

	.buttonTool.fireTheme:active {
		transition: 0.2s;
		background-image: linear-gradient(330deg, #1b191a, #171516);
	}

	.buttonTool.jsTheme:hover {
		transform: scale(1.015);
		transition: 0.5s;
		background: linear-gradient(145deg, #383741, #2f2e37);
		box-shadow:  20px 20px 60px #2c2b34,
		             -20px -20px 60px #3c3b46;
	}

	.buttonTool .jsTheme:active {
		transition: 0.2s;
		background-image: linear-gradient(330deg, #383741, #2f2e37);
	}

.buttonIcon {
	cursor: pointer;
	user-select: none;

	border-radius: 1.5rem;
	padding: 1rem;

	transition: 1s;
}

	.buttonIcon.defaultTheme:hover {
		transform: scale(1.015);
		transition: 0.5s;
		background-image: linear-gradient(330deg, #dbe6e6, #ffffff);
		box-shadow:  5px 5px 10px #8f999f,
					 -5px -5px 10px #ffffff;
	}

	.buttonIcon.defaultTheme:active {
		transition: 0.2s;
		background-image: linear-gradient(145deg,  #dbe6e6, #ffffff);
	}

	.buttonIcon.nightTheme:hover {
		transform: scale(1.015);
		transition: 0.5s;
		background: linear-gradient(330deg, #1f1f1f, #242424);
		box-shadow:  5px 5px 10px #1d1d1d,
					-5px -5px 10px #272727;
	}

	.buttonIcon.nightTheme:active {
		transition: 0.2s;
		background: linear-gradient(145deg, #1f1f1f, #242424);
	}

	.buttonIcon.moonTheme:hover {
		transform: scale(1.015);
		transition: 0.5s;
		background: linear-gradient(145deg, #121b1e, #0f1719);
		box-shadow:  5px 5px 10px #0e1518,
					-5px -5px 10px #141d20;
	}

	.buttonIcon.moonTheme:active {
		transition: 0.2s;
		background: linear-gradient(145deg, #0f1719, #121b1e);
	}

	.buttonIcon.fireTheme:hover {
		transform: scale(1.015);
		transition: 0.5s;
		background: linear-gradient(145deg, #1b191a, #171516);
		box-shadow:  20px 20px 60px #151414,
					 -20px -20px 60px #1d1a1c;
	}

	.buttonIcon.fireTheme:active {
		transition: 0.2s;
		background-image: linear-gradient(330deg, #1b191a, #171516);
	}

	.buttonIcon.jsTheme:hover {
		transform: scale(1.015);
		transition: 0.5s;
		background: linear-gradient(145deg, #383741, #2f2e37);
		box-shadow:  20px 20px 60px #2c2b34,
					 -20px -20px 60px #3c3b46;
	}

	.buttonIcon .jsTheme:active {
		transition: 0.2s;
		background-image: linear-gradient(330deg, #383741, #2f2e37);
	}

.buttonSpell {
	cursor: pointer;
	user-select: none;

	border-radius: 1.5rem;
	padding: 3rem;

	transition: 1s;
}

	.buttonSpell:hover {
		transition: 0.5s;
		background-image: linear-gradient(330deg,  #dbe6e6, #ffffff);
		box-shadow:  5px 5px 10px #8f999f,
		             -5px -5px 10px #ffffff;
	}

/* Meter class styling */

.meterHealth {
	/* Measurements are designated my media queries at the top of the page */
}

	.meterHealth > span {
		display: block;
		height: 100%;
		border-top-right-radius: 8px;
		border-bottom-right-radius: 8px;
		border-top-left-radius: 20px;
		border-bottom-left-radius: 20px;
		background-color: black;
  }

  .meterArmor {
  	height: .5rem;
  	background: #555;
  	border-radius: 0.25rem;
  	width: 20rem;
  }

  	.meterArmor > span {
  		display: block;
  		height: 100%;
  		border-top-right-radius: 8px;
  		border-bottom-right-radius: 8px;
  		border-top-left-radius: 20px;
  		border-bottom-left-radius: 20px;
  		background-color: black;
    }


/* Class identifier styling */

.topWindow {
	color: black;
	background-color: #e3f3fd;
	width: 85vw;
	height: 60vh;
	opacity: 100%;

	margin-top: 2.25%;
	margin-left: auto;
	margin-right: auto;

	padding: 3% 2% 3% 2%;
}

.bottomWindow {
	background-color: #e3f3fd;
	width: 85vw;
	opacity: 100%;

	margin-top: 1.5%;
	margin-left: auto;
	margin-right: auto;

	padding: 2% 2% 2% 2%;
}

.popupWindowLarge {
	color: black;
	background-color: #e3f3fd;
	width: 80vw;
	height: 60vh;
	opacity: 100%;

	top: 20vh;
	margin-left: 8vw;

	padding: 3vh 2vw 3vh 2vw;
}

.popupWindowSmall {
	color: black;
	width: 35vw;
	height: 30vh;
	opacity: 100%;

	top: 17.5vh;
	margin-left: 30vw;

	padding: 3% 2% 3% 2%;
}

.blur {
	filter: blur(5px);
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('https://placehold.it/350x150');
}

.tableDivider {
	margin-top: 2.5em;
	margin-bottom: 1.5em;
}

/* Styling for appearance slidebar */
.slidecontainer {
  width: 100%;
}

    .slider {
      -webkit-appearance: none;
      width: 100%;
      height: 15px;
      border-radius: 5px;
      background: #d3d3d3;
      outline: none;
      opacity: 0.7;
      -webkit-transition: .2s;
      transition: opacity .2s;
    }

    .slider:hover {
      opacity: 1;
    }

    .slider::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 25px;
      height: 25px;
      border-radius: 50%;
      background: #4CAF50;
      cursor: pointer;
    }

    .slider::-moz-range-thumb {
      width: 25px;
      height: 25px;
      border-radius: 50%;
      background: #4CAF50;
      cursor: pointer;
    }


/** Window TitleBar Styling **/

.titleBar h1 {
    margin-top: -0.15vh;
}

    .titleBar h1 img {
        width: 4%;
        vertical-align: middle;
    }

/* Icon colouring classes */

.default {
	filter: invert(0%) sepia(98%) saturate(0%) hue-rotate(28deg) brightness(98%) contrast(105%);
}

.night {
	filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(86deg) brightness(106%) contrast(100%);
}

.moon {
	filter: invert(74%) sepia(32%) saturate(6948%) hue-rotate(122deg) brightness(101%) contrast(111%);
}

.fire {
	filter: invert(73%) sepia(41%) saturate(7446%) hue-rotate(343deg) brightness(101%) contrast(98%);
}

.js {
	filter: invert(78%) sepia(60%) saturate(1848%) hue-rotate(342deg) brightness(87%) contrast(91%);
}


/* Scroll bars */

.scrollStyle::-webkit-scrollbar-track
{
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    background-color: #F5F5F5;
}

.scrollStyle::-webkit-scrollbar
{
    width: 6px;
    background-color: #F5F5F5;
}

.scrollStyle::-webkit-scrollbar-thumb
{
    background-color: #05e4af;
}


 /* TEST CSS 4 INVENTORY*/
/** RE-WRITE **/

.box {
  display: inline-block;
  float: left;
  width: 12em;
  position: relative;
  height: 12em;
  border: 1px solid #000;
  z-index: 0;
  transition: all .3s ease;
  opacity: 1;
  margin-right: -1px;
}

.box:before, .box:after {
  content: "";
  display: block;
  position: absolute;
  background: white;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation-iteration-count: 1;
  transform-origin: 50% 50%;
  opacity: 1;
}
.boxCustom:before, .boxCustom:after {
	background: #11191c;
}
.box:before {
  width: calc(100% + 2px);
  height: 100%;
  z-index: 1;
  transition: height 1s ease, opacity .8s ease;
}
.box:after {
  height: calc(100% + 2px);
  width: 100%;
  z-index: 1;
  transition: width 1s ease, opacity .8s ease;
}
.box:hover:before, .box:focus:before {
  transition: height .2s ease , opacity .3s ease;
  height: 85%;
  opacity: .75;
}
.box:hover:after, .box:focus:after {
  transition: width .2s ease,  opacity .3s ease;
  width: 85%;
  opacity: .75;
}
.box__image {
  width: 60%;
  will-change: width;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 2s ease;
  z-index: 2;
}


/* Mobile App Styling */

.mobileButtonIcon {
	float: right;
	display: inline-block;
	vertical-align: middle;
	font-size: 2rem;
	margin-top: 1.25rem;
	margin-right: 1.25rem;
}

#windowIdentifierBar {
	position: fixed;
	top: 0;
	left: 0;
	height: 10vh;
	width: 100vw;
}

	#windowIdentifierBar h1{
		font-size: 2rem;
		margin-top: 1rem;
	}

#appNavigationBar {
	position: fixed;
	bottom: 0;
	left: 0;
	height: 10vh;
	width: 100%;
}

	#appNavigationBar a {
		font-size: 2.25rem;
		color: black;
		margin-left: 3vw;
		margin-right: 3vw;

		-webkit-tap-highlight-color: rgba(0,0,0,0);
		-webkit-tap-highlight-color: transparent;
	}

#mobileWindowLinks {
	margin-top: 1rem;
	padding-left: 0;
}

	#mobileWindowLinks li {
		display: inline-block;
		list-style-type: none;

		height: 100%;

	}

.mobileNavBar {
	background-color: #f3ffff;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);

	opacity: 100%;

	text-align: center;
}

.mobileContent {
	margin-top: 15vh;
}

/* MOBILE: Stat Screen Grid */

.mobileAvatar {
    grid-area: mAvatar;
    text-align: left;
    margin-left: 1rem;
}
.mobileName {
    grid-area: mName;
    font-size: 1.5rem;
    align-self: center;
}
.mobileRaceClass {
    grid-area: mRaceClass;
    font-size: 1rem;
}
.mobileHealth {
    grid-area: mHealth;
    align-self: center;
    text-align: center;
    font-size: 3em;
}
.mobileArmor {
    grid-area: mArmor;
    align-self: center;
    text-align: center;
    font-size: 3em;
}
.mobileOthers {
    grid-area: mOthers;
}

.extraItems {
	font-size: .4em;
	text-align: left;
	align-self: center;
	margin-bottom: .4em;
}

.extraItemsMini {
	font-size: .65em;
}

/* GRID TEMPLATE */

.mobileStatGrid {
    display: grid;
    grid-template-columns: 33.33% 33.33% 33.33%;
    grid-template-rows: auto auto auto auto auto auto;
    grid-template-areas:
        "mAvatar mName mName"
        "mAvatar mRaceClass mRaceClass"
        "mHealth mHealth mHealth"
		"mArmor mArmor mArmor"
		"mOthers mOthers mOthers"
		"mOthers mOthers mOthers";
}
