@import url('https://fonts.googleapis.com/css2?family=Italianno&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Electrolize&display=swap');

.AT {
  font-family: 'Italianno', cursive;
}

  /**********/
 /* Hiring */
/**********/

.hiring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--clr-box-background);
}

.hiring {
  border-radius: 5px;
  background-color: var(--clr-box-background);
  margin: 1em;
  padding-top: 1em;
  padding-bottom: 1.3em;
  --pad-left: 2em;
  width: min(calc(640px - 2 * var(--pad-left)), calc(95% - 2 * var(--pad-left)));
  max-width: calc(640px - 2 * var(--pad-left));
  padding-left: var(--pad-left);
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  text-align: justify;
}

.hiring a {
  text-decoration: none;
  font-family: 'Electrolize', sans-serif;
  outline: 3px solid #00FF7F;
  padding: 1em 2.5em;
  border-radius: 2000px;
  transition: 0.2s ease-in-out;
}
.hiring a:hover {
  background-color: #00FF7F;
  color: var(--clr-text);
  color: black;
  outline-offset: 10px;
}

#hiring {
  transform: translateX(-1em);
  overflow: hidden;

  margin: 0;
  padding: 0;
  padding-bottom: 4em;
  box-sizing: border-box;
  width: calc(100% + 2em);
  background-color: var(--hiring-clr);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#hiring div ol li {
  padding-bottom: 1em;
}
#hiring div ol li ul {
  list-style-type: disc;
}
#hiring div ol li ul li {
  padding-bottom: 0;
}
#hiring-columns {
  display: flex;
  flex-direction: row;
  align-items: top;
  justify-content: center;
  gap: 8%
}
#hiring-postdoc, #hiring-students {
  width: 35%;
  padding: 1em;
  padding-right: 2em;
  border-radius: 5px;
  background-color: var(--hiring-clr-lighter);
  text-align: justify;
  font-size: 1.125rem;
}

#hiring h2, .hiring h2 {
  color: var(--clr-pdf);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding-bottom: 0.5em;
}
.hiring h2 {
  font-size: 2.2em;
}
.hiring h3 {
  font-size: 1.3em;
}
#hiring h2 {
  padding-top: 0.75em;
  font-size: 3em;
  font-weight: 500;
  color: black;
}
#hiring h3 {
  font-size: 1.6em;
  padding-top: 0.65em;
  padding-bottom: 0.75em;
  display: flex;
  align-items: center;
  justify-content: center;
}

#hiring h3, .hiring h3,
#hiring h4, .hiring h4 {
  font-weight: 500;
}
.hiring h4 {
  padding-bottom: 0.5em;
}

.hiring h2, .hiring h3 {
  padding-right: 0.98em;
}

#hiring, #hiring-hr, .hiring {
  display: non;
}
#hiring-postdoc {
  display: none;
}


#sonatagrant {
  display: flex;
}


  /*************/
 /* Dark mode */
/*************/

.dark-mode #hiring h2 {
  color: var(--clr-text);
}

.dark-mode {
  background: url('https://www.home.umk.pl/~mariusz.tarnopolski/home/background-dark.webp');
  background-attachment: fixed;
  background-size: cover;

  --hiring-clr: hsl(41, 66%, 8%);
  --hiring-clr-lighter: hsl(41, 66%, 12%);

  --clr-button: #000067;
  --clr-button-hover: #1E1E95;
  --clr-button-text: hsl(0, 0%, 90%);
  --clr-text: hsl(0, 0%, 80%);
  color: var(--clr-text);

  --clr-dropdown-content: hsl(0, 0%, 10%);
  --clr-dropdown-content-hover: hsl(0, 0%, 15%);

  --clr-a: hsl(240, 100%, 78%);
  --clr-a-hover: hsl(240, 100%, 82%);

  --clr-envelope: var(--clr-button-text);
  --clr-pdf: hsl(0, 75%, 57%);
  --clr-marker: #ff8a24;
  --clr-tooltip: hsl(0,0%,5%);

  --clr-footer: var(--clr-text);
  --clr-GoToTop: var(--clr-text);
  --clr-box-background: hsl(0, 0%, 9%);

  --clr-quote: hsl(240, 50%, 14%);
}

.dark-mode :is(p.drop-caps-1 > strong:nth-of-type(1), h2, h3, p.border.bookRecom, .no-box) {
  font-weight: 500;
}
.dark-mode .book-icon {
  fill: var(--clr-text);
}
.dark-mode .imgHyperion {
  -webkit-filter: brightness(90%);
  filter: brightness(90%);
}
.dark-mode #imgPublications {
  -webkit-filter: invert(100%) brightness(90%);
  filter: invert(100%) brightness(90%);
}
.dark-mode #imageRand {
  -webkit-filter: invert(100%) brightness(80%); /* Safari, Chrome */
  filter: invert(100%) brightness(80%);
}
.dark-mode :is(.imgHubble, .img0, .img1, .img2, .img3, .img4, .img5, .img6, .img8, .img9, .img11, .img12, .imgPhase, .img13-14, .img15) {
  -webkit-filter: brightness(80%);
  filter: brightness(80%);
}
.dark-mode :is(.imgPillars, .imgCrab) {
  -webkit-filter: brightness(70%);
  filter: brightness(70%);
}
.dark-mode :is(.imgHubble, .img7, .img10) {
  -webkit-filter: brightness(60%);
  filter: brightness(60%);
}
.dark-mode .imgInterstellar {
  -webkit-filter: brightness(50%);
  filter: brightness(50%);
}

.dark-mode ::-webkit-scrollbar-track {
  background: hsl(0, 0%, 50%);
}
.dark-mode ::-webkit-scrollbar-thumb {
  border-radius: 100vw;
  background: hsl(0, 0%, 15%);
}
.dark-mode ::-webkit-scrollbar-thumb:hover {
  background: hsl(0, 0%, 25%);
}

 /* to get somewhat of an experience in firefox as well */
@supports (scrollbar-color: red blue) {
  *.dark-mode {
    scrollbar-color: hsl(0, 0%, 15%) hsl(0, 0%, 25%);
  }
}


.brightness-box {
  position: fixed;
  top: 20px;
  right: 20px;  
  width: max-content;
  height: max-content;
  border-radius: 50%;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

input[type="checkbox"] ~ label i.fas.fa-adjust {
  color: black;
  margin: 0;
  font-size: 1.5rem;
  border-radius: 50%;
  transform: rotate(-0.125turn);
  transition: transform 0.4s cubic-bezier(0.42, 0, 0.42, 1.35);
  cursor: url("telescope1.svg") 5 -2, auto;
}

input[type="checkbox"]:checked ~ label i.fas.fa-adjust {
  transform: rotate(1.375turn);
  color: var(--clr-text);
}

  /*****************/
 /* Dark mode fin */
/*****************/


  /*********************************/
 /* Bakcground and basic settings */
/*********************************/

* { 
  --paragraph-width: 70%;

  --cursor-hotspot-planet-X: 3;
  --cursor-hotspot-planet-Y: 5;

  --cursor-hotspot-telescope-X: 6;
  --cursor-hotspot-telescope-Y: 3;
}

html {
  cursor: url("planet5.svg") var(--cursor-hotspot-planet-X) var(--cursor-hotspot-planet-Y), auto;
  min-width: 100%;
  min-height: 100%;
  font-size: 16px;
  line-height: 1.5;

  background-color: var(--clr-button-text); /* fallback color */
  background: url('https://www.home.umk.pl/~mariusz.tarnopolski/home/background-gray.webp');
  background-attachment: fixed;
  background-size: cover;

  padding-bottom: 3rem;

  --hiring-clr: hsl(55, 100%, 90%);
  --hiring-clr-lighter: hsl(55, 100%, 85%);

 /* Navy Blue & Pantone Blue */
  --clr-button: #000067;
  --clr-button-hover: #1E1E95;
  --clr-button-text: hsl(0, 0%, 93%);

  --clr-dropdown-content: #f1f1f1;
  --clr-dropdown-content-hover: #ddd;

  --clr-a: hsl(240, 100%, 50%); /* pure blue */
  --clr-a-hover: hsl(215, 100%, 50%);

  --clr-envelope: black;
  --clr-pdf: red;
  --clr-marker: #ff7700;
  --clr-tooltip: hsl(0, 0%, 94%);

  --clr-footer: black;
  --clr-GoToTop: var(--clr-button-text);
  --clr-box-background: hsl(0, 0%, 90%);

  --clr-quote: hsl(240, 50%, 85%);
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  width: 98vw; /* This is an ugly solution to the horizontal overflow... */
  overflow-x: hidden;
}

::selection {
  background-color: #29459A;
  color: white;
}

hr {
  width: min(640px, 95%);
  height: 2px;
  border-width: 0;
  background-color: var(--clr-button);
  margin-left: 0;
}

a {
  text-decoration: underline solid 1px;
  text-underline-offset: 0.125em;/* 0.17em jeśli hover text-decoration: 2px; */
}
a:link, a:visited {
  color: var(--clr-a);
}
a:hover, a:focus {
/*  outline: 1px solid;*/
/*  text-decoration: none;*/
/*  text-decoration: underline solid 2px;*/
    text-underline-offset: 0.125em;
    color: var(--clr-a-hover);
    cursor: url("telescope1.svg") var(--cursor-hotspot-telescope-X) var(--cursor-hotspot-telescope-Y), auto;
}
#disabled:hover {
  cursor: not-allowed;
}

  /*************************************/
 /* Bakcground and basic settings fin */
/*************************************/


  /********************/
 /* Custom scrollbar */
/********************/

::-webkit-scrollbar {
  width: 0.6vw;
}

::-webkit-scrollbar-track {
  background: hsl(233, 63%, 90%);
}

::-webkit-scrollbar-thumb {
  border-radius: 100vw;
  background: hsl(233, 93%, 70%);
  background: var(--clr-a-hover);
}

::-webkit-scrollbar-thumb:hover {
  background: hsl(233, 63%, 62%);
  background: var(--clr-a);
}

 /* to get somewhat of an experience in firefox as well */
@supports (scrollbar-color: red blue) {
  * {
    scrollbar-color: hsl(233, 63%, 70%) hsl(233, 63%, 85%);
  }
}

  /************************/
 /* Custom scrollbar fin */
/************************/



  /*************/
 /* Home page */
/*************/

.home-page {
  display: flex;
  width: 100%;
}
.column-left {
  width: max-content;
  max-width: 50%;
}
.column-right {
  flex: 1;
  width: fit-content;
  padding-left: 0.2em;
}

i far fa-envelope {
  color: var(--clr-envelope);
}
i far fa-file-pdf {
  color: var(--clr-pdf) !important;
}


.info-me {
  padding-left: 1em;
  font-size: 1.125rem;
}

.quote {
  display: flex;
  justify-content: center;
  width: 640px;
  max-width: 95%;
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  padding-top: 1.5em;
  padding-bottom: 1.2em;
}
.quote svg {
  fill: var(--clr-box-background);
  fill: var(--clr-quote);
  width:  4.5em;
  height: 4.5em;
  margin-left: -20px;
  margin-right: -30px;
  margin-top: -32px;
}

h2 {
  margin: 0;
  padding: 0;
  font-family: Georgia;
}
h3 {
  margin: 0;
  margin-left: 0.2em;
  padding: 0;
  font-family: Georgia;
}

#about-me {
  --pad-left: 1em;
  width: min(calc(640px - 2 * var(--pad-left)), calc(95% - 2 * var(--pad-left)));
  max-width: calc(640px - 2 * var(--pad-left));
  padding-left: var(--pad-left);
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  text-align: justify;
}

.info-me {
  letter-spacing: 0.02em;
}

  /*****************/
 /* Home page fin */
/*****************/


  /************/
 /* Subpages */
/************/

p, ul.students {
  width: var(--paragraph-width);
  max-width: 100ch;
  margin-left: calc((100% - var(--paragraph-width)) / 2);
  margin-right: calc((100% - var(--paragraph-width)) / 2);
  font-size: 1.125rem;
  letter-spacing: 0.02em;
}

p.caption {
  font-size: calc(1.125rem * 0.875);
}

p.drop-caps-1 > strong:nth-of-type(1) {
  font-size: 199%;
  float: left;
  padding-right: 0.5ch;
  font-family: Georgia;
}

strong {
  display: flex;
  transform: translate(-3rem);
  margin-right: -3rem; 
}

p.border {
  --paragraph-padding: 1em;
  padding: var(--paragraph-padding);
  width: calc(var(--paragraph-width) - 2 * var(--paragraph-padding));
  margin-left: calc((100% - var(--paragraph-width)) / 2);
  margin-right: calc((100% - var(--paragraph-width)) / 2);
  border: 0px solid var(--clr-button); /* 3px */
  border-radius: 5px; /* 10px */
  background-color: var(--clr-box-background);
}
p.border.bookRecom {
  font-weight: 900;
}
p.border svg {
  margin-bottom: -0.15em;
}


.container {
  width: 60%;
  margin: auto;
  text-align: justify;
  font-size: 1.125rem;
}

  /**********************************/
 /* Subpages fin, but images below */
/**********************************/

.row {
  text-align: center;
}

.pics_in_a_row {
  display: flex;
  gap: 1%;
  text-align: center;
}

.img15 {
  width: 25vw;
}

.img13-14 {
  width: 40vw;
}

.imgHyperion {
  width: 20vw;
}
.img0 {
  width: 40vw;
}
.img3 {
  width: 25vw;
}

.hubble {
  width: 100%;
  height: 100%;
  max-width: 900px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.imgHubble {
  height: 120%;
  animation: spin 30s linear infinite;
  animation-play-state: paused;
  border-radius: 50%;	
}
.imgHubble:hover {
  animation-play-state: running;
}
@keyframes spin {
  100% {transform: rotate(1turn); }
}


  /***********/
 /* Tooltip */
/***********/

.tooltip {
  height: 67%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  border-radius: 50%;
}
.tooltip .tooltiptext {
  transform: scale(1,0);
  white-space: nowrap;
  transform-origin: bottom;
  bottom: 113%;
  left: 43.5%;
  margin: 0 auto;
  background-color: transparent;
  border: 1px solid var(--clr-envelope);
  color: var(--clr-envelope);
  font-family: Sans-Serif;
  text-align: center;
  border-radius: 5px;
  padding: 5px 12px;
  position: absolute;
  z-index: 1;
  opacity: 0;
  transition: all 0.75s;
}
.tooltip:hover .tooltiptext {
  transform: scale(1,1);
  white-space: nowrap;
  transform-origin: bottom;
  opacity: 1;
}
.tooltip .tooltiptext::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 33%;
  margin-top: -3px;
  height: 5px;
  width: 5px;
  background-color: var(--clr-tooltip);
  transform: rotate(45deg);
  border: 1px solid;
  border-color: transparent var(--clr-envelope) var(--clr-envelope) transparent;
}

.tooltip .tooltiptext a {
  text-decoration: none;
  color: var(--clr-text);
}


  /***************/
 /* Tooltip fin */
/***************/


.img13-14 { flex: 1.06598407281; }
.img15 { flex: 1.55313351499; }
.img16 { flex: 1.54266666667; }

.img7 { flex: 1.33333333333; }
.img8 { flex: 1.41384615385; }
.img9 { flex: 1.10698689956; }
.img10 { flex: 1.70155902004; }

.img11 { flex: 0.82404692082; }
.img12 { flex: 1.57480314961; }
.imgPhase { flex: 0.99700897308; }

.img1 { flex: 0.82254964766; }
.img2 { flex: 0.76571113561; }

.img4 { flex: 0.62334536702; }
.img5 { flex: 0.99569892473; }
.img6 { flex: 0.73224043715; }

.img13-14, .imgHyperion, .img0, .img3, .img15, .img16, .img7, .img8, .img9, .img10, .img11, .img12, .imgPhase, .img1, .img2, .img4, .img5, .img6 {
  transition: transform 0.3s ease-in-out;
}
.img13-14:hover, .img15:hover {
  transform: scale(1.4);
  z-index: 1;
  box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
}
.imgHyperion:hover, .img0:hover, .img3:hover, .img16:hover, .img11:hover, .img12:hover, .imgPhase:hover, .img1:hover, .img2:hover, .img4:hover, .img5:hover, .img6:hover {
  transform: scale(1.5);
  z-index: 1;
  box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
}
.img7:hover, .img8:hover, .img9:hover, .img10:hover {
  transform: scale(2);
  z-index: 1;
  box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
}


.flip-card {
  display: none;
  position: -webkit-sticky;
  position: sticky;
  width: 575px;
  height: 600px;
  margin-top: 6em;
  left: 4em;
  top: 6em;
  perspective: 1000px;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  transition: all 0.6s ease-in-out;
  -webkit-transition: all 0.6s ease-in-out;
  z-index: 1;
}

.flip-card .front, 
.flip-card .back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform-style: preserve-3d;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.flip-card .front {
  border-radius: 40px 200px 40px 200px;
}

.flip-card .back {
  transform: perspective(1000px) rotateY(180deg);
  border-radius: 200px 40px 200px 40px;
}

.flip-card:hover {
  transform: perspective(1000px) rotateY(180deg);
}

.imgPillars {
  border-radius: 200px 40px 200px 40px;  
}

.imgCrab {
  border-radius: 40px 200px 40px 200px;  
}

  /**************/
 /* Images fin */
/**************/

  /***************************/
 /* Subpages and images fin */
/***************************/


  /*****************/
 /* GoHome button */
/*****************/

.button {
  border: 0px solid transparent;
  border-radius: 4px;
  color: var(--clr-button-text);
  padding: 5px 7px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 4px 2px;
  transition-duration: 0.5s;
  cursor: url("telescope1.svg") var(--cursor-hotspot-telescope-X) var(--cursor-hotspot-telescope-Y), auto;
/*  background-color: var(--clr-button);*/
  background-image: linear-gradient(to top right, var(--clr-button), var(--clr-button-hover));
}

.button:hover, .button:focus {
/*  background-color: var(--clr-button-hover);*/
  background-image: linear-gradient(to top right, var(--clr-button-hover), var(--clr-button-hover));
  border: 0px solid var(--clr-button-hover);
  outline: 1px solid var(--clr-button-text);
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

.a-to-home-btn:hover {
  outline: none;
}

  /*********************/
 /* GoHome button fin */
/*********************/


  /*****************/
 /* Dropdown menu */
/*****************/

.dropbtn {
  border: 0px solid transparent;
  border-radius: 4px;
  color: var(--clr-button-text);
  padding: 5px 7px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 4px 2px;
  transition-duration: 0.5s;
  cursor: url("telescope1.svg") var(--cursor-hotspot-telescope-X) var(--cursor-hotspot-telescope-Y), auto;
/*  background-color: var(--clr-button);*/
  background-image: linear-gradient(to top right, var(--clr-button), var(--clr-button-hover));
}

.dropbtn:hover, .dropbtn:focus {
/*  background-color: var(--clr-button-hover);*/
  background-image: linear-gradient(to top right, var(--clr-button-hover), var(--clr-button-hover));
  border: 0px solid var(--clr-button-hover);
  outline: 1px solid var(--clr-button-text);
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  position: absolute;
  background-color: var(--clr-dropdown-content);
  min-width: 230px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
  opacity: 0;
  overflow: hidden;
  max-height: 0;
  transition: all 0.5s ease-in-out;
  border-radius: 4px;
  line-height: 1.3;
}

.dropdown-content a {
  color: var(--clr-envelope);
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.dropdown-content a:hover, .dropdown-content a:focus {
  background-color: var(--clr-dropdown-content-hover);
  outline: none;
}

.dropdown-content :is(.far, svg) {
  margin-right: 0.5em;
}

.dropdown:hover .dropdown-content, .dropdown:focus .dropdown-content, .dropdown:focus-within .dropdown-content {
  display: block; 
  opacity: 1;
  max-height: 900px;
}

.dropdown:hover .dropbtn, .dropdown:focus .dropbtn {
/*  background-color: var(--clr-button-hover);*/
  background-image: linear-gradient(to top right, var(--clr-button-hover), var(--clr-button-hover));
  border: 0px solid var(--clr-button-hover);
  outline: 1px solid var(--clr-button-text);
}

.divider {
  width: calc(100% - 32px);
  height: 2px;
  border-width: 0;
  background-color: gray;
  margin-left: 16px;
}


.change-icon .fa + .fa,
.change-icon:hover .fa {
  display: none;
}

.change-icon:hover .fa + .fa {
  display: inline-block;
}

.wrapper{
  display: inline-flex;
  justify-content: left;
  align-items: top;
}

.folder-icon{
  width: 1.5rem;
  flex: 0 0 1.5rem;   /* ‹ THIS is the key */
  text-align: center;
  color: var(--clr-envelope);
}

  /*********************/
 /* Dropdown menu fin */
/*********************/


  /**************************/
 /* Publications <details> */
/**************************/

details {
  width: 70%;
  font-size: 1.125rem;
  letter-spacing: 0.02em;
}

details > summary {
  border: 0px solid transparent;
/*  background-color: var(--clr-button);*/
  background-image: linear-gradient(to top right, var(--clr-button), var(--clr-button-hover));
  border-radius: 4px;
  color: var(--clr-button-text);
  padding: 3px 7px 3px 25px;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  font-family: Sans-Serif;
  margin: 3px 3px;
  transition-duration: 0.5s;
  cursor: url("telescope1.svg") var(--cursor-hotspot-telescope-X) var(--cursor-hotspot-telescope-Y), auto;
  white-space: nowrap;
}

details summary::-webkit-details-marker {
  display: none;
}

summary::before {
  content: '';
  border-width: 8px;
  border-style: solid;
  border-color: transparent transparent transparent var(--clr-button-text);
  position: absolute;
  top: 5px;
  left: 7px;
  transform: rotate(0);
  transform-origin: 3px 60%;
  transition: 0.25s transform ease;
}

details[open] > summary::before {
  content: '';
  transform: rotate(90deg);
}

summary:hover {
/*  background-color: var(--clr-button-hover);*/
  background-image: linear-gradient(to top right, var(--clr-button-hover), var(--clr-button-hover));
  border: 0px solid var(--clr-button-hover);
  outline: 1px solid var(--clr-button-text);
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

details[open] + .hubble {
  display: none;
}

  /******************************/
 /* Publications <details> fin */
/******************************/


  /******************/
 /* GoToTop button */
/******************/

#myBtn {
  display: none;
  border: none;
  outline: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 2;
  font-size: 22px;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: green;
  color: var(--clr-GoToTop);
  cursor: url("telescope1.svg") var(--cursor-hotspot-telescope-X) var(--cursor-hotspot-telescope-Y), auto;
  padding: 15px;
}

#myBtn::before,
#myBtn::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
}

#myBtn::before {
  content: '';
  display: grid;
  place-items: center;
  z-index: -1;
  background-color: green;
  transition: transform 0.2s ease-in-out;
}

#myBtn:hover::before,
#myBtn:focus::before {
  transform: scale(0.75);
}

#myBtn::after {
  background: #00FF7F;
  z-index: -2;
  transition: transform 0.2s ease-in-out;
}

#myBtn:hover::after,
#myBtn:focus::after {
  transform: scale(1.4);
}

.btnEntrance {
  animation: btnEntrance 0.4s both;
}

@keyframes btnEntrance {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.btnExit {
  animation: btnExit 0.5s both;
}

@keyframes btnExit {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}

  /**********************/
 /* GoToTop button fin */
/**********************/


  /**********/
 /* Footer */
/**********/

#footer {
  position: fixed;
  padding: 2px 6px 3px 6px;
  left: 0;
  right: 0;
  top: 0;
  bottom: -24px;
  line-height: 1.6;
  border-radius: 5px 5px 0 0;
  transition: bottom, transform, 125ms ease-in;
  font-size: 14px;
  letter-spacing: 0.01em;
  width: fit-content;
  height: fit-content;
  text-align: center;
  margin: auto;
  margin-bottom: 0em;
  overflow: hidden;
}

#footer a:link,
#footer a:visited {
  color: var(--clr-footer);
  text-decoration: none;
  outline: none;
}

#footer:hover {
  border: 0px solid var(--clr-button); /* 3px */
  background-color: var(--clr-box-background);
  bottom: 0;
  transform: scale(1.2);
}

  /**************/
 /* Footer fin */
/**************/


  /*********/
 /* Boxes */
/*********/

.half-box {
  left: calc((100% - var(--paragraph-width))/2);
  position: relative;
  width: max-content;
  padding: 0.5rem 0.5rem 0.75rem 1.5rem;
  border-top: 2px solid var(--clr-button);
}

.half-box::before,
.half-box::after {
  content: '';
  position: absolute;
  background-color: var(--clr-button);
  top: -10px;
  bottom: 8px;
  left: 8px;
  width: 2px;
}


.corner-box {
  --b: 3px;   /* thickness of the border */
  --c: var(--clr-button);   /* color of the border */
  --w: 25%;  /* width of the border */
  
  border: var(--b) solid transparent; /* space for the border */
  --g: #0000 90deg, var(--c) 0;
  background:
    conic-gradient(from 90deg  at top    var(--b) left  var(--b), var(--g)) 0    0,
    conic-gradient(from 180deg at top    var(--b) right var(--b), var(--g)) 100% 0,
    conic-gradient(from 0deg   at bottom var(--b) left  var(--b), var(--g)) 0    100%,
    conic-gradient(from -90deg at bottom var(--b) right var(--b), var(--g)) 100% 100%;
  background-size: calc(var(--w)/6) var(--w);
  background-origin: border-box;
  background-repeat: no-repeat;
  
  /* Placement and sizing */  
  position: relative;
  width: max-content;
  margin: 0 auto;
  padding: 0.5em;
  font-size: 1.2em;
  line-height: 1.5em;
  display: flex;
  justify-content: center;
  align-items: center;
}


.part-box {
  position: relative;
  width: max-content;
  margin: 0 auto;
  padding: 1em;
  font-size: 1.2em;
  line-height: 1.5em;
  display: flex;
  justify-content: center;
  align-items: center;
}

.part-box::before,
.part-box::after {
  content: '';
  position: absolute;
  background-color: var(--clr-button);
  width: 95%;
  height: 2px;
}
.part-box::before {
  left: 0;
  top: 0;
}
.part-box::after {
  right: 0;
  bottom: 0;
}


.no-box {
  position: relative;
  width: max-content;
  max-width: 80vw;
  left: calc((100% - var(--paragraph-width))/2);
  padding: 0.5em 0.5em 0.5em 0;
  font-size: 1.2em;
  font-weight: 900;
  line-height: 1.5em;
  display: flex;
  justify-content: center;
  align-items: center;
}


  /*************/
 /* Boxes fin */
/*************/

.publications {
  width: var(--paragraph-width);
  margin-left: calc((100% - var(--paragraph-width)) / 2);
  margin-right: calc((100% - var(--paragraph-width)) / 2);
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  display: block;
  column-gap: 0.3em;
}
.publications ol {
  padding-left: 1em;
}

  /*********/
 /* Modal */
/*********/

.overlay {
  cursor: url("telescope1.svg") var(--cursor-hotspot-telescope-X) var(--cursor-hotspot-telescope-Y), auto;
  background-color: black;
  opacity: 0.9;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  display: none;
  width: 100%;
  height: 100%;
}
.modal {
  border-radius: 3rem 0.5rem 0.5rem 0.5rem;
  outline: 0px solid var(--clr-button); /* 3px */
  margin-top: -10%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  display: none;
  width: 35rem;
  height: 25rem;
  padding: 1.5rem 1rem 1rem 1rem;
  background-image: linear-gradient(to left bottom, transparent 2rem, var(--clr-box-background) 100%), radial-gradient(circle at 100% 0, transparent 0rem, var(--clr-box-background) 0px);
  position: fixed;
  overflow: visible;
}
.open-modal-input:checked ~ .modal, .open-modal-input:checked ~ .overlay {
  display: block;
}
.open-modal-input:checked ~ .modal {
  margin-top: 0;
  opacity: 1;
  z-index: 2;
  border-radius: 1rem;
  animation: slideInModal .55s ease-out;
  animation-direction: alternate;
  animation-iteration-count: 1;
}
@keyframes slideInModal {
    0% { 
  margin-top: -30%;
  margin-left: -125%;
  opacity: 0;
  }
    100% { 
  margin-top: 0;
  margin-left: 0;
  opacity: 1;
  }
}

.modal iframe {
  width: 35rem;
  height: 25rem;
  border: 0;
}
.open-modal-button svg {
  cursor: url("telescope1.svg") var(--cursor-hotspot-telescope-X) var(--cursor-hotspot-telescope-Y), auto;
}

.close {
  width: 2rem;
  height: 2rem;
  outline: 1px solid var(--clr-button-text);
  border-radius: 50%;
  background-color: var(--clr-button);
  color: var(--clr-button-text);
  cursor: url("telescope1.svg") var(--cursor-hotspot-telescope-X) var(--cursor-hotspot-telescope-Y), auto;
  font-size: 1.5rem;
  position: absolute;
  top: -1rem;
  right: -1rem;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 150ms;
  z-index: 1;
}
.close::before {
  cursor: url("telescope1.svg") var(--cursor-hotspot-telescope-X) var(--cursor-hotspot-telescope-Y), auto;
  content: '\00D7';
  font-weight: 900;
  text-align: center;
  color: var(--clr-button-text);
}
.close:hover,
.close:focus {
  background-color: var(--clr-button-hover);
  box-shadow: 0 0 2px 1px var(--clr-button-text), inset 0 0 1px 1px var(--clr-button-text);
}

  /*************/
 /* Modal fin */
/*************/



  /*****************/
 /* Media queries */
/*****************/

@media (max-width:1425px) {

  .column-left {
    width: 562px;
  }
  .column-right {
    flex: 1;
    width: fit-content;
    padding-left: 0.2em;
  }

  details {
    width: 80%;
  }

  .hubble {
    transform: scale(0.8) translateY(-4em);
  }

  .flip-card {
    left: 0;
    transform: scale(0.8);
  }
  .flip-card:hover {
    transform: perspective(1000px) rotateY(180deg) scale(0.8);
  }

}

@media (max-width: 1178px) {

  * { 
    --paragraph-width: 80%;
  }

  .column-left {
    width: 562px;
  }
  .column-right {
    flex: 1;
    width: fit-content;
    padding-left: 0.2em;
  }

  details {
    width: 92%;
  }

  p {
  width: var(--paragraph-width);
  margin-left: calc((100% - var(--paragraph-width)) / 2);
  margin-right: calc((100% - var(--paragraph-width)) / 2);
  }

  .hubble {
    transform: scale(0.7) translateY(-7em);
  }

  .flip-card {
    margin-left: -2em;
  }

}

@media (max-width: 1080px) {

  .column-left {
    width: 562px;
  }
  .column-right {
    flex: 1;
    width: fit-content;
    padding-left: 0.2em;
  }

  .hubble {
    transform: scale(0.6) translateY(-12em);
  }

  #hiring-columns {
    flex-direction: column;
    gap: 5em;
  }
  #hiring-postdoc, #hiring-students {
    --paragraph-padding: 2em;
    padding: var(--paragraph-padding);
    width: calc(var(--paragraph-width) - 2 * var(--paragraph-padding));
    margin-left: calc((100% - var(--paragraph-width)) / 2);
    margin-right: calc((100% - var(--paragraph-width)) / 2);
  }

  .hiring-span {
    display: block;
    margin-bottom: 2.5em;
    font-size: 1.3em;
  }

}

@media (max-width: 972px) {

  .home-page {
    display: flex;
    flex-direction: column;
    min-width: 100%;
  }
  .column-left {
    min-width: 100%;
  }
  .column-right {
    max-width: 90%;
  }

  .flip-card {
    display: none !important;
  }

}

@media (max-width:960px){

  * { 
    --paragraph-width: 90%;
  }

  html {
    line-height: 1.4;
  }

  .container {
    width: 80%;
  }

  .brightness-box {
    top: 15px;
  }

  p {
  width: var(--paragraph-width);
  margin-left: calc((100% - var(--paragraph-width)) / 2);
  margin-right: calc((100% - var(--paragraph-width)) / 2);
  }

  p.border {
    --paragraph-padding: 1em;
    padding: var(--paragraph-padding);
    width: calc(var(--paragraph-width) - 2 * var(--paragraph-padding));
    margin-left: calc((100% - var(--paragraph-width)) / 2);
    margin-right: calc((100% - var(--paragraph-width)) / 2);
    border: 0px solid var(--clr-button); /* 3px */
    border-radius: 5px; /* 10px */
  }

  .img13-14{
    width: 80%;
  }
  .img0{
    width: 80%;
  }
  .img15{
    width: 70%;
  }
  .img3{
    width: 60%;
  }

  details {
    width: 85%;
  }

  #publications-home {
    margin-left: 1em;
  }

  .publications {
    width: var(--paragraph-width);
    margin-left: calc((100% - var(--paragraph-width)) / 2);
    margin-right: calc((100% - var(--paragraph-width)) / 2);
  }

}

@media (max-width:740px){

  .brightness-box {
    top: 55px;
  }

}

@media (max-width:690px){

  .brightness-box {
    top: 15px;
  }

}

@media (max-width:640px){

  * { 
    --paragraph-width: 100%;
  }

  html {
    padding-bottom: 3.5rem;
    line-height: 1.3;
  }

  .container {
    width: 95%;
  }

  p {
  width: var(--paragraph-width);
  margin-left: calc((100% - var(--paragraph-width)) / 2);
  margin-right: calc((100% - var(--paragraph-width)) / 2);
  }

  strong {
    display: inline;
    transform: translate(0);
    margin-right: 0; 
  }


  p.border {
    --paragraph-padding: 1em;
    padding: var(--paragraph-padding);
    width: calc(var(--paragraph-width) - 2 * var(--paragraph-padding));
    margin-left: calc((100% - var(--paragraph-width)) / 2);
    margin-right: calc((100% - var(--paragraph-width)) / 2);
    border: 0px solid var(--clr-button); /* 3px */
    border-radius: 5px; /* 10px */
  }


  p.drop-caps-1 > strong:nth-of-type(1) {
    font-size: 125%;
    float: none;
    padding-right: 0.8ch;
    font-family: Georgia;
  }

  hr {
    width: 98%;
  }

  .hubble {
    display: none;
  }

  .img15{
    width: 80%;
  }

  .img13-14{
    width: 100%;
  }
  .imgHyperion{
    width: 70%;
  }
  .img0{
    width: 100%;
  }
  .img3{
    width: 90%;
  }

  .imgHyperion:hover, .img15:hover {
    transform: scale(1.5);
    z-index: 1;
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
  }
  .img13-14:hover, .img0:hover, .img3:hover, .img16:hover, .img11:hover, .img12:hover, .imgPhase:hover, .img1:hover, .img2:hover, .img4:hover, .img5:hover, .img6:hover {
    transform: scale(2);
    z-index: 1;
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
  }
  .img7:hover, .img8:hover, .img9:hover, .img10:hover {
    transform: scale(3);
    z-index: 1;
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.3);
  }


  details {
    width: 99%;
  }

  h2 {
    margin-left: 0;
  }

  #about-me {
    width: min(calc(640px - 1em), calc(95% - 1em));
    max-width: calc(640px - 1em);
    padding-left: 1em;
  }

  #publications-home {
    margin-left: 0;
  }

  .publications {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .corner-box {
    width: 90%;
  }

  #hiring-postdoc, #hiring-students {
    --paragraph-padding: 2em;
    padding: var(--paragraph-padding);
    width: calc(95% - 2 * var(--paragraph-padding));
    width: 75%;
    margin-left: var(--paragraph-padding);
    margin-right: var(--paragraph-padding);
  }

}

@media (max-width:630px){

  .brightness-box {
    top: 55px;
  }

}

@media (max-width:573px){

  .brightness-box {
    top: 15px;
  }

  #hiring-postdoc, #hiring-students {
    width: 80%;
    padding-left: 0.666em;
    padding-right: 0.875em;
  }

}

@media (max-width:430px){

  .brightness-box {
    top: 52px;
  }
  #hiring-postdoc, #hiring-students {
    width: 75%;
    padding-left: 0.666em;
    padding-right: 0.875em;
  }

}

@media (max-width:375px){

  .brightness-box {
    top: 15px;
  }

}

@media (max-width:320px){

  html {
    padding-bottom: 3.5rem;
  }

  .container {
    width: 320px;
  }

  p.drop-caps-1 > strong:nth-of-type(1) {
    font-size: 105%;
    float: none;
    padding-right: 1ch;
    font-family: Georgia;
  }

  #about-me {
    width: min(calc(640px - 0em), calc(95% - 0em));
    max-width: calc(640px - 0em);
    padding-left: 0em;
  }

}

@media (max-width:310px){

  .brightness-box {
    top: 90px;
  }

}

@media (max-width:250px){

  .brightness-box {
    top: 15px;
  }

}













