* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

body {
    background-color: #eef5ff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.header {
    font-size: 25px;
}

div {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 20px;
}

label div {
    margin: 0 0 7px;
}

input {
    width: 40%;
    border-radius: 10px;
    font-size: x-large;
    padding: 5px;
    margin-top: 5%;
}

.container {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin-bottom: 10%;
}

img {
    border-radius: 10px;
}

.input-hidden {
    display: none;
}

input[type=radio]:checked + label > img {
    border: 1px solid #fff;
    box-shadow: 0 0 3px 3px rgb(89, 128, 146);
    transform: scale(1.1);
}

input[type=radio] + label > img {
    border: 1px dotted rgb(175, 173, 173);
    width: 150px;
    height: 150px;
    transition: 500ms all;
}

#email.shake {
    animation: shake 0.5s infinite;
}

.instruction {
    display: none;
    flex-direction: column;
    align-items: center;
}

.instruction img {
    width: 400px;
    margin: 3px 3px 20px;
}

.additional_inst {
    max-width: 400px;
}

.email_container {
    position: relative;
}

.email,
.server,
.user,
#i_last_domain,
#i_middle_domain {
    text-align: start;
    border-radius: 5px;
    position: absolute;
    white-space: nowrap;
    font-size: 22px;
}

#i_em5,
#i_em6,
#i_em7,
#i_em8 {
    font-size: 28px;
    top: 18.4%;
    left: 28%;
}

#i_em8 {
    top: 13.5%;
}

#i_middle_domain {
    top: 39.3%;
}

#i_user {
    left: 40%;
    top: 46.4%;
}

#i_server {
    top: 26.7%;
    left: 27%;
}

#i_last_domain {
    text-align: center;
    left: 43%;
    top: 32.9%;
    font-size: 20px;
    font-weight: bold;
}

#s_em4,
#s_server,
#s_user {
    left: 6%;
}

#s_user {
    top: 18.5%;
}

#s_em4 {
    top: 23.5%;
}

#s_server {
    top: 43.5%;
}

#x_em4 {
    top: 34%;
    left: 8%;
    font-size: 20px;
}

#x_em5 {
    top: 20%;
    left: 7%;
}

#x_em10 {
    top: 40%;
    left: 18%;
}

#x_user {
    top: 29%;
    left: 10%;
}

#x_server6 {
    top: 16.5%;
    left: 9%;
}

#x_server7 {
    font-size: 16px;
    top: 44%;
    left: 31%;
}

@media screen and (max-width: 550px) {
    div {
        margin: 0 10px;
    }

    .container {
        flex-direction: column;
    }

    .instruction img {
        width: 200px;
    }

    input {
        width: 60%;
    }

    .email,
    .user,
    .server,
    #i_middle_domain {
        font-size: 12px !important;
    }

    #i_server {
        top: 26%;
    }

    #i_user {
        top: 45%;
    }

    #i_last_domain {
        top: 32.5%;
        font-size: 9px;
    }

    #s_em4 {
        top: 23%;
    }

    #s_user {
        top: 18%;
    }

    #s_server {
        top: 42.5%;
    }

    #x_server7 {
        top: 42.5%;
        font-size: 8px !important;
    }

}

@keyframes shake {

    10%,
    90% {
        transform: translate3d(-1px, 0, 0);
    }

    20%,
    80% {
        transform: translate3d(2px, 0, 0);
    }

    30%,
    50%,
    70% {
        transform: translate3d(-4px, 0, 0);
    }

    40%,
    60% {
        transform: translate3d(4px, 0, 0);
    }
}