*{
    box-sizing: border-box;
}
body{
    display: flex;
    flex-direction: column;
    align-items: center;

    font-family: 'Courier New', serif; /* 'Courier New', "Tinos", serif  */
    font-weight: 400;
    /* font-style: italic; */

    background-color: #00005a;
    color: white;
    padding: 2rem;
    padding-top: 6.5rem;

    overflow-x: hidden;
}
a{
    text-decoration: none;
    color: none;
}
p{
    font-family: Arial, 'Tinos';
    font-weight: 100;
    font-style: normal;
}

.list{
    list-style: none;
}
.emphasized-link{
    font-family: 'Tinos';
    color: #e9e067; /* #d7cc33 */
    cursor: pointer;
}
.close-symbol{
    width: 35px;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
}

.container{
    width: 90%; /* 83.33%, 100% */

    background-color: white;    /* aliceblue, azure */
    color: #00005a;

    border-radius: 1.75rem;
    margin-top: 3rem;
}
.container h2{
    font-size: min( 3rem, 7.5dvw);    /* min( 3rem, 5dvw) */
}
.container p{
    font-size: min( large, 1dvw);

    margin-left: min( 1rem, 1vw);
}

.container_container{
    margin: min( 3.25rem, 5vw);
}

.button {
  background-color: #00005a;
  color: white;
  font-size: 100%;
  border: none;
  border-radius: 0.75rem;
  cursor: pointer;
  overflow: hidden;
  
  width: 40%;
  height: 50px;
  align-self: center;
  margin-top: 5%;
  z-index: 0;

  position: relative;
}
.button::after {
  content: '';
  top: 0px;
  right: 0px;
  height: 100%;
  width: 0px;
  background: linear-gradient(to left, white, 60%, #e9e067);
  border: none;
  border-radius: 0.75rem;
  z-index: -1;
  transition: 150ms ease-in-out;

  position: absolute;
}
.button:hover::after {
  width: 100%;
}
.button:hover {
  color: #00005a;
  background-color: rgba(0, 0, 0, 0); /* da sonst noch die hintergrundfarbe erkennbar ist */
}




#valhalla-representation{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;

    position: relative;
    right: 15%;

    cursor: pointer;

    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

#valhalla-logo{
    width: 60px;
    height: 60px;
}

#website-name{
    font-size: 2.75rem;
}

#about-section{
    margin-top: 6rem;
}

#sm-section{
    display: flex;
    flex-direction: column;
    align-items: center;

    padding-bottom: 2.5rem;
}
.sm_container{
    width: 70%;

    margin-top: 2.75rem;
}
.sm_container h2{
    text-align: center;
    font-size: min( 4rem, 6.5dvw);
}
.sm-symbols{
    display: flex;
    flex-direction: row;
    justify-content: space-between;

    margin-top: 5rem;
}
.sm-symbol{
    width: 40px;
    margin-bottom: 1rem;
    user-select: none;/**/
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
}
@media (max-width: 805px) {
    body{
        padding: 3.9%;
    }

    .sm-symbol {
        width: 30px;
    }

    #valhalla-representation {
        right: auto;
    }

    #website-name{
        font-size: 2.25rem;
    }
}
@media (max-width: 600px) {
    body{
        padding: 2%;
    }

    .sm-symbol {
        width: 23px;
    }

    #website-name{
        font-size: 1.55rem;
    }
}
@media (max-width: 525px){
    p{
        font-size: medium;
    }
}
@media (hover: hover){
  .form__input:hover {
    border: 2px solid rgba(0, 0, 90, 0.6);
  }
}
.sm-symbol-and-name{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.sm-symbol-and-name p{
    font-family: Arial, sans-serif;
    color: #00005a;
    margin: 0;
}

/* FOOTER */
footer{
    width: 100%;
    height: 15rem;
    margin-top: 3rem;
    padding-top: 3.5rem;
    padding-left: 1rem;

    background-color: white;
    font-family: 'Courier New', serif;
    font-style: italic;
    color: #00005a;
    border-radius: 1.75rem;
    user-select: none;
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */

    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}
footer .emphasized-link {
    font-family: 'Courier New', serif;
}
footer div {
    width: 27%;

    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.footer__sm-logos{
    margin-left: 0;

    align-items: flex-end;
    gap: 2rem;
}
.footer__sm-logos img{
    width: 20px;
    height: 20px;
    cursor: pointer;
}

/* REST */
.hidden{
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}
.show{
    opacity: 1;
    visibility: visible;
}

/* OVERLAY */
#overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 90, 0.75);
    z-index: 10;
    transition: opacity 1s ease;
}

/* PopUp */
.popup{
    position: fixed;
    bottom: 0%;
    left: 50%;
    transform: translateX(-50%) translateY( 50%);
    z-index: 20;
    transition: bottom 1s ease;
}
.popup.show{
    bottom: 50vh;
}
.popup.container{
    background-color: aliceblue;    /* lightblue */
    margin-top: auto;
    padding: min( 3.25rem, 5vw);
}
.popup.container h2 {
    /* padding-top: calc( 5% + 35/2.0); */
    padding-right: 8%;
    font-size: min( 6dvw, 3rem);  /* min( , 3.5rem) */
}
.popup_close-symbol{
    position: absolute;
    top: 5%;    /* max( 5%, 20px) */
    right: 7.5%;    /* max( 7.5%, 30px) */
}

/* IMPRESSUM */
#imp_title{
    margin-top: 4rem;
    margin-left: 3%;
}
#imp_angaben{
    margin-top: 4rem;
    margin-left: 10%;
    margin-bottom: 4.5rem;
}
#imp_anschrift{
    margin-left: 1rem;
    margin-bottom: 2.5rem;
}
#imp_anschrift p{
    margin-left: 0;
}