/*start of hero section*/
.hero {
    background-size: cover;
    min-height: 75vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.hero .titles-wrapper {
    padding-top: 352px;
}

.hero .title {
    font-size: 45px;
    font-weight: 700;
    color: #fff;
    line-height: 67px;
}

.hero .titles-wrapper .subtitle {
    font-weight: 300;
    font-size: 22px;
    color: #fff;
    margin: 4px 0 21px;
    transform: translate(-100px, 0);
    opacity: 0;
}

.hero .titles-wrapper .subtitle.active {
    opacity: 1;
    transform: translate(0, 0);
    transition: all 2s ease;
}

.hero .titles-wrapper .subtitle:before {
    content: "";
    background: url(../img/mail-icon-contact-us.png) no-repeat center;
    background-size: 100%;
    display: block;
    width: 46px;
    height: 33px;
    margin: 0 auto 6px;
}

.hero .form-wrapper .wpcf7 input {
    border-radius: 0;
    font-size: 26px;
    font-weight: 300;
    width: 367px;
    line-height: 105px;
    margin-right: 5px;
    padding-left: 36px;
}

.hero .form-wrapper .wpcf7 input::placeholder {
    padding: 0;
}

.hero .form-wrapper .wpcf7-form.init {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.form-wrapper .send {
    position: relative;
}

.hero .form-wrapper .send:before {
    content: "";
    background: url(../img/send-icon.png) no-repeat center;
    width: 38px;
    height: 39px;
    top: 42px;
    right: 287px;
    position: absolute;
    display: block;
    visibility: initial;
    cursor: pointer;
}

.form-wrapper .wpcf7 textarea.service {
    overflow: auto;
    resize: vertical;
    width: 738px;
    margin-right: 6px;
    font-size: 26px;
    line-height: 28px;
    padding-left: 36px;
    padding-top: 40px;
    height: 123px;
    border-radius: 0;
}

.form-wrapper .wpcf7 .req-field {
    margin-bottom: 4px;
}

.hero .form-wrapper .wpcf7-form-control-wrap:before {
    content: "";
    background: url(../img/input-must-field.png) no-repeat center;
    display: block;
    width: 12px;
    height: 32px;
    position: absolute;
    left: 20px;
    bottom: 22px;
}

.hero .form-wrapper .wpcf7-form-control-wrap.phone-num::before {
    top: 23px;
}

.hero .form-wrapper .wpcf7-form-control-wrap.service:before {
    display: none;
}

.hero .form-wrapper .form-wrapper .customer-details {
    margin-bottom: 2px;
}

.hero .form-wrapper .sub-btn-wrapper {
    position: relative;
    width: 100%;
}

.hero .form-wrapper .customer-details {
    width: 100%;
}

.hero .form-wrapper .customer-details .req-field {
    position: relative;
    margin-left: 2px;
}

.hero .form-wrapper .customer-details input {
    font-size: 26px;
    line-height: 100px;
    border: none;
    width: 364px;
    outline: none;
}

.hero .form-wrapper .customer-details input::placeholder {
    padding: 0;
    font-weight: 300;
    color: #2d2d2d;
}

.hero .form-wrapper .wpcf7 textarea.service::placeholder {
    font-size: 26px;
    line-height: 38px;
    font-weight: 300;
    padding:0;
    color: #2d2d2d;
}

.hero .form-wrapper .sub-btn-wrapper .send-icon {
    position: absolute;
    top: 36px;
    left: 299px;
    margin: auto;
}

.hero .form-wrapper .wpcf7 .submit-btn {
    font-size: 37px;
    font-weight: 300;
    line-height: 105px;
    border: none;
    background-color: #f29a30;
    color: #fff;
    outline: none;
    width: 367px;
    padding-right: 0;
    padding-left: 37px;
    text-align: center;
    margin-top: 1px;
    margin-bottom: 20px;
}

.hero .form-wrapper .wpcf7 .submit-btn:hover {
    background-color: #2f1717;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    color: #fff;
}

.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
    color: #fff;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: #fff;

}

/*query for mobile */

@media screen and (min-width: 768px) and (max-width: 1207px) {
    .hero .titles-wrapper {
        padding-top: 250px;
    }

    .hero .form-wrapper .wpcf7-form.init {
        justify-content: center;
    }

    .hero .form-wrapper .wpcf7 input {
        width: 100%;
    }

    .form-wrapper .wpcf7 input.service {
        width: auto;
    }


    .hero .form-wrapper .customer-details .req-field {
        max-width: 100%;
        display: block;
    }

    .hero .form-wrapper .customer-details input {
        width: 100%;
    }

    .hero .form-wrapper .wpcf7 .submit-btn {
        width: 600px;
        margin: 0 auto 20px;
    }

    .hero .form-wrapper .send:before {
        left: 398px;
    }

    .form-wrapper .wpcf7 textarea.service {
        width: 600px;
        margin: 0;
    }

    #wpcf7-f169-o1 form.sent .wpcf7-response-output {
        color: #FFFFFF;
        width: 54%;
        margin-bottom: 15px;
    }

    .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
        color: #FFFFFF;
        width: 46%;
    }

    .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
        width: 54%;
    }
}

@media screen and (max-width: 767px) {
    .hero .titles-wrapper {
        padding-top: 200px;
    }

    .outer-wrapper {
        margin-top: -118px;
    }

    .hero .form-wrapper .wpcf7 input, .form-wrapper .wpcf7 textarea.service {
        width: 348px;
        margin: 0 auto;
    }

    .hero .form-wrapper .wpcf7 textarea.service::placeholder {
        padding-top: 5px;
    }

    .form-wrapper .wpcf7 textarea.service {
        line-height: 34px;
        padding: 20px 25px;
    }

    .hero .titles-wrapper .title {
        line-height: 43px;
    }

    .hero .titles-wrapper .subtitle {
        margin-top: 16px;
    }

    .hero .form-wrapper {
        margin: 0 auto;
        padding: 0 20px;
    }

    .hero .form-wrapper .customer-details label {
        margin: 0 auto;
        display: block;
    }

    .hero .form-wrapper .customer-details input {
        margin-bottom: 7px;
    }

    .hero .form-wrapper .customer-details .req-field:before {
        top: 14px;
    }

    .hero .form-wrapper .submit-btn {
        width: 100%;
    }

    .hero .form-wrapper .submit-btn.mobile {
        display: block;
        width: 100%;
    }

    .hero .form-wrapper .send:before {
        top: 31px;
        right: 281px;
    }

    .hero .form-wrapper .wpcf7 .submit-btn {
        width: 348px;
        margin: 0 auto 14px;
        padding: 0 75px 0;
    }

    .wpcf7 form.invalid .wpcf7-response-output {
        margin: 9px auto 20px;

    }

}

@media (min-width: 1200px) {
    .hero {
        min-height: 1080px;
    }
}

/*end of hero section*/

section.second-element {
    position: relative;
    z-index: 1;
}

.outer-wrapper {
    margin-top: -202px;
}

.outer-wrapper .title-wrapper {
    margin-bottom: 34px;
}

.outer-wrapper .title-wrapper .main-title {
    font-size: 22px;
    font-weight: 300;
    line-height: 43px;
    text-align: center;
    color: #fff;
    margin: 0 auto;
}

.outer-wrapper .title-wrapper:before {
    content: "";
    background: url(../img/content-us-phone-icon.png) no-repeat center;
    width: 43px;
    height: 43px;
    display: block;
    margin: 0 auto;
}

.outside-boxes-wrapper .thin-box, .outside-boxes-wrapper .wide-box {
    width: 449px;
    background-color: #fff;
    margin-left: 19px;
    padding-left: 52px;
    padding-bottom: 30px;
}

.outside-boxes-wrapper .wide-box {
    width: 647px;
    padding-left: 41px;
}

.outside-boxes-wrapper .title {
    font-weight: 300;
    font-size: 37px;
    line-height: 60px;
    padding: 51px 0 29px;
    text-indent: -3px;
}

.outside-boxes-wrapper .thin-box .title {
    padding-bottom: 19px;
}

.outside-boxes-wrapper .content {
    list-style: none;
    margin: 0;
    padding: 0;
}

.outside-boxes-wrapper .content li {
    font-size: 20px;
    font-weight: 700;
    line-height: 50px;
}

.outside-boxes-wrapper .content .link {
    font-weight: 300;
    color: #2d2d2d;
}

.outside-boxes-wrapper .thin-box .content .link {
    margin-left: 5px;
}

.outside-boxes-wrapper .wide-box .content li {
    width: 49%;
    line-height: 27px;
    margin-bottom: 48px;
}

.wide-box li .link {
    display: block;
}

.pre-map .title {
    font-size: 48px;
    line-height: 74px;
}

.pre-map .subtitle {
    font-size: 20px;
    font-weight: 300;
    line-height: 17px;
    margin-top: 4px;
}

.content .pre-map-icon {
    padding-right: 21px;
}

.pre-map {
    padding: 50px 0 41px;
}

.pre-map .content {
    padding-top: 63px;
    padding-left: 23px;
}

.pre-map .icon-wrapper {
    padding-top: 58px;

}

.pre-map .icon-wrapper img {
    margin: 0 23px;
}

.pre-map .icon-wrapper .left-icon {
    margin-right: 0;
}

/*query for mobile */

@media screen and (min-width: 768px) and (max-width: 1207px) {
    .outer-wrapper {
        margin-top: 90px;
    }

    .outer-wrapper .title-wrapper:before {
        background: url(../img/mobile-contact-us-page.png) no-repeat center;
    }

    .outer-wrapper .title-wrapper .main-title {
        color: #2d2d2d;
    }

    .outside-boxes-wrapper .thin-box, .outside-boxes-wrapper .wide-box {
        width: 100%;
        margin-top: 21px;
    }

    .pre-map .title {
        font-size: 44px;
    }

    .pre-map .subtitle {
        line-height: 26px;
        margin-top: 0;
    }

}

@media screen and (max-width: 767px) {
    .outer-wrapper {
        margin-top: 90px;
    }

    .outer-wrapper .title-wrapper:before {
        background: url(../img/mobile-contact-us-page.png) no-repeat center;
    }

    .outer-wrapper .title-wrapper .main-title {
        color: #2d2d2d;
    }

    .outside-boxes-wrapper .wide-box .content li {
        width: 95%;
    }

    .outside-boxes-wrapper .thin-box, .outside-boxes-wrapper .wide-box {
        width: 100%;
        padding-right: 15px;
        margin: 0 auto 30px;
    }

    .pre-map {
        padding-top: 0;
    }

    .pre-map .content {
        padding-top: 0;
        padding-right: 15px;
        margin: 0 auto;
    }

    .pre-map .title {
        font-size: 47px;
        line-height: 45px;
    }


    .pre-map .subtitle {
        line-height: 27px;
    }

    .content .pre-map-icon {
        padding-bottom: 17px;
    }

    .social-dir {
        width: 30%;
        margin: 0 auto;
    }

    .pre-map .icon-wrapper img {
        margin: 0;
    }

}
