#contact-form-section {

    .entry-content {
        margin-top: 0;
    }

    .entry-title {
        font-size: 24px;
        font-size: 1.5rem;
        margin-bottom: 35px;
    }
}

form.wpcf7-form {

    label {
        
        span {
            display: block;
            margin-top: 14px;

            input,
            textarea {
                font-size: 16px;
                font-size: 1rem;
            }
        }
    }
    
    
    > p {
        display: inline-block;
        margin-bottom: 0;
        margin-top: 21px;
        width: 100%;

        @include media(desktop) {
            margin-top: 47px;
        }
    }

    textarea {
        height: 162px;  
        
        @include media(desktop) {
            height: 164px;
        }

        @include media(wide) {
            height: 172px;
        }

        @include media(diagonal) {
            height: 199px;
        }
    }
}

#contact-section.contact-section.section {
    padding-left: 0;
    .section-content-wrap {
        padding-left: 0;
    }
}

.contact-section.section {

    .section-content-wrap {

        .hentry {
            position: relative;

            max-width: 1500px;
            margin: 0 auto;

            .post-thumbnail {
                margin-bottom: 0;
                
                @include media(diagonal) {
                    margin-left: calc( -100vw / 2 + 100% / 2 );
                    margin-right: 0;
                    max-width: 100vw;
                    right: 0;
                }
            }

     
            .entry-container {
                box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
                -moz-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
                -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
                margin-bottom: 35px;
                max-width: 100%;
                margin-left: 30px;
                margin-right: 30px;
                padding: 30px;
                position: relative;
                z-index: 9;


                @include media(mobile_horizontal) {
                    margin-right: 40px;
                    margin-left: 40px;
                }

                @include media(desktop) {
                    margin-bottom: 0;
                    margin-left: auto;
                    padding: 50px;
                    width: 350px;
                }

                @include media(wide) {
                    margin-right: 50px;
                    padding: 70px;
                    width: 440px;
                }

                .contact-details {
                    list-style: none;
                    margin: 0;

                    li {
                        margin-bottom: 21px;

                        &:last-child {
                            margin-bottom: 0;
                        }
                    }

                    .fa {
                        @include border(50%);
                        float: left;
                        font-size: 16px;
                        font-size: 1rem;
                        height: 40px;
                        line-height: 40px;
                        margin-right: 21px;
                        text-align: center;
                        width: 40px;
                    }

                    .contact-wrap {
                        float: right;
                        width: calc( 100% - 61px);
                    }
                }

                .stay-connected {
                    margin-top: 35px;

                    p {
                        font-size: 13px;
                        font-size: 0.8125rem;
                        font-weight: 500;
                        letter-spacing: 1px;
                        line-height: 1.61;
                        margin-bottom: 0;
                        text-transform: uppercase;
                    }

                    .social-navigation {
                        margin-top: 14px;
                    }

                    .social-links-menu {
                        justify-content: flex-start;

                        li {
                            @include border(50%);
                            border: 1px solid;
                            height: 40px;
                            line-height: 40px;
                            margin-bottom: 10px;
                            margin-right: 14px;
                            text-align: center;
                            width: 40px;

                            &:hover {
                                transform: translateY(-5px);
                                -o-transform: translateY(-5px);
                                -moz-transform: translateY(-5px);
                                -webkit-transform: translateY(-5px);
                                border: 1px solid transparent;
                            }

                            &:last-child {
                                margin-right: 0;
                            }
                            
                            a {
                                opacity: 1;
                            }
                        }
                    }
                }

                .entry-title {
                    margin-bottom: 35px;
                }
            }

            .entry-content {
                margin-top: 0;
            }

            .contact-map {
                background-position: center center;
                background-repeat: no-repeat;
                background-size: cover;
                bottom: 0;
                height: 100%;
                left: 0;
                padding-bottom: 100%;
                position: relative;
                top: 0;
                right: 0;
                
                @include media(desktop) {
                    padding-bottom: 0;
                    position: absolute;
                }
            }

            .google-maps {
                height: 100%;
                margin: 0;
                position: absolute;
                width: 100%;

                iframe {
                    height: 100%;
                    width: 100%;
                }
            }
        }
    }
}

.contact-section.section.full-width-layout {

    .wrapper {
        max-width: 100%;
    }

    .hentry {
        padding-right: 0;

        .post-thumbnail {
            margin-left: calc( -100vw / 2 + 100% / 2 );
            max-width: 100vw;
            right: 0;
            margin-right: calc( -100vw / 2 + 100% / 2 );
        }

        .section-content-wrap {
            padding-right: 0;
        }
    }
}

.wpcf7-form {

    > div {
        float: none;
        margin-bottom: 35px;
        width: 100%;

        @include media(mobile_horizontal) {
            float: left;
            margin-bottom: 0;
            width: 50%;
        }
    }

    .left-col-contact {
        padding-right: 0;

        @include media(mobile_horizontal) {
            padding-right: 40px;
        }

        > .sub-left-col > div {
            float: left;
            padding-right: 20px;
            width: 50%;

            &:last-child {
                padding-right: 0;
            }
        }

        .sub-left-col {
            margin-top: 21px;

            @include media(wide) {
                margin-top: 35px;
            }
        }
    }
    
    .right-col-contact {
        margin-bottom: 0;
    }

    label {
        display: block;
        font-size: 13px;
        font-size: 0.8125rem;
        font-weight: 700;
        letter-spacing: 1px;
        line-height: 1.61;
        text-transform: uppercase;

        span {
            display: block;
            margin-top: 14px;
        }
    }
    
    p:last-child {
        display: inline-block;
        margin-top: 25px;
        width: 100%;
    }
}

#contact-form-section .layout-one .hentry {
    width: 100%;
}

.color-scheme-modern,
.color-scheme-minimal {

    #contact-section.contact-section.section {
        padding-bottom: 0;
        padding-top: 0;

        .section-content-wrap {
            padding-top: 0;
        
            .hentry .entry-container {
                margin-top: 42px;

                @include media(desktop) {
                    margin-top: 0;
                }
            }

            .post-thumbnail {
                margin-bottom: 0;
            }
        }
    }
}

#contact-form-section .section-title-wrapper + .section-subtitle {
    text-transform: inherit;
}