body {
    background-image: url(/images/backgroundgrey.png);
    background-size: 90%;
}

.contact-grid {
    width: 90%;
    margin: 5%;
    margin-top: 4em;
    padding-top: 2em;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 180px min-content min-content min-content;
    grid-template-areas:
    "logo"
    "title"
    "detalle"
    "form";
    text-align: center;
    color: #212121;
    background-color: white;
}

.title {
    grid-area: title;
    font-weight: 400;
}

.logo {
    width: 180px;
    height: 180px;
    grid-area: logo;
    background-color: white;
    border-radius: 50%;
    margin: 0 auto;
}

.logo img {
    width: 100%;
}

.detalle {
    grid-area: detalle;
    font-weight: 300;
    padding: 1em 2em;
    text-align: justify;
}

form {
    padding: 2% 5% 5%;
    margin: 0 6.5%;
    display: flex;
    flex-direction: column;
    grid-area: form;
    box-sizing: border-box;
}

:invalid {
    box-shadow: none;
}

.contact-form {
    position: relative;
    margin: 0.5em;
    padding: 0;
}

.contact-form input {
    border: 1px solid #bdbdbd;
    padding: 16px 13px;
    font-size: 16px;
    border-radius: 5px;
    color: #212121;
    width: 100%;
    box-sizing: border-box;
}

.contact-form input:valid + .label-name {
    top: -8px;
    padding: 0 3px;
    font-size: 14px;
    color: #bdbdbd;
}

.contact-form input:hover {
    border: 1px solid #212121;
}

.contact-form input:focus {
    border: 2px solid #2196F3;
}

.contact-form input:focus + .label-name{
    top: -8px;
    padding: 0 3px;
    font-size: 14px;
    color: #2196F3;
}

.label-name {
    color: #bdbdbd;
    position: absolute;
    top: 18px;
    left: 13px;
    background: white;
    pointer-events: none;
    transition: 0.2s;
}

.message-area {
    position: relative;
    margin: 0.5em;
}

textarea {
    resize: none;
    outline: none;
    border: 1px solid #bdbdbd;
    padding: 16px 13px;
    font-size: 16px;
    border-radius: 5px;
    color: #212121;
    width: 100%;
    box-sizing: border-box;
}

.message-area textarea:valid + .label-msg {
    top: -7px;
    padding: 0 3px;
    font-size: 14px;
    color: #bdbdbd;
}

.message-area textarea:hover {
    border: 1px solid #212121;
}

.message-area textarea:focus {
    border: 2px solid #2196F3;
}

.message-area textarea:focus + .label-msg{
    top: -7px;
    padding: 0 3px;
    font-size: 14px;
    color: #2196F3;
}

.label-msg {
    color: #bdbdbd;
    position: absolute;
    top: 18px;
    left: 13px;
    background: white;
    pointer-events: none;
    transition: 0.2s;
}

.submit-btn {
    border: none;
    background-color: #FFC107;
    height: 50px;
    border-radius: 5px;
    box-sizing: border-box;
    width: calc(100% - 1em);
    margin: 0.5em;
    font-size: 16px;
}

.captcha-container {
    margin: 0.5em;
    width: calc(100% - 1em);
    box-sizing: border-box;
}

@media only screen and (min-width: 768px) {
    .contact-grid {
        margin-top: 5em;
        padding-top: 5em;
        /* height: calc(100vh - 2em - 73.4px); */
        grid-template-columns: 50% 50%;
        grid-template-rows: auto 99px auto auto;
        grid-template-areas:
        "title logo"
        "form  logo"
        "form  detalle"
        "form  detalle";
    }
}

@media only screen and (min-width: 900px) {
    body {
        background-size: 55%;
    }
    .contact-grid {
        width: 75%;
        margin: 5em 12.5%;
        height: calc(100vh - 2em - 73.4px - 10%);
    }
}