* {
  -webkit-transition:background-color var(--animation-delay-flash) linear;
  -ms-transition:background-color var(--animation-delay-flash) linear;
  transition:background-color var(--animation-delay-flash) linear;
}

html {
  scroll-behavior: smooth;
}

body {
  height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
  background-color: var(--background-color);
  color: var(--text-color);
  visibility: hidden;
}

footer {
  margin-top: auto;
  padding-bottom: 5px;
}

/* .light-theme { */
html {
  --background-color: #fafafa;
  --text-color: #000000;
  --sidebar-background: #D3D3D3;
  --theme-change-button: #2E3440;
  --button-hover: #C1C1C1;
  --button-active: #B5B4B4;
  --h1-color: #4650a0;
  --h2-color: #852e9c;

  --calendar-background: #D3D3D3;
  --active-day: #2022b0;
  --event-day: #690782;
}

.dark-theme { /* partially nord theme - nordtheme.com */
  --background-color: #252A33 /*#2E3440*/;
  --text-color: #f9fafc;
  --sidebar-background: #3B4252;
  --theme-change-button: #e9eaed;
  --button-hover: #485064;
  --button-active: #515A71;
  --h1-color: #abb4ff;
  --h2-color: #EBCB8B;

  --calendar-background: #3B4252;
  --active-day: #f6d592;
  --event-day: #b3ddff;
}

h1, h2, h3, h4, .header-text, calendar-header {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  text-align: center;
}

p, span, li, a, calendar-text {
  font-family: 'Open Sans', sans-serif;
}

a {
  color: var(--h1-color);
  transition: 150ms;
}

a:hover {
  color: var(--h2-color);
}

button:hover {
  cursor: pointer;
}

.button {
  color: var(--text-color);
  text-decoration: none;
  background-color: var(--sidebar-background);
  text-align: center;
  border-radius: 5px;
  padding: 5px 10px;
  font-family: 'Open Sans', sans-serif;
  border: none;
}

.button:hover {
  color: var(--text-color);
  background-color: var(--button-hover);
}

.button:active {
  background-color: var(--button-active);
}

calendar-text, calendar-header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 5px;
}

#navbar-buttons > a {
  margin-right: 5px;
}

#theme-change-button {
  background-color: var(--theme-change-button);
}

/* Phone */
@media (max-width: 599px) {
  .hide-mobile {
    display: none;
  }
  #navbar {
    justify-content: center;
  }
  #navbar-buttons {
    margin-right: 5px;
  }
}

/* Tablet portrait up */
@media (min-width: 600px) {
  .hide-mobile {
    display: block;
  }
  #navbar {
    justify-content: space-between;
  }
  #navbar-buttons {
    margin-right: 0px;
  }
}

@font-face {
  font-family: 'Montserrat'; /* latin */
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/montserrat-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Montserrat'; /* latin-ext */
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/montserrat-latin_ext.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}


@font-face {
  font-family: 'Open Sans'; /* latin */
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/opensans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Open Sans'; /* latin-ext */
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/opensans-latin_ext.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
