/* MORE SANE CSS */
/* MIGRATE HERE EVENTUALLY */

/* NOTE: */
/* _ USES VARIABLES */
/* _ CONSIDER DARK MODE */


/* ROOT VARIABLES _ MODIFIED BY JS FOR RESPONSIVENESS */
:root {
  /* 'light mode' colors */
  --background_color: #ffffff;
  --highlight_color: #ffffff;
  --input_on_background: #dddddd;
  --button_background_color_01: #63fb75;
  /* --button_background_color_02: #2dc13e; */
  --button_background_color_02: #4cc55a;
  --color: #000000;
  /* borders and corners */
  --small_radius: 0.25rem;
  --large_radius: 0.5rem;
  --center_top: 50%;
  --center_left: 50%;
  --center_transform: translate(-50%, -50%);
  --hotpink_bg_test: hotpink;
  --box_shadow_small: 0px 5px 16px 8px rgba(0, 0, 0, 0.25);
  --root_font_size: 16px;
  --floating_panel_fill_width: auto;
  --flex_responsive_wrap_children: row;
  --default_animation_duration: 0.3s;
  --label_font_family: 'Lato', sans-serif;
  --small_gap: 0.25rem;
  --large_gap: 0.5rem;
  --timeline_list_container_width: 20rem;
  --responsive_overflow_y_desktop_scroll_mobile_clip: scroll;
  --responsive_overflow_y_desktop_clip_mobile_scroll: clip;
  --desk_row_or_mobile_col: row;
  --responsive_desktop_grid_mobile_flex_display: grid;
  /* --default_input_height: 2rem; */
  --hide_on_desktop: none;
  --working_space_vertical: 0;
  --text_color_on_any_background: #ffffff;
  --text_color_on_light_background: #4d4d4d;

  /* font-size: var(--root_font_size); */
  color: var(--color);
  background-color: var(--background_color);
}


/* DARK MODE VALUES */
/* TOGGLE MODE CSS FROM:  https://dev.to/ananyaneogi/create_a_dark_light_mode_switch_with_css_variables_34l8 */
[data_theme="dark"] {
  --background_color: #303030;
  --highlight_color: #dadada;
  --color: #ffffff
}


/* MOBILE LAYOUT */
[data_responsive_layout="mobile"] {
  --responsive_overflow_y_desktop_scroll_mobile_clip: clip;
  --responsive_overflow_y_desktop_clip_mobile_scroll: scroll;
  --desk_row_or_mobile_col: column;
  --small_gap: 0.25rem;
  --large_gap: 0.5rem;
  --responsive_desktop_grid_mobile_flex_display: flex;
  --hide_on_desktop: unset;
}

/* RESPONSIVE HIDING */
.hide_on_desktop{
  display: var(--hide_on_desktop);
}


/* TESTS, GARBAGE */
.under_construction{
  padding: 0.5rem;
  font-size: 1.125rem;
  font-weight: bold;
  background: repeating-linear-gradient(
    135deg,
    #f7f7f7,
    #f7f7f7 2rem,
    #feffb9 2rem,
    #feffb9 4rem
  );
}
.floating_panel{
  /* width: var(--floating_panel_fill_width); */
  /* max-width: 400px; */
  /* height: 400px; */
  height: var(--working_space_vertical);
}
.hot_pink_test{
  background-color: var(--hotpink_bg_test);
}
.test_border{
  border: 1px solid red;
}


/* MARGINS, PADDING */
.padded_small{
  padding: 0.5rem;
}


/* COLORS, BORDERS, SHADOWS, FILTERS */
.default_panel_color{
  background-color: var(--background_color);
}
.rounded_corner_small{
  border: 0 solid;
  border-radius: var(--small_radius);
}
.rounded_corner_large{
  border: 0 solid;
  border-radius: var(--large_radius);
}
.dropshadow_small{
  box-shadow: var(--box_shadow_small);
}
.icon_fill{
  fill: var(--highlight_color);
}
/* .inverted_polarized_text{ */
  /* color: white; */
  /* mix-blend-mode: difference; */
  /* filter: grayscale(1) */
  /* filter: invert(1); */
  /* filter: grayscale(1) contrast(1000000) brightness(1) invert(1); */
  /* mix-blend-mode: multiply; */
  
  /* --predefined-width: 100%; */
  /* Output width: Depends on the container's width */
  /* width: calc(var(--predefined-width) - calc(16px * 2)); */
/* } */


/* POSITIONING */
.pos_relative{
  position: relative;
}
.pos_absolute{
  position: absolute;
}
.center_center{
  position: absolute;
  top: var(--center_top);
  left: var(--center_left);
  transform: var(--center_transform);
}
.float_left{
  float: left;
}
.large_gap_right{
  right: var(--large_gap);
}
.small_gap_right{
  right: var(--small_gap);
}
.top_zero{
  top: 0;
}
.top_just_below_zero{
  top: -0.0625em;
}
.right_zero{
  right: 0;
}
.span_last_child_fixed_right{
  position: relative;
  display: flex;
  align-content: space-between;
  /* justify-content: right; */
}
/* .span_last_child_fixed_right:last-child{
  position: flex;
  align-content: space-between;
  right: 0;
} */

/* LEFT OFF TRYING TO MAKE DASHBOARD RESPONSIVE
LAYOUT DONE
OVERFLOW SCROLL CLIP NEEDS WORK */

/* SCROLL BEHAVIOUR */
.responsive_overflow_scroll{
  overflow-y: var(--responsive_overflow_y_desktop_scroll_mobile_clip);
  /* overflow-x: clip; */
  display: flex;
  flex-direction: column;
  gap: var(--large_gap);
}
/* WAS ATTEMPT TO ALLOW DROPSHADOWS EXTEND BEYOND PARENT - SOMEWHAT WORKS - DIFFICULT IN DEEP HIERARCHIES */
.overflow_visible{
  overflow: visible;
}


/* SIZING, FLEX */
.fill_height{
  height: 100%;
}
.just_flex{
  display: flex;
}
.small_gap{
  gap: var(--small_gap);
}
.fill_parent{
  /* position: relative; */
  width: 100%;
  height: 100%;
}
.fill_parent_horizontal{
  position: relative;
  width: 100%;
}
.flex_parent_column{
  display: flex;
  flex-direction: column;
  /* gap: var(--small_gap); */
  /* justify-content: space-between; */
  flex-wrap: nowrap;
  /* overflow-y: scroll; */
}
.flex_parent_row{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.flex_parent_responsive_wrap_children{
  gap: var(--small_gap);
  display: flex;
  flex-direction: var(--desk_row_or_mobile_col);
  contain: size;
}
.flex_child{
  /* width: 100%; */
  /* box-sizing: border-box; */
  /* flex-grow: 1; */
}
.flex_grow{
  flex-grow: 1;
}
.flex_child_gap{
  display: flex;
  gap: var(--small_gap);
}
.flex_child_gap_large{
  display: flex;
  gap: var(--large_gap);
}
.flex_end{
  justify-content: end;
}
.flex_columns{
  flex-direction: column;
}
/* .flex_child_last{
  flex-grow: 1;
  flex-shrink: 0
} */

/* GRIDS */
.responsive_desktop_grid_mobile_flex{
  display: var(--responsive_desktop_grid_mobile_flex_display);
  /* grid-auto-columns: 1fr; */
  grid-auto-rows: 1fr;
  grid-auto-flow: column;
  grid-auto-columns: max-content;

  flex-direction: column;
  flex-wrap: nowrap;
  gap: var(--large_gap);
  /* contain: size; */
}
.responsive_overflow_y_desktop_clip_mobile_scroll{
  overflow-y: var(--responsive_overflow_y_desktop_clip_mobile_scroll);
}
.grid_item{
  background: lightblue;
  align-self: stretch;
}

.default_timeline_list_container{
  width: var(--timeline_list_container_width);
  color: var(--text_color_on_any_background);
  /* max-height: 4rem; */
}


/* TEXT / FONT */
.text_size_percent_75{
  font-size: 0.75rem;
}
.button_text_small{
  font-size: 1.25rem;
}
.button_text_large{
  font-size: 1.5rem;
}
.text_color_on_any_background{
  color: var(--text_color_on_any_background);
}


/* BUTTONS */
.button_on_right_of_input{
  width: 4rem;
  border: 0;
  border-top-right-radius: var(--small_radius);
  border-bottom-right-radius: var(--small_radius);
  background-color: var(--button_background_color_01);
}

.button_on_right_of_input:hover{
  background-color: var(--button_background_color_02);
}
.button_centered_text{
  width: auto;
  text-align: center;
}
.button_padding_small{
  padding: 0.5rem;
}
.button_padding_large{
  padding: 1rem;
}
.button_background_color_01{
  background-color: var(--button_background_color_01);
}
.button_background_color_02{
  background-color: var(--button_background_color_02);
}
/* .button_background_color_02:hover{
  background-color: var(--button_background_color_01);
  color: var(--text_color_on_light_background);
} */
.hover_get_lighter{
  filter: brightness(100%);
  /* filter: contrast(175%) brightness(103%); */
  /* backdrop-filter: brightness(300%); */
}
.hover_get_lighter:hover{
  /* filter: contrast(175%) brightness(103%); */
  filter: brightness(110%);
  
}

/* IMAGES */
.thumbnail_small{
  position: absolute;
  background-position: center;
  background-size: contain;
  /* min-width: 6rem; */
  width: 6rem;
  height: 6rem;
  max-width: 6rem;
}

/* .photo_row{
  position: relative;
  overflow-x: hidden;
  display:inline-block;
  flex-direction: row;
} */
.image_square{
  width: 6rem;
  height: 6rem;
  max-width: 6rem;
}
/* .photo_row_animated{
  animation-name: slidein;
  animation-iteration-count: infinite;
  animation-duration: 0s;
  animation-play-state: running;
  animation-timing-function: linear;
} */

.thumbnail_fade{
  animation-name: changeBg;
  animation-iteration-count: 1;
  animation-duration: 0.5s;
  animation-play-state: paused;
  animation-timing-function: linear;
}



/* INPUTS */
input{
  font-family: var(--label_font_family);
  font-size: 1rem;
}
.default_simple_input{
  /* height: var(--default_input_height); */
  border: 0;
  padding: 0.75rem;
  background-color: var(--input_on_background);
  width: 100%;
}
.input_border_with_right_button{
  border: 0;
  border-top-left-radius: var(--small_radius);
  border-bottom-left-radius: var(--small_radius);
}

/* ANIMATIONS, TRANSITIONS */


/* HIGHLIGHT DROPSHADOW */
.highlight_dropshadow{
  /* filter: drop-shadow(0 0 0.75rem rgb(0, 151, 25)); */
  animation: _highlight_dropshadow 1.5s infinite;
}
@keyframes _highlight_dropshadow {
  0% {
    filter: drop-shadow(0 0 0.5rem rgba(0, 151, 25, 1));
  }
  50% {
    filter: drop-shadow(0 0 0.5rem rgba(0, 151, 25, 0));
  }
  100% {
    filter: drop-shadow(0 0 0.5rem rgba(0, 151, 25, 1));
  }
}

/* JUMPING DROPSHADOW */
.jumping_dropshadow{
  /* filter: drop-shadow(0 0 0.75rem rgb(0, 151, 25)); */
  animation: jumping_dropshadow 2s infinite;
  animation-timing-function: ease-out;
}
/* RESETS ANIMATION - NEED BETTER - PROB ANIMATE A CHILD FOR ONE OF THEM? */
.jumping_dropshadow:hover{
  animation: jumping_dropshadow_hover 2s infinite;
  animation-timing-function: ease-out;
}
@keyframes jumping_dropshadow {
  0% {
    filter: drop-shadow(0 0 0rem rgb(0, 0, 0));
  }
  50% {
    filter: drop-shadow(0.25rem 0.25rem 0.5rem rgba(0, 151, 25, 0));
  }
  100% {
    filter: drop-shadow(0 0 0rem rgb(0, 0, 0));
  }
}
@keyframes jumping_dropshadow_hover {
  0% {
    filter: brightness(110%) drop-shadow(0 0 0rem rgb(0, 0, 0));
  }
  50% {
    filter: brightness(110%) drop-shadow(0.25rem 0.25rem 0.5rem rgba(0, 151, 25, 0));
  }
  100% {
    filter: brightness(110%) drop-shadow(0 0 0rem rgb(0, 0, 0));
  }
}


/* - LOADING TRANSPARENCY */
#loading_foreground{
  position: absolute;
  width: 100%;
  height: 100;
  
}

/* - PHOTO SQUARE ANIMATED */
@keyframes changeBg{
  0% {background-image: url("https://i.stack.imgur.com/YdrqG.png");}
  100% {background-image: url("https://i.stack.imgur.com/3hiHO.png");}
}