/*-- -------------------------- -->
<---           Form             -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0em) {

    #form {
        padding: 50/16em 0;
        margin: auto;
        position: relative;
        padding-bottom: 36%;

        .top-wave {
            position: absolute;
            width: 100%;
            top: -2/16em;
            height: auto;
            left: 0;
        }


        .title {
            font-weight: 900;
            font-size:~"min(9vw, 2.4em)";
            line-height: 58/48;
            color: #1A1A1A;
            position: relative;
            margin-bottom: 42/48em;
            text-align: left;
        }

        p {
            line-height: 27/18;
            max-width: 500/18em;
            color: #595959;
            margin-bottom: 48/18em;
        }

        .left-section {
            width: 96%;
            margin: auto;
            margin-top: 15%;
            max-width: 600/16em;
        }

        #contact {
            margin: auto;
            margin-bottom: 100/16em;
            .input-group {
                display: flex;
                flex-direction: column;
                margin-bottom: 30/16em;

                label {
                    font-weight: bold;
                    font-size: 16/16em;
                    margin-bottom: 6/16em;
                }

                input[type="text"], 
                input[type="email"], 
                input[type="tel"], 
                input[type="url"], 
                textarea {
                    font-size: 16/16em;
                    height: 67/16em;
                    border: none;
                    border-bottom: 1/16em solid #d4d4d4;
                    background: transparent;
                }

                input:focus {
                    border: 1/16em solid var(--primary);
                }

                textarea {
                    min-height: 200/16em;
                    padding-top: 20/16em;
                }

                ::placeholder {
                    color: #d4d4d4;
                    font-family: "Roboto", sans-serif;
                }
            }

            .button-solid {
                border: none;
            }
        }

        .contact-right {
            background: #1a1a1a;
            padding: 45/16em 34/16em;
            width: 100%;
            max-width: 300/16em;
            margin: auto;
            border-radius: 5/16em;

            .heading {
                color: #fff;
                font-size: 24/16em;
                line-height: 1.2em;
                font-weight: bold;
                padding-left: 20/24em;
                border-left: 5/24em solid var(--primary);
                display: block;
                margin-bottom: 20/24em;
            }

            .info-group {
                margin-bottom: 36/16em;

                &:last-of-type {
                    margin-bottom: 0;
                }
            }

            .info {
                font-size: 16/16em;
                line-height: 28/16;
                color: #fff;
                opacity: .9;
                text-decoration: none;
                display: block;
            }
        }
    }
}

/* Mobile Landscape */
@media only screen and (min-width: 568px) {

    #form {
        #contact {
            max-width: 700/16em;
        }
        .contact-right {
            max-width: 700/16em;
            display: flex;
            justify-content: center;
            flex-wrap: wrap;

            .info-group {
                width: 40%;
                margin-left: 50/16em;
                &:nth-of-type(3) {
                    margin-bottom: 0;
                }
            }
        }
    }
}

/* Tablet */
@media only screen and (min-width: 48em) {

    #form {
        #contact {
            display: flex;
            justify-content: space-between;
            flex-direction: row;
            flex-wrap: wrap;

            .input-group {
                width: 48%;
                margin-bottom: 50/16em;
                position: relative;

                &:nth-of-type(5) {
                    width: 100%;
                }

                &:last-of-type {
                    width: 100%;
                }

                &:hover {
                    .hover-box {
                        height: 67/16em;
                        border: 1/16em solid var(--primary);
                        pointer-events: none;
                    }

                    input[type="text"], 
                    input[type="email"], 
                    input[type="tel"], 
                    input[type="url"], 
                    textarea {
                        padding-left: 20/16em;
                    }
                }

                input[type="text"], 
                input[type="email"], 
                input[type="tel"], 
                input[type="url"], 
                textarea {
                    border-bottom: none;
                    position: relative;
                    transition: padding .3s;
                    background: transparent;
                }

                .hover-box {
                    position: absolute;
                    display: block;
                    height: 1/16em;
                    width: 100%;
                    background: transparent;
                    border: 1/16em solid #e9e8e8;
                    opacity: 1;
                    bottom: -1/16em;
                    left: 0;
                    z-index: 10;
                    transition: height .3s, border .3s;
                    z-index: -1;
                }
            }

            .textarea {
                &:hover {
                    .hover-box {
                        height: 168/16em;
                    }
                }
            }
            
            .form-submit {
                margin-left: auto;
            }

        }
    }
}

/* Small Desktop */
@media only screen and (min-width: 64em) {

    #form {
        display: flex;
        justify-content: center;
        align-content: flex-start;
        font-size: 1.5vw;
        width: 100%;
        padding: 150/16em 0;

        .left-section {
            width: 750/16em;
            margin: 0;
            margin-left: 0;
            margin-right: 75/16em;
        }

        #contact {
            margin: 0;
            margin-right: 0;
            max-width: none;
        }

        .contact-right {
            flex-direction: column;
            max-width: 300/16em;
            margin: 0;
            height: 554/16em;

            .info-group {
                margin-left: 0;
                width: 100%;

                &:nth-of-type(3), &:last-of-type {
                    margin-bottom: 36/16em;
                }
            }
        }
    }
}

/* Large Desktop */
@media only screen and (min-width: 1300px) {

    #form {
        font-size: inherit;
    }
}

/* Dark Mode */
@media only screen and (min-width: 0px) {
    body.dark-mode {
        #form {
            .title {
                color: #fff;
            }

            p {
                color: #fff;
            }

            .input-group {
                label {
                    color: #fff;
                }

                input, textarea {
                    color: #fff;
                }
            }

            .contact-right {
                background: var(--medium);
            }
        }
    }
}