﻿@font-face {
  font-family: "Nunito-Light";
  src: url("../../fonts/Nunito-Light.ttf");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Nunito-Regular";
  src: url("../../fonts/Nunito-Regular.ttf");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Nunito-Bold";
  src: url("../../fonts/Nunito-ExtraBold.ttf");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Winter";
  src: url("../fonts/The-Perfect-Christmas.ttf");
  font-weight: 300;
  font-style: normal;
}
html, body, .page {
  font-family: Nunito-Light, sans-serif;
  min-height: 100vh;
}

a, .btn-link {
  color: #0366d6;
}
a:hover, .btn-link:hover {
  color: var(--button);
  text-decoration: none;
}

p a {
  text-decoration: underline;
  color: black;
}
p a:hover {
  text-decoration: underline;
}

.about a {
  text-decoration: underline;
  color: black;
}
.about a:hover {
  text-decoration: underline;
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-track {
  background: var(--background);
}

::-webkit-scrollbar-thumb {
  background: #424240;
}

::-webkit-scrollbar-thumb:hover {
  background: #424240;
}

h1 {
  font-family: Nunito-Bold;
  padding-bottom: 0.75rem;
}

h2 {
  font-family: Nunito-Regular;
  padding-bottom: 0.5rem;
}

.btn {
  border-radius: 0;
  border: none;
}
.btn:hover {
  border: none;
}

.btn-primary {
  color: var(--background);
  background-color: var(--button);
}
.btn-primary:hover {
  color: var(--button);
  background-color: var(--background);
}
.btn-primary:active, .btn-primary:focus {
  color: var(--background) !important;
  background-color: var(--button) !important;
  border: none !important;
  box-shadow: none !important;
}

.valid.modified:not([type=checkbox]) {
  outline: 1px solid #26b050;
}

.invalid {
  outline: 1px solid red;
}

.validation-message {
  color: red;
}

#blazor-error-ui {
  background: lightyellow;
  bottom: 0;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
  display: none;
  left: 0;
  padding: 0.6rem 1.25rem 0.7rem 1.25rem;
  position: fixed;
  width: 100%;
  z-index: 1000;
}

#blazor-error-ui .dismiss {
  cursor: pointer;
  position: absolute;
  right: 0.75rem;
  top: 0.5rem;
}

#school-name {
  opacity: 0;
}

#school-name.show {
  opacity: 1;
  transition: opacity 3s;
}

.navbar {
  text-align: center;
  background-color: #424240;
  font-family: Nunito-Bold;
  text-transform: uppercase;
  z-index: 1;
}
@media (max-width: 1080px) {
  .navbar {
    position: unset !important;
  }
}
.navbar .nav-link {
  color: #292928 !important;
  cursor: pointer;
  padding: 0.5rem 1rem;
}
.navbar .drop-menu {
  position: absolute;
  color: #292928;
  font-family: Nunito-Regular;
  min-width: 100%;
  text-align: left;
  left: 0;
}
.navbar .drop-menu a {
  color: #292928;
}
.navbar .drop-menu a:hover {
  color: #292928;
  background-color: var(--nav-hover);
  cursor: pointer;
}
.navbar .drop-menu a:active {
  color: #292928;
  background-color: var(--nav-hover);
}
.navbar .nav-item:hover {
  background-color: var(--nav-hover);
}
.navbar .nav-item:hover a:not(.dropdown-item), .navbar .nav-item:hover div:not(.drop-menu) {
  color: #292928 !important;
}

.nav-photo {
  width: 100%;
  object-fit: cover;
  max-height: 400px;
}
@media (min-width: 1700px) {
  .nav-photo {
    max-height: 500px;
  }
}
@media (min-width: 3000px) {
  .nav-photo {
    max-height: 700px;
  }
}

.nav-bar {
  color: #d4d4d4;
  border: none;
  background-color: transparent;
  margin-left: auto;
  padding: 8px;
}
.nav-bar:focus {
  outline: none;
}

@media (max-width: 1080px) {
  #navbarSupportedContent {
    display: none;
  }
}

#hamburger {
  display: grid;
}
@media (min-width: 1081px) {
  #hamburger {
    display: none;
  }
}
#hamburger .hamburger {
  color: #d4d4d4;
  background-color: #424240;
  width: 100%;
}
#hamburger .hamburger a {
  color: #d4d4d4;
}
#hamburger .hamburger a:hover {
  text-decoration: none;
}
#hamburger .hamburger div {
  cursor: pointer;
  padding: 0.25rem 0.25rem;
  text-align: left;
}
#hamburger .hamburger div:hover {
  background-color: var(--nav-hover);
  color: #292928;
}

footer {
  background-color: #424240;
  color: #292928;
  display: flex;
  margin-top: auto;
  padding: 0.5rem;
}
footer a {
  color: #d4d4d4;
}

#body-background {
  background-position: center;
  background-size: cover;
  height: 100%;
  flex-grow: 1;
}

.content {
  width: 100%;
  /*  max-width: 1000px;
    min-width: 600px;*/
  background-color: var(--background);
  padding: 4rem 4rem;
}
@media (max-width: 800px) {
  .content {
    width: 90%;
    padding: 3rem 3rem;
  }
}
@media (max-width: 600px) {
  .content {
    width: 100%;
    min-width: auto;
    padding: 2rem 1rem;
  }
}

.article {
  background-color: var(--article-bg);
  padding: 2rem;
  margin: 1rem 0;
}
.article img {
  width: 50%;
}
@media (max-width: 800px) {
  .article img {
    width: 100%;
    max-width: 600px;
  }
}
.article div {
  flex-direction: row;
}
@media (max-width: 800px) {
  .article div {
    flex-direction: column;
  }
  .article div p {
    padding-top: 0.75rem;
  }
}

.info {
  margin: 1rem 0;
  background-color: var(--article-bg);
  padding: 2rem;
}

.article-detail {
  background-color: var(--article-bg);
  padding: 2rem;
  margin: 0;
}
.article-detail img {
  width: 100%;
  margin-bottom: 0.5rem;
  height: 100%;
  object-fit: cover;
}

.hidden {
  display: none;
}

.toggled:hover {
  cursor: pointer;
}

.about {
  margin: 1rem 0;
  background-color: var(--article-bg);
  padding: 2rem;
}
@media (max-width: 600px) {
  .about {
    padding: 1.5rem 1rem;
  }
}

.person {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  border-bottom: 1px solid var(--button);
  padding: 0.25rem 0.5rem;
}
.person .name {
  flex-basis: 0;
  flex-grow: 1;
  min-width: 200px;
}
.person .position {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
  min-width: 135px;
}
.person .mail {
  flex-basis: 0;
  flex-grow: 1;
  text-align: right;
  min-width: 250px;
}

.cursor-pointer:hover {
  cursor: pointer;
}

#gallery .close {
  color: #d4d4d4;
  text-shadow: 0 0 4px black;
  opacity: 1;
}
#gallery .modal-gallery {
  pointer-events: auto;
  margin: auto;
  width: 80%;
  text-align: center;
}
@media (max-width: 500px) {
  #gallery .modal-gallery {
    width: 100%;
  }
}
#gallery .modal-gallery img {
  max-width: 100vh;
  max-height: 90vh;
  margin: 0;
  height: auto;
  width: 100%;
}
#gallery .gallery-nav {
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 10;
  top: 0;
  right: 0;
  display: flex;
}
#gallery .gallery-nav .prev, #gallery .gallery-nav .next {
  color: #d4d4d4;
  text-shadow: 0 0 4px black;
  height: 100%;
  vertical-align: middle;
  width: 100px;
  display: flex;
}
#gallery .gallery-nav .prev:hover, #gallery .gallery-nav .next:hover {
  cursor: pointer;
  opacity: 0.7;
}
#gallery .gallery-nav .prev:hover i, #gallery .gallery-nav .next:hover i {
  opacity: 1;
}
#gallery .gallery-nav .prev:hover {
  background-image: linear-gradient(to right, var(--nav-hover), rgba(255, 0, 0, 0));
}
#gallery .gallery-nav .next:hover {
  background-image: linear-gradient(to right, rgba(255, 0, 0, 0), var(--nav-hover));
}

.position-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

.will-fadeIn {
  opacity: 0;
}

.fadeInRight {
  -webkit-animation: fadeInRight 1s ease .1s both;
  -moz-animation: fadeInRight 1s ease .1s both;
  -ms-animation: fadeInRight 1s ease .1s both;
  -o-animation: fadeInRight 1s ease .1s both;
  animation: fadeInRight 1s ease .1s both;
}
@media (prefers-reduced-motion) {
  .fadeInRight .animated {
    -webkit-animation: unset !important;
    animation: unset !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}

.fadeInLeft {
  -webkit-animation: fadeInLeft 1s ease .1s both;
  -moz-animation: fadeInLeft 1s ease .1s both;
  -ms-animation: fadeInLeft 1s ease .1s both;
  -o-animation: fadeInLeft 1s ease .1s both;
  animation: fadeInLeft 1s ease .1s both;
}
@media (prefers-reduced-motion) {
  .fadeInLeft .animated {
    -webkit-animation: unset !important;
    animation: unset !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@-moz-keyframes fadeInRight {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@-ms-keyframes fadeInRight {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@-o-keyframes fadeInRight {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@-moz-keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@-ms-keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@-o-keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
  }
}
.main {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.admin-main {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}
.admin-main .body {
  width: calc(100% - 150px);
}
@media (max-width: 600px) {
  .admin-main .body {
    width: 100%;
  }
}
.admin-main button {
  background-color: #130854;
  color: #ffffff;
  border: none;
  padding: 0.5rem 1rem;
}
.admin-main button:hover {
  background-color: #ffffff;
  color: #130854;
}
.admin-main .sidebar-right {
  min-height: calc(100vh - 73px);
  background-color: #130854;
  width: 150px;
}
@media (max-width: 600px) {
  .admin-main .sidebar-right {
    display: none;
  }
}
.admin-main .sidebar-right div {
  color: white;
  padding: 0.5rem 1rem;
}
.admin-main .sidebar-right div:hover {
  color: #130854;
  background-color: white;
  cursor: pointer;
}
.admin-main .body {
  min-width: 80%;
  max-width: 100%;
}
.admin-main .box {
  background-color: #130854;
  padding: 1.25rem;
}
@media (max-width: 600px) {
  .admin-main .box {
    padding: 0.5rem;
  }
}
.admin-main .box .article {
  background-color: #e6f3fa;
  padding: 0.5rem 1rem;
  margin: 0;
  border-bottom: 1px solid #130854;
}
.admin-main .small-info {
  margin-bottom: 0.25rem;
  font-size: 0.7em;
  font-style: italic;
  margin-left: 0.25rem;
}

.auto-hide {
  display: flex;
}
@media (max-width: 600px) {
  .auto-hide {
    display: none;
  }
}
.auto-hide div {
  margin: auto 0;
}

#hamburger-admin {
  display: grid;
}
@media (min-width: 600px) {
  #hamburger-admin {
    display: none;
  }
}
#hamburger-admin .hamburger {
  color: white;
  background-color: #130854;
  width: 100%;
  text-align: left;
}
#hamburger-admin .hamburger a, #hamburger-admin .hamburger button {
  color: white !important;
}
#hamburger-admin .hamburger a:hover, #hamburger-admin .hamburger button:hover {
  text-decoration: none;
  color: #130854 !important;
  background-color: white !important;
}
#hamburger-admin .hamburger div {
  color: white;
  padding: 0.5rem 1rem;
}
#hamburger-admin .hamburger div:hover {
  color: #130854;
  background-color: white;
  cursor: pointer;
}

.loading {
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  right: 0;
  top: 0;
  z-index: 2;
  display: flex;
}

.text-ellipsis {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 20px;
}

.gallery-label {
  background: black;
  color: white;
  padding: 0.5rem;
  opacity: 0.7;
}

canvas {
  max-width: 100%;
}

.table tr td {
  border-color: #343a40;
}
.table thead tr th {
  border-bottom: 2px solid;
}
.table tfoot tr td {
  border-top: 2px solid;
}
