/*  */
:root {
    --pg-clr1: black;
    --pg-clr2: white;
    --pg-clr3: #1abc9c;
    --pg-clr4: #f9f9f9;
    --pg-clr5: #096451;
}

.s1 {
    color: var(--pg-clr1);
    background-color: var(--pg-clr2);

    margin-top: 3rem;
    margin-bottom: 3rem;
}

.s1-r1 {
    width: 90%;
    max-width: 80rem;
    margin-inline: auto;

    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

.s1-r1-b1--img-c1 {
    max-width: 70%;
}


.s1-r1-b2 {
    display: grid;
    grid-template-columns: 1fr;
    /* gap: 1rem; */
    /* grid-template-rows: min-content; */
}

.s1-r1-b2--h1-c1 {
    text-transform: capitalize;
    font-size: 1.4rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

.s1-r1-b2--spn-c1 {
    color: var(--pg-clr5);
    font-weight: 700;
}

.s1-r1-b2--p-c1 {
    font-size: 1rem;
    /* line-height: 1.7em; */
    color: var(--pg-clr5);
    margin-bottom: .5rem;
}

.s1-r1-b2--p-c2 {
    font-size: 1rem;
    /* line-height: 1.7em; */
    margin-bottom: .125rem;
}

.s1-r1-b2--p-c3 {
    font-size: 1rem;
    /* line-height: 1.7em; */
    color: var(--pg-clr5);
    margin-top: .5rem;
    margin-bottom: 2rem;
}

.s1-r1-b2--a-c1 {
    place-self: end start;
    padding: 1rem;
    background-color: var(--pg-clr1);
    color: var(--pg-clr2);
    letter-spacing: 1px;
    font-size: 1.1rem;
}

.s1-r1-b2--a-c1:hover {
    background-color: var(--pg-clr3);
}

@media (min-width: 48rem) {
    .s1 {
        margin-top: 5rem;
    }

    .s1-r1 {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
        align-items: start;
    }

    .s1-r1-b1--img-c1 {
        max-width: 100%;
    }

    .s1-r1-b2--h1-c1 {
        font-size: 1.7rem;
    }

    .s1-r1-b2--p-c1 {
        font-size: 1.1rem;
        /* line-height: 1.8em; */
    }

    .s1-r1-b2--p-c2 {
        font-size: 1.1rem;
        /* line-height: 1.8em; */
    }

    .s1-r1-b2--p-c3 {
        font-size: 1.1rem;
        /* line-height: 1.8em; */
    }

}

/*  */

.s2 {
    color: var(--pg-clr1);
    background-color: var(--pg-clr4);

    padding-top: 2rem;
    padding-bottom: 5rem;
}

.s2-r1 {
    width: 90%;
    max-width: 80rem;
    margin-inline: auto;

    display: grid;


    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
}

/* + */



/* + */

.s2-r1-b1 {
    display: grid;
    grid-template-columns: 1fr;
    /* grid-auto-rows: min-content; */
    gap: 1rem;
}

/*  */

.s2-r1-b1--h2-c1 {
    font-size: 1.4rem;
}

.s2-r1-b1--spn-c1 {
    color: var(--pg-clr5);
    font-weight: 700;
    text-transform: capitalize;
}

.s2-r1-b1--p-c1 {
    font-size: 1rem;
    line-height: 1.5em;
}

.s2-r1-b1--p-c2 {
    font-size: 1.125rem;
}

.s2-r1-b1--a-c1 {
    height: 3rem;
    /* align-content: center; */

    text-decoration: underline;
    text-decoration-color: var(--pg-clr3);
    text-underline-offset: 7px;
}

/*  */

.s2-r1-b2 {
    margin-top: 2rem;
}

.s2-r1-b2--h3-c1 {
    font-size: 1rem;
    padding-bottom: 1rem;
    font-weight: 400;
}

.s2-r1-b2--spn-c1 {
    color: var(--pg-clr5);
    font-weight: 500;
    text-transform: capitalize;
}

/*  */

/* ---------------- */

#contactform {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "a"
        "aa"
        "b"
        "bb"
        "c"
        "cc"
        "d"
        "e"
        "ee"
        "f";
    grid-gap: 1rem;

    margin-bottom: 2rem;
    padding: 2rem 2rem;
    border: 1px solid #1abc9c;

}

#name {
    width: 100%;
    grid-area: a;
}

#email {
    width: 100%;
    grid-area: b;
}

/* #phone {
    width: 100%;
    grid-area: c;
} */

#error-name {
    width: 100%;
    grid-area: aa;
}

#error-mail {
    width: 100%;
    grid-area: bb;
}

/* #error-phone {
    width: 100%;
    grid-area: cc;
} */

#message {
    width: 100%;
    grid-area: c;
}

#error-message {
    width: 100%;
    grid-area: cc;
}

#label-resultat {
    width: 100%;
    grid-area: d;
    justify-self: center;
    text-align: center;
    font-size: 0.9rem;
    color: #34495e;
    letter-spacing: 1px;
}

#resultat {
    width: 100%;
    grid-area: e;
    justify-self: center;
    text-align: center;
}

#error-resultat {
    width: 50%;
    grid-area: ee;
    justify-self: center;
    text-align: center;
}

#contactform .btn {
    font-size: 0.9rem;
    grid-area: f;
    justify-self: center;
    background: #1abc9c;
    color: white;
    padding: 0.8rem 1.2rem;
    border: none;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    border-radius: 4px;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.3s ease;
}

#contactform .btn:hover {
    background: #16a085;
    border-color: #204d74;
    cursor: pointer;
}

.form-control {
    color: black;
    border: 2px solid #ecf0f1;
    border-radius: 6px;
    transition: border .25s linear, color .25s linear, background-color .25s linear;
    font-family: inherit;
    padding: 0.5rem;
    font-size: 1rem;
}

.form-control:focus {
    border-color: #1abc9c;
}

.form-control::placeholder {
    color: #2e2e2e;
    opacity: 0.5;
}

.error {
    color: red;

}

#success {
    background: aquamarine;
    padding: 1rem;
    border: 0;
}

#sent {
    font-size: 1.125rem;
    padding: 0.5rem;
}

#thanks {
    color: orangered;
    text-transform: capitalize;
}

#errorsent {
    /* display: block; */
    background: #FBE3E4;
    padding: 1rem;
    color: #8a1f11;
    border: 1px solid #FBC2C4;
    border-radius: 3px;

    /* text-align: center; */
}

/*  */

@media (min-width: 48rem) {

    .s2 {
        padding-top: 4rem;
    }

    .s2-r1 {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
        grid-auto-rows: min-content;
    }

    .s2-r1-b1--h2-c1 {
        font-size: 1.75rem;
        margin-bottom: 1rem;
    }

    .s2-r1-b1--p-c1 {
        font-size: 1.125rem;
    }

    .s2-r1-b1--p-c2 {
        font-size: 1.2rem;
    }


    .s2-r1-b2 {
        margin-top: 0;
    }

    .s2-r1-b2--h3-c1 {
        font-size: 1.2rem;
    }

}

/*  */