/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */
@import url('https://fonts.googleapis.com/css2?family=Delius&display=swap');

/*cursors*/
html {
  cursor: url("/images/mainskin/default_cursor.png"), default;
}

a:hover, .dropdown:hover, .dropdownButton:hover {
  cursor: url("/images/mainskin/pointer_cursor.png"), pointer;
}

/*text select colors*/
::-moz-selection, ::selection { 
  color: #f6eee9;
  background: #65a58c;
}

/*page architecture*/
body {
  /*colors*/
  background-color: #b27ea8;
  color: #583535;
  
  /*text*/
  font-family: "Delius";
  font-size: 18px;
  
  /*background*/
  background-image: url('/images/mainskin/background.png');
  background-attachment: fixed;
  background-repeat: repeat;
}

.container {
  max-width: 1000px;
  margin: 4rem auto;
  
  display: grid;
  grid-gap: 0.70rem;
  grid-template-columns: minmax(0, 1fr);
}

header {
  background-color: #b27ea8;
  grid-row: 1 / 2;
  padding: 0 1rem;
  border-radius: 1rem;
}

/*navbar*/
nav {
  grid-row: 2 / 3;
  font-size: 0.90em;
  height: max-content;
  padding: 0 1rem;
  background-color: #7a4377;
  border-radius: 1rem;
  position: sticky;
  top: 0;
  z-index: 1;
}

nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

nav ul li {
  float: left;
}

nav ul li a {
  display: block;
  text-align: center;
  padding: 1rem;
  text-decoration: none;
  color: #f6eee9;
  transition: 0.5s ease;
}

nav ul li a:hover, .dropdown:hover .dropdownButton, .navButton button:hover {
  background-color: #5c2057;
  color: #f6eee9;
}

li.dropdown {
  position: relative;
}

.dropdownButton {
  background-color: #7a4377;
  color: #f6eee9;
  font-family: "Delius";
  padding: 1rem;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  transition: 0.5s ease;
}

.dropdownContent {
  background-color: #f6eee9;
  display: none;
  position: absolute;
  min-width: 8rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem
}

.dropdownContent a {
  color: #4c6d60;
  padding: 1rem;
  text-decoration: none;
  display: block;
  transition: 0.5s ease;
}

.dropdownContent a:hover {
  background-color: #77978a;
}

.dropdown:hover .dropdownContent {
  display: block;
}

/*main*/

main {
  background-color: #e4cfcc;
  border: solid #b27ea8 0.5rem;
  border-radius: 1rem;
  grid-row: 3 / 4;
  height: max-content;
  padding: 0 2rem 2rem;
}

main a:link {
  color: #426fb2
}

main a:visited {
  color: #7a4377
}

hr {
  background-color: #583535;
  height: 0.15rem;
  border: none;
  margin-top: 1rem;
}

/*margin decoration*/
.decoration {
  position: fixed;
  image-rendering: initial;
  z-index:-1;
}

/*navigation buttons*/
.navButton button {
  background-color: #7a4377;
  font-family: "Delius";
  display: inline;
  border: none;
  border-radius: 0.5rem;
  font-size: 1rem;
  transition: 0.5s ease;
  margin: 1rem 0 0;
}

.navButton button a {
  color:#f6eee9;
  display: block;
  text-decoration: none;
  text-align: center;
  padding: 0.75rem;
}

/*boxes and stuff*/
.boxContainer {
  display: flex;
  flex-flow: row wrap;
  margin: auto;
}

.scrollableBox {
  background-color: #f6eee9;
  overflow: auto;
  border-radius: 1rem;
  padding: 0 1.25rem;
  margin: 1rem auto;
  max-height: 45rem;
}

.miniScroll {
  max-height: 20rem;
  width: 22rem;
}

.imageContainer {
  display: flex;
  flex-flow: row wrap;
  margin: auto;
  align-content: flex-start;
}

/*image with tooltips*/
.imageUnit {
  margin: 1.5rem;
  width: 11rem;
}

.imageUnit > p, .imageNoTooltip > p {
  text-align: center;
  margin: 0.25rem;
  font-size: 1rem
}

.imageUnit::before {
  background-color: #f6eee9;
  content: "";
  display: block;
  position: absolute;
  width: 11.4rem;
  height: 11.4rem;
}

.imageTooltip > img{
  width: 11rem;
  border: #f6eee9;
  border-width: 0.2rem;
  border-style: solid;
}

.imageTooltip {
  margin: auto;
  position: relative;
}

 .tooltipText {
  background-color: #65a58c;
  color: #FFFFFF;
  visibility: hidden;
  width: 11rem;
  text-align: center;
  border-radius: 0.5rem;
  padding: 0.5rem;
  bottom: 100%;
  left: 65%;
  margin-left: -7.7rem;
  position: absolute;
  z-index: 2;
  margin-bottom: 0.75rem;
  opacity: 0;
  transition: opacity 0.75s;
}

.tooltipText::after {
  border-width: 5px;
  border-style: solid;
  border-color: #65a58c transparent transparent transparent;
  content: " ";
  position: absolute;
  top: 100%; /* At the bottom of the tooltip */
  left: 50%;
  margin-left: -5px;
}

.imageTooltip:hover .tooltipText {
  visibility: visible;
  opacity: 1;
}

/*images without tooltips*/

.imageNoTooltip {
  text-align: center;
  margin: 0.25rem;
  font-size: 1rem;
  width: 11rem;
}

/*footer*/
footer {
  color: #FFFFFF;
  grid-row: 4 / 5;
  margin: 1rem auto;
}

/*tweaks for mobile*/
@media screen and (width < 600px) {
  .hideOnMobile {
    display: none;
  }

  nav {
    position: static
  }
}