/*
Project name: iomdin.com
Started on: 5.05.2025
by @mishaiomdin

style.css
*/


/* GOOGLE FONTS */

@import url('https://fonts.googleapis.com/css?family=Rubik');


/* GOOGLE ICONS */
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined&display=swap');

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined', sans-serif;
  font-variation-settings:
        'FILL' 0,
        'wght' 300,
        'GRAD' 0,
        'opsz' 24;
}

.material-symbols-outlined {
    font-size: 1em;  /* Match icon size to text */
    line-height: 1;  /* Ensure vertical alignment */
    display: flex;  /* Align icon properly */
    align-items: center;  /* Center the icon */
    margin-right: 5px;
}

.icon-text {
    display: inline-flex;
    align-items: center; /* Align items vertically */
    gap: 0.4em;
}

.icon-text img,
.icon-text .material-symbols-outlined,
.icon-text svg {
    /*height: 1em;    /* Image height matches the text size */
    width: auto;    /* Maintain the aspect ratio */
    vertical-align: middle;  /* Align vertically */
}

/* OVERALL */

body, button, input, select, textarea {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"
}

* {
    color: #000000;
    font-size: 1em;
}



/* BODY */

body {
    background-color: white;
    margin: 0;
    padding: 0;
}

/* HEADER */

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 10px;
  padding-right: 10px;
  box-shadow: none;
}

.website_header {
  background-color: #f4f7f6;
}

.page_header {
  background-color: #b2c9f6;
}

/* HEADER FOR WIDE (TABLETS, DESKTOPS) */
@media (min-width: 850px) {
  .page_header {
    max-width: 800px;
    margin: 2rem auto;
    margin-top: 0rem;
    padding-left: 2rem;
    padding-right: 2rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
  }
}



/* MAIN */

main {
  background-color: white;
  box-shadow: none;
  margin: 0;
  padding: 1rem;
}

/* MAIN FOR WIDE (TABLETS, DESKTOPS) */
@media (min-width: 850px) {
  body {
    background-color: #f4f7f6;
  }

  main {
    max-width: 800px;
    margin: 2rem auto;
    padding: 2rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
  }
}

.logo {
  height: 60px;
}

#languageSelectorWrapper {
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  z-index: 1000;
}


/* MAIN */

main {
  background-color: white;
  box-shadow: none;
  margin: 0;
  padding: 1rem;
}

/* MAIN FOR WIDE (TABLETS, DESKTOPS) */
@media (min-width: 850px) {
  body {
    background-color: #f4f7f6;
  }

  main {
    max-width: 800px;
    margin: 2rem auto;
    padding: 2rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
  }
}


/* FOOTER */

footer {
    text-align: center;
    margin-top: 30px;
    font-size: 14px;
    color: #888;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: white;
}


/* ELEMENTS */


/* Headers */

h1 {
  font-size: 2em;
}

h2 {
  font-size: 1.5em;
}

h3 {
  font-size: 1.25em;
}

/* Buttons */

button {
  background-color: #e4edff;
  color: black;

  border-radius: 10px;
  border: none;

  padding: 10px 20px;
  margin: 10px;
  
  cursor: pointer;
  font-size: 1em;

  align-items: center;

}

button:hover {
  background-color: #b2c9f6;
}

.chosen_button {
  background-color: white;
}

.button-container {
    margin: 10px;
    display: flex;  
    justify-content: center;  /* Centers the buttons horizontally */
    align-items: center;  /* Ensures buttons are vertically aligned */
    gap: 10px;  /* Space between buttons */
}

.button-container button {
    display: flex;  
    align-items: center;  
    justify-content: center;  
    padding: 10px 20px;
    font-size: 16px;
}

/* ALGORITHMS WEBSITE */

/* Sorting algorithms */

.list {
  display: flex;
  gap: 0.5em;
  justify-content: center;
  flex-wrap: wrap;
}

.list_element {
  width: 2em;
  border-radius: 5px;
  border: 1px solid black;
  outline: none;
}

.list_element_highlighted {
  background-color: #b2c9f6;
  /*
  outline: none;
  border: 1px solid black;
  border-radius: 5px;
  */
}

.list_element_sorted {
  background-color: #e4edff;
}

.list_index {
  display: block;
  margin-top: 4px;
  font-family: monospace;
}

.list_element_with_index {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  transition: transform 0.4s;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}


code {
  font-family: Monospace;
  background-color: #f4f7f6;
  color: black;
  border-radius: 3px;
  padding: 2px;
  direction: ltr;
  }

.stackElement {
  margin: 3px;
}

/* TABLE */

th {
  background-color: #e4edff;
}

.linage {
  fill: none;
  stroke: #000;
}

.marriage {
  fill: none;
  stroke: black;
}

.man {
  background-color: lightblue;
  border-style: solid;
  border-width: 1px;
}

.woman {
  background-color: pink;
  border-style: solid;
  border-width: 1px;
}

.icon {
  font-size: 24px !important;
  margin: 10px !important;
}

tr:nth-child(even) {background-color: #f6f8fa;}

table, td, th {
  border: 1px solid #dfe2e5;
  border-collapse: collapse;
  padding: 8px;
}

table {
    display: block;
    overflow-x: auto;
    border: 0px;
}