/* 
    File: global.css
    Author: Kyle Tranfaglia
    Purpose: Styling for the shared elements across the entire webpage
    Last Updated: 11/13/24
*/
/* General formatting */
header {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}
p {
  margin: 0 4%;
  font-family: Times;
  text-align: left;
  font-size: 20px;
  line-height: 1.5;
  color: black;
}
.p1 {
  margin: 0;
  font-family: Times;
  text-align: center;
  font-size: 17px;
  line-height: 1.7;
  color: black;
}
.p2 {
  margin: 0;
  display: block;
  font-family: Times;
  text-align: center;
  line-height: 1.5;
  font-size: 22px;
  color: black;
}
.p3 {
  margin: 12px 6% 0 6%;
  font-family: Times;
  text-align: left;
  font-size: 22px;
  line-height: 1.5;
  display: inline-block;
  color: black;
}
.p4 {
  margin: 0 8%;
  font-family: Times;
  text-align: left;
  font-size: 22px;
  line-height: 1.5;
  display: inline-block;
  color: black;
}
.p5 {
  margin: 0;
  font-family: Times;
  text-align: center;
  font-size: 17px;
  line-height: 1.2;
  color: black;
}
h1 {
  margin: 0;
  padding: 20px;
  background-color: #4682b4;
  font-family: Times;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  color: whitesmoke;
}
h2 {
  margin: 0;
  font-family: Times;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  color: black;
}
h3 {
  margin: 12px 0 12px 2%;
  font-family: Times;
  font-size: 26px;
  text-align: left;
  color: black;
}
h4 {
  margin: 6px 0 12px 0;
  font-family: Times;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: black;
}
h5 {
  margin: 0;
  font-family: Times;
  font-size: 42px;
  font-weight: bold;
  text-align: center;
  color: black;
}
h6 {
  margin: 8px 0 0 4%;
  font-family: Times;
  font-size: 32px;
  text-align: left;
  color: black;
}
a {
  color: black;
}
.subtitle {
  margin: 0;
  font-family: Times;
  font-size: 28px;
  line-height: 1.2;
  font-style: italic;
  font-weight: bold;
  text-align: center;
  color: black;
}
/* Navigation formatting */
.navbar {
  display: flex;
  background-color: black;
  overflow: hidden;
  height: 60px;
}
.navbar a:not(.logo) {
  font-size: 18px;  
  text-align: center;
  float: left;
  display: block;
  color: whitesmoke;
  padding: 24px 24px;
  text-decoration: none;
}
.navbar a:not(.logo):hover {
  background-color: lightgray;
  color: black;
}
/* Navbar logo formatting */
.logo {
  height: 100%;
  width: auto;
}
/* Simulation dropdown and button formatting in navigation bar */
.navbar .dropdown {
  float: left;
  overflow: hidden;
  z-index: 4;
}
.navbar .drop_button {
  margin: 0;
  font-size: 18px;
  border: none;
  outline: none;
  color: whitesmoke;
  padding: 24px 24px;
  background-color: inherit;
}
.navbar .dropdown_item {
  display: none;
  position: absolute;
  top: 60px;
  background-color: #f9f9f9;
  min-width: 125px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
.navbar .dropdown_item a {
  float: none;
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}
.navbar .dropdown_item a:hover {
  background-color: #ddd;
}
.navbar .dropdown:hover .dropdown_item {
  display: block;
}
/* Lattice region formatting */
.lattice_region {
  position: absolute;
  background-color: #D0D3D4;
  border: 3px solid black;
  padding: 1% 1% 1% 1%;
  margin-top: 12px;
  max-width: 90%;
  z-index: 0;
}
.center_canvas {
  display: flex;
  justify-content: center;
}
/* Tickmark region formatting */
.tickmark_region {
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
  padding: 1% 1% 1% 1%;
  max-width: 90%;
  margin-top: 12px;
}
/* Log box formatting */
.log_box {
  width: 160px;
  height: 45px;
  background-color: #D0D3D4;
  border: 3px solid black;
  padding-top: 3px;
  margin-left: 1.75%;
}
/* Iteration count formatting */
.iteration_output {
  font-size: 17px;
  line-height: 0;
  margin: 0;
  margin-left: 8%;
  margin-top: 20px;
}
/* Primary tool bar formatting */
.primary_toolbar {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 98%;
  margin: 20px 0 0 0;
}
/* Secondary tool bar formatting */
.secondary_toolbar {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 98%;
  margin: 20px 0 0 0;
} 
/* Container for store multiple elements on the same row: used for primary tool bar */
.input_container1 {
  justify-content: center;
  display: flex;
  margin-left: .75%;
  margin-right: .75%;
  max-width: 95%;
}
/* Options window formatting */
.options_container {
  display: none;
  position: absolute;
  right: 0;
  top: 60px;
  width: 250px;
  height: 650px;
  background-color: #fefefe;
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.4);
  z-index: 2;
}
.options_content {
  padding: 20px;
  align-items: center;
  text-align: center;
  justify-content: center;
}
/* Container for store multiple elements on the same row: used for primary tool bar */
.input_container2 {
  justify-content: center;
  display: flex;
  margin-left: 1.5%;
  margin-right: 1.5%;
  max-width: 95%;
}
/* Checkbox container and formatting */
.checkbox_container {
  display: none;
}
.visible_checkbox_container {
  display: inline-block;
}
.checkbox_select {
  margin-left: 8px;
  width: 18px;
  height: 18px;
  vertical-align: middle;
}
.checkbox_label {
  font-size: 14px;
}
/* Input box formatting */
.input_label {
  font-size: 17px;
  margin: 8px;
}
.simulation_input {
  border: 2px solid black;
  width: 132px;
}
/* Slider formatting */
.slider_container {
  width: 55%;
  margin: 7px auto;
  text-align: center;
}
.slider {
  margin: 0;
  width: 100px;
  height: 25px;
  border-radius: 5px;
  background: #d3d3d3;
  outline: none;
  opacity: 0.8;
  transition: opacity .2s;
}
.slider:hover {
  opacity: 1;
}
/* Toggle bar formatting */
.toggle_bar {
  width: 50px;
  height: 25px;
  background-color: #ffffff;
  border-radius: 12.5px;
  position: relative;
  cursor: pointer;
}
.toggle_button {
  width: 25px;
  height: 25px;
  background-color: #008CFF;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.4s ease;
}
.toggle_label {
  margin: 3px 7px;
  font-size: 17px;
}
.options_toggle_bar {
  width: 50px; 
  height: 25px;
  background-color: #ddd;
  border-radius: 12.5px;
  position: relative;
  cursor: pointer;
  margin: 0 0 10px 0;
}
/* Container for border and cell color picker */
.color_container {
  display: inline-block;
  margin-left: 6px;
  margin-right: 6px;
  text-align: center;
}
.color_label {
  display: block;
  margin-bottom: 2px;
  font-size: 17px;
  font-family: times;
}
.color_wrapper {
  justify-content: center;
  display: flex;
  flex-direction: row;
  margin-bottom: 6px;
}
.color_picker {
  width: 50px;
  height: 25px;
}
/* Window formatting */ 
.about_container, .library_container {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  overflow: auto;
  z-index: 3;
}
.about_content, .library_content {
  background-color: #fefefe;
  margin: 7% auto;
  border: 2px solid #888;
  padding: 1% 1% 1% 1%;
  width: 70%;
}
.close {
  color: #aaa;
  float: right;
  font-size: 36px;
  font-weight: bold;
}
.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
/* Library preset button formatting */
.library_img {
  background-image: url("../images/Under_construction.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 90px 160px;
  display: inline-block;
  border: 1px solid black;
  border-radius: 10px;
  margin: 2% 3% 0 3%;
  cursor: pointer;
  margin-bottom: 10px;
  position: relative;
}
.center_img {
  display: flex;
  align-items: center;
  justify-content: center;
}
.library_img::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
}
.library_img:hover::before {
  background-color: rgba(0, 0, 0, 0.1);
}
.library_box {
  background-color: #DDDAFF;
  border: 2px solid black;
  padding: 16px;
  margin: 20px 80px 40px 80px;
}
/* Don't worry about it */
.Dustin {
  width: 100dvw;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  background-image: url('../images/Dustin.jpg');
  background-position: center;
  background-size: cover;
  display: none;
  z-index: 999;
}