* {
    box-sizing: content-box;
    font-family: 'Inter', sans-serif;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #e4e4e4;
}
body::after {
    width: 35%;
    height: max(20em, 70%);
    content: '';
    background: transparent url(/src/blue-circle.png) no-repeat;
  -webkit-background-size: cover;
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;

    
    z-index: -100;
}


h1 {
    text-align: center;
    letter-spacing: -1px;
    padding:1em;
    color: #2d3947;
    font-weight: 600;
    font-size: clamp(30px, 3vw, 40px)
}
h2 {
    letter-spacing: -1px;
    color: #2d3947;
    font-weight: 500;
    font-size: clamp(20px, 2vw, 30px)
}



.form-control {
    background-color: transparent;
    color: #2d3947;
    font-size: 16px;
    display: block;
    height: 34px;
    padding: 6px 12px;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
  -webkit-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    margin: 5px 0;
    border-bottom: 2px solid #536883;
}

.form-control, .form-control:focus {
  -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
}
.form-control:focus {
    border-bottom: 2px solid #82a1c9;
}

.adress-box {
    border: #2d3947 1px solid;
    position: relative;
  -webkit-box-shadow:  -3px 3px 10px 1px #2d394744;
    box-shadow:  -3px 3px 10px 1px #2d394744;
    margin: 1em;
    padding: 1em;
    overflow: visible;
    margin-bottom: 0;
      color: #2d3947;
}
.adress-box:after {
    position: absolute;
    top: -100%;
    left: 7.5%;
    content: "";
    background: transparent url(../src/christiane3.jpg) no-repeat;
  -webkit-background-size: cover;
    background-size: cover;
  -webkit-background-position: 50%;
    background-position: 50%;
  background-position-x: 70%;
    width: 85%;
  -webkit-border-radius: 50%;
    border-radius: 50%;
    height: 110%;
  -webkit-box-shadow:  -3px 3px 10px 1px #2d394744;
    box-shadow:  -3px 3px 10px 1px #2d394744;
}

.form-control.invalid{
    border-bottom: 2px rgb(200, 58, 58) solid;
}
.form-control.invalid::placeholder {
    color: rgb(200, 58, 58);
}
textarea, textarea.form-control {
    height: auto;
}

.form-div a, .form-div span {
    color: #2d3947;
}
.form-div p {
    color: #2d3947;
    font-size: 0.8em;
}
button {
    margin: 2em auto;
    padding: 1em 2em;
    background-color: #536883;
    color: white;
    font-size: 1em;
  -webkit-box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    border: 1px solid #3b4a5d;
  -webkit-border-radius: 1rem;
    border-radius: 1rem;
  -webkit-transition: all 500ms;
    transition: all 500ms;
}

.c {
    border-bottom: #2d3947 1px solid;
    padding-bottom: 1em;
      color: #2d3947;
}
.c p {
    color: #2d3947;
}
main {
    overflow: visible;
}
button:hover{
    background-color: #82a1c9;
}

@media only screen and (max-width: 550px) {
    body::before {
        width: 40em;
        height: 40em;
        content: '';
        background-color: #536883;
        position: absolute;
        top: 60%;
        right: 80%;
      -webkit-border-radius: 50%;
        border-radius: 50%;
      -webkit-box-shadow: 0 0 20px 20px #536883;
        box-shadow: 0 0 20px 20px #536883;
    
        
        z-index: -100;
    }
    .form-div {
        text-align: center;
    }
    .form-control {
        margin: 5px auto;
        width: 90%;
    }
    .adress-box {
        height: max-content;
        max-width: max-content;
        margin: 20em auto 5em auto;
    }
}
@media only screen and (max-width: 366px) {
    .adress-box {
        height: max-content;
        max-width: max-content;
        margin: 17em 1em 5em 1em;
    }
      .adress-box:after {
        top: -115%;
        height: 120%;
    }
}

@media only screen and (min-width: 550px) {
    main {
        margin: 2em;
    }
    .adress-box {
        height: max-content;
        width: max-content;
        margin: 20em auto 0 auto;
    }
    form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 1em;       
    }

    #betreff {
        grid-column: 1 / 3;
    }
    #msg {
        grid-column: 1 / 3;
    }
    button {
        padding-top: 1em;
        margin-top: 1em;
    }
    .form-div p {
        padding-left: 2em;
    }
}

@media only screen and (min-width: 1080px) {
    .form-div {
        width: 55%;
    }
    .adress-box {
        margin-bottom: 3em;
    }
    main {
        width: 90%;
        margin: -6em 0 2em 0;
        display: flex;
        justify-content: space-evenly;
        align-items: flex-end;
    }
}

@media only screen and (max-width: 1000px) {
  .adress-box {
  	margin-top: 20em;
  }
    body:after {
        width:50%
    }
}