:root {
  --primary-color: #3e3e3f;
  --secondary-color: #c7c8ca;
  --text-color: white;
  --border-color: #6c6d70;
  --input-height: 40px;
  --input-width: 45px;
  --input-font-size: 2.2rem;
  --input-padding-top: 10px;
  --input-padding-bottom: 0;
  --input-border-radius: 5px;
  --input-font-weight: 600;
  --container-padding: 20px;
}

/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Raleway", sans-serif;

}

#main_container{
  display: flex;
  
}

/* Layout Containers */
#character-sheet-container {
  flex: 1;
  background-color: black;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: var(--container-padding);
}

#character-sheet {
  background-color: antiquewhite;
  max-width: 1200px;
}

/* Header Styles */
header {
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  background-color: lightskyblue;
  color: var(--primary-color); 
  height: 100px;
  position: sticky;
  color: var(--primary-color);
  text-align: center;
  font-size: 2rem;
  font-weight: 900;
}


/* Sheet Header */
#sheet-header {
  background-color: var(--secondary-color);
  display: flex;
}

#sheet-header__sheet-type {
  background-color: var(--primary-color);
  display: flex;
  justify-content: center;
  align-content: center;
  padding: 15px;
}

#sheet-type__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: start;
}

#sheet-type__title {
  font-weight: 900;
  font-size: 2.3rem;
  color: var(--text-color);
}

#sheet-type__desc {
  color: var(--text-color);
}

/* Character Background Details */
#sheet-header__right{
  display: flex;
  align-items: center;
}

#sheet-header__character-background-details {
  display: flex;
  flex-wrap: wrap;
  margin: 15px 0;
  margin-left: 15px;
  row-gap: 5px;
  width: 100%;
  min-width: 0;
}

.character-background-details__container-horizontal-splitter {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  column-gap: 10px;
  row-gap: 5px;
  min-width: 0;
}

.character-background-details__container input {
  height: 100%;
  border: 1px solid var(--border-color);
  border-radius: 7px;
  font-size: 1.25rem;
  font-weight: 600;
  padding: 10px 5px;
  width: 100%;
  min-width: 0;
}

.character-background-details__container label {
  position: absolute;
  transform: translate(5px, 2px);
  color: var(--border-color);
  font-weight: 900;
  font-size: 0.8rem;
}

#character-background-details__name { flex: 7; }
#character-background-details__pronouns { flex: 3; }
#character-background-details__heritage { flex: 5; }
#character-background-details__class-subclass { flex: 5; }

/* Level */
#sheet-header__level{
  padding: 10px;
}

#sheet-header__level img {
  display: block;
}

#level__input {
  transform: translate(53%, -171%);
}

/* Secondary Sheet Header */
#secondary-sheet-header {
  display: flex;
  justify-content: center;
  padding: 15px;
  padding-right: 20px;
  padding-left: 20px;
}

/* Evasion and Armor */
#secondary-sheet-header__evasion-armor {
  display: flex;
  align-items: center;
  border-right: 2px solid var(--border-color);
}


#evasion-armour-box__evasion {
  transform: translate(-413%, 70%);
}

#evasion-armour-box__armor {
  transform: translate(-153%, 70%);
}

/* Armor Slots */
#armor-slot-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 columns */
  grid-template-rows: repeat(4, auto);   /* 4 rows */
  margin: 0 20px;
  gap: 2px;
}

.armor-slot-box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.armor-slot-box img {
  cursor: pointer;
}

/* Input Styles */
.image-input {
  position: absolute;
  background-color: transparent;
  width: var(--input-width);
  height: var(--input-height);
  padding: var(--input-padding-top) var(--input-padding-bottom);
  font-size: var(--input-font-size);
  font-weight: var(--input-font-weight);
  text-align: center;
  border: none;
  border-radius: var(--input-border-radius);
}

input {
  font-family: "Coming Soon";
}

/*Traits -------------------------------------------------------------*/
#secondary-sheet-header__traits{
  display: flex;
  margin-left: 15px;
  gap: 5px;
}

.trait-container{

  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.trait-container p{
  position: relative;
  transform: translate(-5%, 0);
  font-size: .85rem;
  font-weight: 400;
  color: #3e3e3f;
}

.trait__image-input{
  position: absolute;
  background-color: transparent;
  width: 45px;
  height: 40px;
  padding-bottom: 0px;
  padding-top: 10px;
  font-size: 2.2rem;
  font-weight: 600;
  text-align: center;
  border: none;
  border-radius: 5px;
}
.trait__image-input{
  transform: translate(64%, -67%);
}
.trait-selection-btn{
  position: absolute;
  transform: translate(348%, -226%);
  cursor: pointer;
}

.trait__separation{
  position: absolute;
  width: 1px;
  height: 75px;
  border-right: 1.75px solid #6c6d70;
  transform: translate(112px, 20px);
}

/*Character Sheet Body -------------------------------------------------------------*/
#character-sheet-body{
  display: flex;
  width: 100%;
  margin-top: 20px; /* do not adjust??? */
  gap: 15px;
  padding-bottom: 15px;
}

.character-sheet-body__section{
  display: flex;
  min-width: 0;
  flex: 1;
  gap: 3px;
  flex-direction: column;
}

.character-sheet-body__section .character-sheet-body__container{
  min-width: 530px;
  max-width: 100%;
  background-color: white;
  border: 2px solid #6c6d70;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 15px;
  padding: 10px;
}

#character-sheet-body__left .character-sheet-body__container{
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-left: none;
}
#character-sheet-body__right .character-sheet-body__container{
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border-right: none;
}

.character-sheet-body__container-title{
  position: absolute;
  display: flex;
  text-align: center;
  transform: translate(0px, -30px);
}
.character-sheet-body__container-title-top{
  position: absolute;
  display: flex;
  text-align: center;
  transform: translate(0px, -28.5px);
}

.character-sheet-body__container-desc{
  margin-top: 10px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #3e3e3f;
}

/*Damage and Health -------------------------------------------------------------*/

.damage-thresholds__p{
  position: absolute;
  font-size: .75rem;
  font-weight: 600;
  color: #3e3e3f;
}
#damage-thresholds__p1{
  transform: translate(40px, -6px);
}
#damage-thresholds__p2{
  transform: translate(220px, -6px);
}
#damage-thresholds__p3{
  transform: translate(400px, -6px);
}

.damage-thresholds__input{
  position: absolute;
  background-color: transparent;
  width: 50px;
  height: 35px;
  padding-bottom: 1px;
  padding-top: 10px;
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  justify-items: center;
  border: none;
  border-radius: 5px;
}
#damage-thresholds__input1{
  transform: translate(-365px, 9px);
}
#damage-thresholds__input2{
  transform: translate(-185px, 9px);
}

#hp__container{
  display: flex;
  width: 500px;
  align-items: center;
  justify-content: space-between;
}
#hp__container p{
  font-weight: 900;
  color: #6c6d70;
  font-size: 1.4rem;
}
#hp__container img{
  height: 18px;
  cursor: pointer;
}

#hp__container img{
  height: 18px;
  cursor: pointer;
}

#stress__container{
  display: flex;
  width: 500px;
  align-items: center;
  justify-content: space-between;
}
#stress__container p{
  font-weight: 900;
  color: #6c6d70;
  font-size: 1.4rem;
  margin-right: 5px;
}
#stress__container img{
  height: 18px;
  cursor: pointer;
}

#damage-health__container{
  padding-bottom: 20px;
}

/*Hope -------------------------------------------------------------*/

#hope__container{
  padding-bottom: 20px;
}


#hope-holder__container{
  display: flex;

}

.hope-slot{
  position: absolute;
  cursor: pointer;
}
#hope-slot6{
  transform: translate(390px, 0);
}
#hope-slot5{
  transform: translate(317px, 0);
}
#hope-slot4{
  transform: translate(243px, 0);
}
#hope-slot3{
  transform: translate(170px, 0);
}
#hope-slot2{
  transform: translate(97px, 0);
}
#hope-slot1{
  transform: translate(24px, 0);
}

#hope-feature__container{
  width: 500px;
  display: flex;
  flex-direction: column;
  text-align: left;
}

.character-sheet__text-line{
  width: 100%;
  background-color: transparent;
  font-size: 1.5rem;
  border: none;
  border-bottom: 2px solid #a8a9ad;
  font-weight: 600;
  height: 40px;
  padding-left: 5px;
  /*Words =#231f20 */
  /* #a8a9ad  */
}

.character-sheet__text-line-label{
  margin-left: 10px;
  color: #3e3e3f;
  font-weight: 800;
  font-size: 0.85rem;
}

/*Experience -------------------------------------------------------------*/
/* 1320 x 114 #c7c8ca */
#experience__container{
 padding-bottom: 20px;
}

#experience__text1{
  margin-top: 10px;
}

.experience-text__box{
  display: flex;
}

.experience-text__desc{
  flex: 8;
  text-align: right;
  padding-right: 5px;
  border-bottom: 2px solid #a8a9ad;
  border-right: 2px dotted #a8a9ad;
}
.experience-text__bonus{
  flex: 2;
  border-bottom: 2px solid #a8a9ad;
}

/*Class Features -------------------------------------------------------------*/
#class-features__container{
  padding-bottom: 20px;
}

#class-features__desc1{
  margin-top: 10px;
}

.class-features__desc{
  max-width: 500px;
}


/*Active Weapons -------------------------------------------------------------*/
/* 133x139 */

#active-weapons__container{
padding-bottom: 20px;
}

#primary-weapon__container{
  margin-top: 40px; /* Cause of the weird shaped title */
}

.weapon_hand{
  position: absolute;
  cursor: pointer;
}
#active-weapon_hand1{
  transform: translate(389px, -5.95px);
}
#active-weapon_hand2{
  transform: translate(427px, -6.25px);
}

.proficiency_btn{
  position: absolute;
  cursor: pointer;
}
#proficiency_btn1{
  transform: translate(309.5px, 37px);
}
#proficiency_btn2{
  transform: translate(286px, 37px);
}

#proficiency_btn3{
  transform: translate(263px, 37px);
}
#proficiency_btn4{
  transform: translate(240px, 37px);
}
#proficiency_btn5{
  transform: translate(217px, 37px);
}



.weapon__container{
  display: flex;
  flex-direction: column;
}

.weapon__title-box{
  display: flex;
}

.weapon-title__main{
  color: #3e3e3f;
  font-weight: 900;
  font-size: 1.2rem;

}

.weapon__desc-box{
  display: flex;
}

.weapon__name{
  flex: 4; /*40% */
  display: flex;
  flex-direction: column;
  text-align: left;
}

.weapon__trait-range{
  flex: 3; /*30% */
  display: flex;
  flex-direction: column;
  text-align: left;
}
.weapon__trait-range-input{
  border-left: 2px dotted #a8a9ad;
}
.weapon__trait-range-label{
  margin-left: 5px;
}

.weapon__damage-type{
  flex: 3; /*30% */
  display: flex;
  flex-direction: column;
  text-align: left;
}
.weapon__damage-type-input{
  border-left: 2px dotted #a8a9ad;
}
.weapon__damage-type-label{
  margin-left: 5px;
}
.weapon__feature-box{
  display: flex;
  flex-direction: column;
  text-align: start;
}

/*Active Armor -------------------------------------------------------------*/

#armor__name{
  flex: 2; /*50% */
}

#armor__base-thresholds{
  flex: 1; /*25% */
}


#armor__base-score{
  flex: 1; /*25% */
}




/*Gold/Inventory -------------------------------------------------------------*/
#inventory-gold__container{

}

#gold__container{
  display: flex;
  flex-direction: column;
  text-align: start;
}

#gold__box{
  display: flex;
  gap: 5px;
}

#handful__box{
  flex: 4;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-right: 2px dotted #a8a9ad;
}

#bags__box{
  flex: 4;
  display: flex;
  flex-direction: column;
  justify-items: flex-end;
  border-right: 2px dotted #a8a9ad;
}

#chest__box{
  flex: 2;
  display: flex;
  flex-direction: column;
}

.gold-inv__label{
  margin-left: 0px;
}


/*MEDIA Changes -------------------------------------------------------------*/

@media (max-width: 1200px) {
  #character-sheet-body {
    flex-direction: column;
    gap: 2px;
    padding-right: 15px;
    padding-left: 15px;
  }

  #character-sheet-body__left .character-sheet-body__container,
  #character-sheet-body__right .character-sheet-body__container{
    border-radius: 10px;
    border: 2px solid #6c6d70;
  }

  #secondary-sheet-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px;
  gap: 15px;
  padding-right: 20px;
  padding-left: 20px;
  }

  #secondary-sheet-header__evasion-armor {
  border-right: none;
  }
  #sheet-header {
  background-color: var(--secondary-color);
  display: flex;
  flex-direction: column;
  }
}

@media (max-width: 800px) {
  .character-background-details__container-horizontal-splitter {
  display: flex;
  min-width: 0;
  flex-direction: column;
  column-gap: 10px;
  row-gap: 5px;
  width: 100%;
  }

  #secondary-sheet-header__traits{
    margin-left: 0px;
  }
  #secondary-sheet-header__traits{
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columns */
    grid-template-rows: repeat(2, auto);
  }
  #finese-trait__separation{
    border: none;
  }

}






/*Chat Box Testing -------------------------------------------------------------*/



.chat-container {
  background: greenyellow;
  display: flex;
  flex-direction: column;
  width: 300px;
}

.chat-window {
  padding: 10px;
  background: pink;
  overflow-y: auto;
  border-bottom: 1px solid #444;
  flex:1;
}

.chat-msg {
  margin-bottom: 8px;
  padding: 6px 10px;
  background: #3a3a3a;
  border-radius: 6px;
  color: white;
}


.dice_button {
  background: #4caf50;
  padding: 5px;
  border: none;
  color: white;
  cursor: pointer;
}

.dice_button:hover {
  background: #45a049;
}

#dice__tray{
  background-color: aqua;
  display: flex;
  flex-direction: column;
}

.dice-tray{
  background-color: blueviolet;
  display: flex;
  justify-content: space-evenly;
  padding: 5px;
  padding-bottom: 15px;
}


#modifyier___{
  max-width: 20px;
}


#dice-roller__container{
  position: sticky; 
  background-color: red;
  width: 300px;
  top: 0px;
  bottom: 0px;
  display: flex;
  height: calc(100vh - 100px);
  flex-direction: column; 
}