* {
    margin: 0;
    padding: 0;
    font-family: 'Segoe UI', sans-serif;
}

/* Fatben definieren */
:root {
    --main-gray: #707070;
    --main-green: #73AFA3;
    --button-red: #AF7375;
    --color-white: #FFFFFF;
}

#body {
    background-color: var(--main-green);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100vh;
}

#container {
    background-color: var(--color-white);
    padding: 1% 3%;
    border-radius: 35px;
    min-width: 25%;
}

h1 {
    color: var(--main-gray);
    margin-bottom: 50px;
}

/* form styling (auch inputs und links)*/

form {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

label {
    color: var(--main-gray)
}

input {
    color: black;
}

.labelInput {
    pointer-events: none;
    color: var(--main-gray);
}

.userInput {
    width: 100%;
}

.userInput, .input_form {
    color: var(--main-gray);
    border: 1px solid var(--main-gray);
    border-top: none;
    border-left: none;
    border-right: none;
    margin-bottom: 20px;
}

#register-form {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.inline {
    width: 100%;
    display: flex;
}

.zip_left {
    width: 30%;
    padding: 0 5% 0 0;
}

.city_right {
    width: 60%;
    padding: 0 0 0 5%;
}

.street_left {
    width: 60%;
    padding: 0 5% 0 0;
}

.nr_right {
    width: 30%;
    padding: 0 0 0 5%;
}

.left {
    width: 45%;
    padding: 0 5% 0 0;
}

.right {
    width: 45%;
    padding: 0 0 0 5%;
}

.flex {
    display: flex;
}

#last_name, 
#first_name, 
#email, 
#country, 
#zip, 
#city,
#street, 
#nr, 
#first_password, 
#password_check {
    width: 100%;
}

.userInput:focus, .input_form:focus {
    border: 1px solid var(--button-red);
    border-top: none;
    border-left: none;
    border-right: none;
}

#passwordUser {
    margin-bottom: 30px;
}

input:active, input:focus {
    outline: none;
}

input[type=submit], .button_validated {
    width: 100%;
    background-color: var(--button-red);
    color: var(--color-white);
    border-radius: 20px;
    box-shadow: none;
    border: none;
    height: 80px;
    font-size: 28px;
    font-family: 'Segeo UI', sans-serif;
    font-weight: 500;
    margin-top: 40px;
}

#registerLink:hover, #registerLink, #registerLink:active {
    color: var(--main-gray);
    text-decoration: none;
    cursor: pointer;
}

select {
    border: none;
    border-bottom: 1px solid var(--main-gray);
    color: var(--main-gray);
}

select:focus {
    outline: none;
}

#comment {
    resize: none;
    border: 1px solid var(--main-gray);
    border-radius: 10px;
    padding: 1%;
    width: 98%;
}

#comment:focus {
    outline: none;
    border: 1px solid var(--main-gray);
}

label:last-of-type {
    margin-bottom: 10px;
}

.agb {
    margin: 40px 0 0 0;
}

#label_AGB {
    margin: none;
    padding-left: 5px;
}

#agb {
    margin-top: 4px;
}

img {
    width: 90px;
    height: 90px;
    position: absolute;
    top: 90%;
}

.err {
    position: relative;
    top: -15px;
    font-size: 10px;
    color: var(--button-red);
}

.err_country {
    position: relative;
    top: 5px;
    font-size: 10px;
    color: var(--button-red);
}

.validated-text {
    color: var(--main-gray);
    font-size: 25px;
    margin: 5% 0;
    text-align: center;
}

#container-validated {
    background-color: var(--color-white);
    padding: 1% 3%;
    border-radius: 35px;
    min-width: 25%;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

header {
    height: 10vh;
    position: fixed;
}

@media screen and (max-height: 900px) {
    img {
      height: 50px;
      width: 50px;
      top: 95%;
    }
}

@media screen and (max-height: 800px) {
    img {
      height: 30px;
      width: 30px;
      top: 97%;
    }
}

@media screen and (max-height: 700px) {
    img {
      display: none;
    }
}

@media screen and (max-width: 400px) {
    img {
      display: none;
    }
}

@media screen and (max-width: 850px) {
    body {
        padding: 0 5%;
    }
}

@media screen and (max-width: 430px) {
    #container {
        padding: 5%;
    }
    
    .left {
        width: 100%;
    }

    .right {
        width: 100%;
    }
}