@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

/* Globale Stileinstellungen für die gesamte Webseite */

* {
    margin: 0px;
    padding: 0px;
    font-family: "Rubik", sans-serif;
}

input[type="date"]{
    appearance: none;
}

body {
    min-width: 400px;
}

a {
    text-decoration: none;
}


textarea {
    resize: none;
}


/* ------------[ Hauptklassen ]------------ */

/* Definiert den Hauptcontainer der Webseite */
#wrapper {
    height: 100vh;
    display: flex;
    flex-direction: column;
    z-index: 1;
}

/* Definiert den Style der Webseite */
#content {
    /*Definiert die kind-Elemente im Hauptcontainer*/
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    flex: 1;
    padding-top: 15px;
    padding-bottom: 15px;
    background-image: url("/src/img/background.svg");
    background-position: center;
    background-size: cover;
}

/* Style für den header */
#header {
    display: flex;
    justify-content: space-between;
    color: white;
    padding: 10px 0px;
}

#footer {
    border-top: 1px solid #ffffff4e;
    color: #cccccc;
}







/* ------------[ Navigationsbereich ]------------ */

/* Rückt den Navigationsbereich nach links ein */
#navigation {
    display: flex;
    align-items: center;
    padding-right: 15px;
}

/* Definition des Style für den Navigationsbereich */
#navigation a {
    padding: 10px;
    border-radius: 15px;
}

#navigation a:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

#navigation .active {
    background-color: rgba(255, 255, 255, 0.1);
}

#navigation label {
    padding-right: 5px;
}

/* ------------[ Event-Kärtchen ]------------ */
.eventbody {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.eventbody .wallpaper {
    width: 100%;
    max-width: 180px;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
}

.eventbody:hover .onhover {
    display: contents;
}

.eventbody .onhover {
    display: none;
}

.eventbody .title {
    font-size: 17px;
    font-weight: bold;
}

.subscribed {
    color: red;
}

.unsubscribed {
    color: white;
}


/* [Formulare] */
.fehlermeldung {
    color: #f71735;
}

.fehler {
    border: 2px solid red;
}

#map {
    height: 100%;
    width: 100%;
}

#wallpaper {
    height: 100%;
    width: 100%;
}

#wallpaper img {
    object-fit: contain;
    height: 100%;
    width: 100%;
}

#shareButton {
    padding: 5px 15px;
    border: 2px solid #1b7dcd;
    border-radius: 8px;
    background-color: #1b7dcd;
    color: white;
}

#shareButton:hover {
    border: 2px solid #1b7dcd;
    background-color: #5da2d9;
    color: white;
    text-decoration: underline;
}

/* ------------[ Modale ]------------ */
#loginModal .card, #registerModal .card {
    max-width: 500px;
}

#shareModal .card {
    max-width: 700px;
}





/* ------------[ Misc ]------------ */
.share {
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 5px;
    background-color: rgba(255,255,255,0.6);
    border: 1px solid grey;
    font-size: 14px;
    word-wrap: break-word;
    font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New;
}






/* ------------[ Ladeanimation ]------------ */

#loadingcol {
    text-align: center;
    margin-top: 10%;
    flex-basis: 100%;
    flex-grow: 0;
}

/* von https://cssloaders.github.io/ übernommen */

.loader {
  width: 48px;
  height: 48px;
  display: inline-block;
  position: relative;
}
.loader::after,
.loader::before {
  content: '';  
  box-sizing: border-box;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid #FFF;
  position: absolute;
  left: 0;
  top: 0;
  animation: animloader 2s linear infinite;
}
.loader::after {
  animation-delay: 1s;
}

@keyframes animloader {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}


/* ------------[ Responsive Design ]------------ */

/* Extra small devices (< 600) */
@media only screen and (max-width: 650px) {

    .eventbody {
        flex-direction: column-reverse;
        width: 100%;
    }

    .eventbody .wallpaper {
        object-fit: cover;
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 180px;
    }
}
