.contact-us{
    /*margin-bottom: 77px;*/
}
.contact-us .head{
    margin-bottom: 25px;
    position: relative;
    padding: 0 16px;
}
.contact-us.show-hook .head{
    margin-bottom: 32px;
}
.contact-us .head .line{
    content: "";
    height: 1px;
    width: auto;
    background: var(--black-10);
    z-index: -1;
    flex-grow: 1;
}
.contact-us .head-contact-us{
    display: flex;
    align-items: center;
    gap: 16px;
    /*background-color: var(--bs-body-bg,--bg_color);*/
    padding-left: 24px;
}
.contact-us .head-contact-us .head-icon{
    width: 48px;
    height: 48px;
    background-color: var(--secondary_color);
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact-us .head-contact-us .head-icon i{
    font-size: 18px;
    color: var(--white_color);
}
.contact-us .head-contact-us .head-icon svg{
    width: 18px;
    height: 18px;
}
.contact-us .head-contact-us .head-icon svg path{
    fill: var(--white_color);
}
.contact-us .head-contact-us .head-contact-us-inner{
    display: flex;
}
.contact-us .head-contact-us .head-contact-us-inner.flex-direction-row{
    flex-direction: row;
    gap: 16px;
    align-items: center;
}
.contact-us .head-contact-us .head-contact-us-inner.flex-direction-column{
    flex-direction: column;
}
.contact-us .head-contact-us .head-contact-us-inner .title{
    font-size: 24px;
    font-weight: 900;
    line-height: normal;
}
.contact-us .head-contact-us .head-contact-us-inner .subtitle{
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
    color: var(--black-70);
}
.contact-us .head-btns{
    display: flex;
    gap: 8px;
    padding-right: 24px;
}
.contact-us .btn{
    border: 0;
}
.body-contact-us svg{
    width: 18px;
}
.body-contact-us{}
.body-contact-us .info-box{
    position: relative;
    margin-bottom: 32px;
    height: calc(100% - 32px);
}
.body-contact-us .info-box:before{
    content:"";
    width: 80%;
    height: 64%;
    background-color: var(--secondary-10);
    border-radius: 48px;
    position: absolute;
    left: 50%;
    bottom: -16px;
    transform: translateX(-50%);
    z-index: -1;
}
.body-contact-us .address-box-head{
    margin-bottom: 16px;
    padding-right: 24px;
    display: flex;
    align-items: center;
    gap: 16px;
}
.body-contact-us .address-box-head svg{
    width: 18px;
    height: 18px;
}
.body-contact-us .address-box-head i{
    font-size: 18px;
    color: var(--dark_secondary_color);
}
.body-contact-us .address-box-head svg path{
    fill: var(--secondary_color);
    stroke: var(--secondary_color);
}
.body-contact-us .address-box-head .title{
    font-size: 16px;
    font-weight: 500;
    color: var(--black_color);
}

.body-contact-us .address-box{
    display: flex;
    flex-direction: column;
    gap: 8px;
}



.body-contact-us .address-box .address-item{
    background-color: var(--white_color);
    border-radius: 24px;
    padding: 17px 16px;
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: start;
    transition: all .3s ease-in-out;
    flex-grow: 1;
}
.body-contact-us .address-box .address-item:hover{
    box-shadow: 0 20px 20px 0 var(--black-5);
}
.body-contact-us .address-box .address-item .icon{
    width: 40px;
    height: 40px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--secondary-5);
}
.body-contact-us .address-box .address-item .icon svg{
    width: 18px;
    height: 18px;
}
.body-contact-us .address-box .address-item .icon i{
    color: var(--secondary_color);
}
.body-contact-us .address-box .address-item .icon svg path{
    fill: var(--secondary_color);
    stroke: var(--secondary_color);
}
.body-contact-us .address-box .address-item .address{
    display: block;
    width: calc(100% - 48px);
}

.body-contact-us .address-box .address-item .title{
    font-size: 16px;
    font-weight: 400;
    color: var(--black-70);
}
.body-contact-us .address-box .address-item .text{
    font-size: 16px;
    font-weight: 600;
    color: var(--black_color);
}
.body-contact-us .info-box .head-up-mask-wrap.row{
    margin: 0;
}
.body-contact-us .form-box .head-up-mask-wrap:before{
    --height: 100%;
    height: calc(var(--height) + 50px);
}
.body-contact-us .info-box .head-up-mask-wrap:before{
    --height: 100%;
    height: calc(var(--height) + 50px);
}

.body-contact-us .form-wrap .form-contact-head.head-up-mask,
.body-contact-us .head-up-mask.address-box-head{
    align-items: start;
}

.body-contact-us .form-box .form-mask-wrapper.head-up-mask-wrap > .form-wrap,
.body-contact-us .info-box .head-up-mask-wrap.row > .address-box,
.body-contact-us .info-box .head-up-mask-wrap.row > .map-box{
    transform: translateY(-16px);
}

.body-contact-us .info-box .map{
    display: block;
    /*border: 8px solid var(--white_color);*/
    /*border-radius: 24px;*/
    height: 100%;
    transition: all .3s ease-in-out;
}
/*.body-contact-us .info-box .map:hover{*/
/*    !*box-shadow: 0 20px 20px 0 var(--black-5);*!*/
/*}*/
.body-contact-us.map-mask .info-box .map img{
    position: absolute;
    inset: 0;
}
.body-contact-us .info-box .map img{
    border-radius: 16px;
    border: 1px solid var(--gray_color);
    width: 100%;
    height: 100%;
    min-height: 152px;
    object-fit: cover;
}


.h-100 > .d-flex.row{
    flex-grow: 1;
}
.h-100{
    height: 100%;
    display: flex;
    flex-direction: column;
}

/*.body-contact-us .info-box .map.has-mask img{*/
    /*-webkit-mask-image:var(--mask-url);*/
    /*mask-image:var(--mask-url);*/

    /*-webkit-mask-repeat:no-repeat;*/
    /*mask-repeat:no-repeat;*/

    /*-webkit-mask-position:center;*/
    /*mask-position:center;*/

    /*-webkit-mask-size:100% 100%;*/
    /*mask-size:100% 100%;*/
    /*clip-path: url(#mask-map);*/
/**/
/*}*/
.body-contact-us.form-mask .form-box .form-wrap form{
    background: var(--white_color);
    border-radius: 32px;

    -webkit-mask: linear-gradient(#fff 0 0), url(../img/exclude-big-left.png);
    -webkit-mask-position: 0 0, 0 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-composite: xor; /* سافاری از exclude پشتیبانی نمی‌کنه، معادلش همینه */
    mask: linear-gradient(#fff 0 0), url(../img/exclude-big-left.png);
    mask-position:0 0, 0 100%;
    mask-repeat: no-repeat;
    mask-composite: exclude;
    padding: 8px 16px;
    margin: 0;

    --btn-width: 180px;

    -webkit-mask-size: 100% 100%, calc(var(--btn-width) + 35px) 96px;
    mask-size: 100% 100%, calc(var(--btn-width) + 35px) 96px;
}
.body-contact-us.form-mask .form-box .form-wrap{
    width: 100%;
    --width : 2px;
    --border-color: var(--black-10);
    filter: drop-shadow(-1px var(--width) var(--border-color)) drop-shadow(var(--width) -1px var(--border-color));
}
.body-contact-us .map-box .map .inner-box-hover{
    height: 100%;
    filter: drop-shadow(-2px 3px var(--white_color)) drop-shadow(3px -2px var(--white_color));
}
.body-contact-us .map-box .map .inner-box{
    content:'';
    --btn-width : 180px;
    -webkit-mask-size: 100% 100%, calc(var(--btn-width) + 35px) 96px;
    mask-size: 100% 100%, calc(var(--btn-width) + 35px) 96px;
    height: 100%;
}
.body-contact-us .form-box .form-mask-wrapper.head-up-mask-wrap{
    padding: 0 16px;
}
/* wrapper دور ماسک */
.body-contact-us .map-box .map-mask-wrapper,
.body-contact-us .form-box .form-mask-wrapper {
    position: relative;
    display: inline-block; /* یا block */
    height: 100%;
    width: 100%;
}
/*.body-contact-us .form-box .form-mask-wrapper::after,*/
/*.body-contact-us .map-box .map-mask-wrapper:after{*/
/*    --width: 4px;*/
/*    --width2: calc(var(--width) * 2);*/
/*    content: "";*/
/*    position: absolute;*/
/*    inset: calc(var(--width) * -1); !* ضخامت حاشیه *!*/
/*    pointer-events: none;*/
/*    background: #fff;*/

/*    -webkit-mask-image: var(--mask-url), var(--mask-url);*/
/*    mask-image: var(--mask-url), var(--mask-url);*/
/*    -webkit-mask-size: 100% 100%, calc(100% - var(--width2)) calc(100% - var(--width2));*/
/*    mask-size: 100% 100%, calc(100% - var(--width2)) calc(100% - var(--width2));*/
/*    -webkit-mask-position: center, center;*/
/*    mask-position: center, center;*/
/*    -webkit-mask-repeat: no-repeat, no-repeat;*/
/*    mask-repeat: no-repeat, no-repeat;*/
/*    -webkit-mask-composite: source-out;*/
/*    mask-composite: subtract; !* لایه داخلی رو کم می‌کنه *!*/
/*}*/
/*.body-contact-us .form-box .form-mask-wrapper::after{*/
/*    --width: 5px;*/
/*}*/

/*.body-contact-us .form-box .form-mask-wrapper::before{*/
    /*--width: 6px;*/
    /*--width2: calc(var(--width) * 2);*/

    /*content: "";*/
    /*position: absolute;*/
    /*inset: calc(var(--width) * -1); !* ضخامت حاشیه *!*/
    /*pointer-events: none;*/
    /*background: #eee;*/

    /*-webkit-mask-image: var(--mask-url), var(--mask-url);*/
    /*mask-image: var(--mask-url), var(--mask-url);*/
    /*-webkit-mask-size: 100% 100%, calc(100% - var(--width2)) calc(100% - var(--width2));*/
    /*mask-size: 100% 100%, calc(100% - var(--width2)) calc(100% - var(--width2));*/
    /*-webkit-mask-position: center, center;*/
    /*mask-position: center, center;*/
    /*-webkit-mask-repeat: no-repeat, no-repeat;*/
    /*mask-repeat: no-repeat, no-repeat;*/
    /*-webkit-mask-composite: source-out;*/
    /*mask-composite: subtract; !* لایه داخلی رو کم می‌کنه *!*/
/*}*/
.body-contact-us.form-mask .form-box .form-wrap form .row{
    flex-grow: 1;
}
.body-contact-us .form-wrap,
.body-contact-us .map-box{
    position: relative;
}
.body-contact-us .map-box::before,
.body-contact-us .form-box::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 20px;
    pointer-events: none;
    z-index: -1;
    background: var(--secondary-10);
    filter: blur(48px);
    width: 100%;
    height: 100px;
    border-radius: 100%;
}


.body-contact-us .form-box{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: start;
    margin-bottom: 32px;
    height: calc(100% - 32px);
}
.body-contact-us .form-box:before{
    content:"";
    width: 80%;
    height: 64%;
    background-color: var(--primary-10);
    border-radius: 48px;
    position: absolute;
    left: 50%;
    bottom: -16px;
    transform: translateX(-50%);
    z-index: -1;
}
.body-contact-us .form-box .form-contact-head{
    margin-bottom: 16px;
    padding-right: 24px;
    display: flex;
    align-items: center;
    gap: 16px;
}
.body-contact-us .head-left .info-box ._head-up-mask,
.body-contact-us .head-left .form-box._head-up-mask{
    align-items: end;
}
.body-contact-us .head-left .address-box-head.head-up-mask,
.body-contact-us .head-left .form-contact-head.head-up-mask{
    padding: 16px 95px 5px 16px !important;
    -webkit-mask: linear-gradient(#fff 0 0), url(../img/exclude-bg2.png);
    -webkit-mask-position: 0 0, 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-composite: xor; /* سافاری از exclude پشتیبانی نمی‌کنه، معادلش همینه */

    mask: linear-gradient(#fff 0 0), url(../img/exclude-bg2.png);
    mask-position: 0 0, 100% calc(100% - 1px);
    mask-repeat: no-repeat;
    mask-composite: exclude;
}

.body-contact-us .head-left .info-box .head-up-mask-wrap:before,
.body-contact-us .head-left .form-box .form-mask-wrapper.head-up-mask-wrap:before{
    border-radius: 0 32px 32px 32px;
}

.body-contact-us .address-box-head .flex-direction-column,
.body-contact-us .form-box .form-contact-head .flex-direction-column{
    flex-direction: column;
    display: flex;
}
.body-contact-us .head-left .address-box-head .flex-direction-column,
.body-contact-us .head-left .form-box .form-contact-head .flex-direction-column{
    align-items: end;
}


.body-contact-us .form-box .form-contact-head svg{
    width: 18px;
    height: 18px;
}
.body-contact-us .form-box .form-contact-head i{
    color: var(--primary_color);
}
.body-contact-us .form-box .form-contact-head svg path{
    fill: var(--primary_color);
    stroke: var(--primary_color);
}
.body-contact-us .form-box .form-contact-head .title{
    font-size: 16px;
    font-weight: 500;
    color: var(--black_color);
}


.body-contact-us .form-box .e-con{
    padding: 0;
}
.body-contact-us .form-box form{
    background-color: var(--white_color);
    border-radius: 24px;
    /*padding: 8px;*/
    position: relative;
    transition: all .3s ease-in-out;
    height: 100%;
}

.body-contact-us .form-box form:hover{
    box-shadow: 0 20px 20px 0 var(--black-5);
}
/*.body-contact-us .form-box form:hover,*/
/*.body-contact-us .form-box form{*/
/*    background-color: transparent;*/
/*    box-shadow: unset;*/
/*}*/
.body-contact-us .form-box form.init{
    display: flex;
    flex-wrap: wrap;
}
.body-contact-us .form-box form p{
    margin: 0;
}
.body-contact-us .form-box form label{
    font-size: 16px;
    font-weight: 400;
    color: var(--black-70);
    margin-bottom: 3px;
}

.body-contact-us .form-box form .col-6,
.body-contact-us .form-box form .col-12,
.body-contact-us .form-box form.elementor-form .elementor-field-group{
    margin-bottom: 8px;
    padding-right: calc(8px / 2);
    padding-left: calc(8px / 2);
}
.body-contact-us .form-box form.elementor-form .elementor-field,
.body-contact-us .form-box form textarea,
.body-contact-us .form-box form input{
    background-color: var(--gray_color);
    border-radius: 16px;
    border: 0;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: start;
    padding: 16px;
    width: 100%;
    height: 56px;
    font-size: 16px;
    font-weight: 400;
    color: var(--black_color);
    direction: rtl;
}
.body-contact-us .form-box form.elementor-form .elementor-form-fields-wrapper{
    margin-left: calc(-8px / 2);
    margin-right: calc(-8px / 2);
    margin-bottom: -8px;
}
.body-contact-us .form-box form.elementor-form textarea.elementor-field,
.body-contact-us .form-box form textarea{
    height: 235px;
    margin-bottom: -8px;
}
.body-contact-us .form-box form.elementor-form .elementor-field
.body-contact-us .form-box form input::placeholder,
.body-contact-us .form-box form textarea::placeholder{
    font-size: 16px;
    font-weight: 400;
    color: var(--black-70);
    text-align: right;
    direction: rtl;
}


.body-contact-us .form-fake-submit{
    background-color: var(--primary_color);
    color: var(--white_color);
    min-width: 100px;
    width: auto;
    height: 56px;
    border-radius: 16px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all .3s ease-in-out;
    z-index: 8;
}
.body-contact-us .form-fake-submit i{
    font-size: 24px;
}
.body-contact-us .form-fake-submit svg{
    width: 24px;
    height: 24px;
}

.body-contact-us .form-box form.elementor-form .elementor-button,
.body-contact-us .form-box form button,
.body-contact-us .form-box form input[type=submit]{

    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 1px !important;
    height: 1px !important;
}

/*.body-contact-us .form-box form.elementor-form .elementor-button:hover,*/
/*.body-contact-us .form-box form button:hover,*/
/*.body-contact-us .form-box form input[type=submit]:hover{*/

.body-contact-us .form-fake-submit:hover{
    background-color: var(--secondary_color);
}

.submit-up .body-contact-us .form-box .elementor-field-group.elementor-column{
    position: unset;
}
/*.submit-up .body-contact-us .form-box form.elementor-form .elementor-button,*/
/*.submit-up .body-contact-us .form-box form button,*/
/*.submit-up .body-contact-us .form-box form input[type=submit]{*/

.submit-up .body-contact-us .form-fake-submit{
    bottom: unset;
    top: -73px;
}

.body-contact-us .form-box form .wpcf7-spinner{
    position: absolute;
    right: 16px;
    bottom: 16px;
}

.body-contact-us .address-box-head .icon,
.body-contact-us .form-box .form-contact-head .icon{
    width: 40px;
    height: 40px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--secondary-5);
}
.body-contact-us .map-box .map{
    position: relative;
}
.body-contact-us .map-box .btn{
    display: flex;
    flex-direction: row-reverse;
    position: absolute;
    left: 5px;
    bottom: 5px;
    z-index: 9;
    width: 215px;
}

.info-column .body-contact-us .address-box{
    width: 100%;
    margin-bottom: 8px;
    flex-direction: row;
    flex-wrap: wrap;
}

.info-column .body-contact-us .map-box{
    width: 100%;
    flex-grow: 1;
}

.info-column .body-contact-us .address-box .address-item{
    width: calc(50% - 4px);
}
.info-column .body-contact-us .address-box .address-item:first-child{
    width: 100%;
}
.body-contact-us .form-wrap,
.body-contact-us .info-wrap{
    flex-grow: 1;
}
.body-contact-us .form-box .e-con-inner{
    padding: 0;
}
.body-contact-us .form-box div{
    height: stretch;
}
.body-contact-us .form-box div,
.body-contact-us .form-box form div{
    height: auto;
}
.body-contact-us .form-box .form-contact-head{
    height: max-content;
}
.body-contact-us .info-box > .d-flex{
    height: 100%;
}
.show-hook .body-contact-us .form-wrap,
.show-hook .body-contact-us .info-wrap{
    position: relative;
}

.show-hook .body-contact-us .form-wrap:before,
.show-hook .body-contact-us .info-wrap:before{
    content: "";
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(-50%);
    width: 13px;
    height: 17px;
    background-color: var(--black-20);
    mask-image: url(../img/hook.svg);
    z-index: -1
}

.show-hook .body-contact-us .form-wrap:after,
.show-hook .body-contact-us .info-wrap:after{
    content: "";
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 416px;
    max-width: 90%;
    height: 90%;
    background-color: transparent;
    border: 2px solid var(--black-20);
    border-radius: 204px 204px 32px 32px;
    z-index: -1
}



.body-contact-us .bg_svg{
    position: relative;
    width: 100%;
}
.body-contact-us .bg_svg .shape-unit {
    filter: url(#smooth-join2);
    position: absolute;
    width: 100%;
    height: 288px;
    z-index: -1;
}
.body-contact-us .bg_svg .rect {
    position: absolute;
    background: var(--gray_color);
}
.body-contact-us .bg_svg .rect1 {
    width: 250px;
    height: 100px;
    top: -10px;
    right: 0;
    border-radius: 24px 24px 0 0;
    z-index: 2;
}
.body-contact-us .bg_svg .rect2 {
    width: 100%;
    height: calc(100% - 100px);
    border-radius:32px;
    right: 0;
    top: 70px;
    z-index: 1;
}



.body-contact-us .head-left .address-box-head,
.body-contact-us .head-left .form-contact-head{
    justify-content: end;
    padding-right: 0;
    padding-left: 24px;
    flex-direction: row-reverse;
}

.body-contact-us .head-left .bg_svg .rect1{
    right: unset;
    left: 0;
}








@media (max-width: 1360px) {
   .info-column .body-contact-us .form-box form.elementor-form textarea.elementor-field,
   .info-column .body-contact-us .form-box form textarea{
        height: 164px;
    }
}
@media (max-width: 767px) {

    .contact-us.hide-header-button-mobile .head-btns{
        display: none;
    }
    .body-contact-us.map-mask .info-box .map img{
        position: unset;
    }
    .body-contact-us .address-box{
        margin-bottom: 8px;
    }
    .contact-us{
        padding-bottom: 56px;
        position: relative;
        margin-bottom: 41px;
    }
    .contact-us.hide-header-button-mobile{
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .contact-us .head{
        position: unset;
    }
    .contact-us .head-btns{
        width: 100%;
        padding: 0;
        position: absolute;
        bottom: 0;
        right: 0;
        align-items: center;
        justify-content: center;
    }
    .contact-us .head-btns .btn{
    }
    .contact-us .line{
        display: none;
    }
    .info-column .body-contact-us .address-box .address-item{
        width: 100%;
    }
    .contact-us:not(.element-layout) .body-contact-us .info-box{
        padding: 12px;
    }

}
@media (max-width: 575px){
    .body-contact-us .d-flex > .info-wrap,
    .body-contact-us .d-flex > .form-wrap{
        padding: 0;
        margin-bottom: 20px;
    }
    .body-contact-us .bg_svg .rect1{
        max-width: 60%;
    }

    .body-contact-us .form-box .form-mask-wrapper,
    .contact-us .head{
        padding: 0 12px;
    }

    /*.body-contact-us .info-box,*/
    /*.body-contact-us .form-box{*/
    /*    padding: 0 24px;*/
    /*}*/
    .body-contact-us .info-box{
        margin-bottom: 24px;
    }
    .body-contact-us .info-box:before{
        width: 50%;
        height: 85%;
        left: unset;
        right: 0;
        bottom: 24px;
        transform: unset;
        border-radius: 48px 0 0 48px;
    }
    .body-contact-us .form-box{
        margin-bottom: 44px;
    }
    .body-contact-us .form-box:before{
        width: 50%;
        height: 85%;
        left: 0;
        bottom: -28px;
        transform: unset;
        border-radius: 0 48px 48px 0;
    }
    .body-contact-us .head-up-mask{
        border-radius: 32px 0 0 0;
    }
    .body-contact-us .head-left .head-up-mask{
        border-radius: 0 32px 0 0;
    }
    .body-contact-us .head-up-mask-wrap:before,
    .body-contact-us .head-left .info-box .head-up-mask-wrap:before,
    .body-contact-us .head-left .form-box .form-mask-wrapper.head-up-mask-wrap:before{
        border-radius: 0;
    }
    .body-contact-us .form-wrap ._head-up-mask,
    .body-contact-us .info-box .head-up-mask,
    .body-contact-us .info-box .head-up-mask-wrap {
        margin: 0 -10px !important;
    }
    .body-contact-us .form-wrap .head-up-mask,
    .body-contact-us .form-wrap .head-up-mask-wrap{
        margin: 0 !important;
    }
}
