/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.elementor-icon-wrapper,
.elementor-widget-button {
    line-height: 0;
}

/* ---------- Header CSS ---------- */

.main_btn .elementor-button-icon svg {
    width: 19px !important;
}

/* .header_main_menu .elementor-nav-menu--dropdown {
    box-shadow: 0px 25px 35px 3px #EDEDED;
} */

.header_main_menu .elementor-item {
    position: relative;
    transition: all 0.2s ease-in;
    padding-bottom: 15px !important;
}

.header_main_menu .elementor-item::after {
    content: '';
    width: 0;
    height: 0;
    background-color: #FFFFFF !important;
    opacity: 1 !important;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0);
}

.header_main_menu .elementor-item:hover::after {
    width: 65px;
    height: 1px;
    transform: translate(-50%, 0);
}

.header_main_menu .elementor-item.elementor-item-active {
    position: relative;
}

.header_main_menu .elementor-item.elementor-item-active::before {
    content: '';
    width: 65px;
    height: 1px;
    background-color: #FFFFFF !important;
    opacity: 1 !important;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0);
}



/* ---------- Header CSS ---------- */



/* ---------- Footer CSS ---------- */

.footer-menu_wid .elementor-nav-menu .elementor-item {
    display: inline-block;
    position: relative;
    transition: all 0.3s ease-in;
    overflow: hidden;
    padding-bottom: 5px !important;
}

.footer-menu_wid .elementor-nav-menu .elementor-item::after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: #FFFFFF !important;
    opacity: 1 !important;
    position: absolute;
    left: -100%;
    bottom: 0;
    transition: all 0.3s ease-in;
}

.footer-menu_wid .elementor-nav-menu .elementor-item:hover::after {
    left: 0;
    transition: all 0.3s ease-in;
}

.footer-menu_wid .elementor-item.elementor-item-active {
    position: relative;
}

.footer-menu_wid .elementor-item.elementor-item-active::before {
    content: '';
    width: 100%;
    height: 1px;
    background-color: #FFFFFF !important;
    left: 0;
    bottom: 0;
    position: absolute;
}

.footer_social-icons .elementor-grid-item .elementor-social-icon {
    position: relative;
    transition: all 0.2s ease-in;
    overflow: hidden;
}

.footer_social-icons .elementor-social-icon::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #FFFFFF;
    left: 0;
    bottom: -100%;
    transition: all 0.2s ease-in;
}

.footer_social-icons .elementor-social-icon:hover::after {
    bottom: 0;
    transition: all 0.2s ease-in;
    z-index: -1;
}

.foot_news_form .elementor-shortcode input[type="email"] {
    height: 64px;
    padding: 19px;
    font-size: 17px 65px 17px 17px;
    font-family: 'Instrument Sans';
    text-transform: lowercase;
    color: rgb(32, 42, 54);
    font-weight: 400;
    line-height: 20px;
    outline: none !important;
    border: 0;
    box-shadow: none;
    border-radius: 0;
}

.foot_news_form .elementor-shortcode input[type="email"]::placeholder {
    text-transform: capitalize;
    color: rgba(84, 84, 84, 1);
}

.foot_news_form .elementor-shortcode .gform_fields {
    display: unset;
}

.foot_news_form .elementor-shortcode .gform-footer {
    margin-top: 0;
}

.foot_news_form .elementor-shortcode input[type="image"] {
    padding: 0 !important;
    background-color: transparent !important;
    position: absolute !important;
    right: 10px !important;
    top: 8px !important;
    outline: none !important;
}

.foot_news_form .elementor-shortcode .gform_wrapper {
    position: relative;
}

.foot_news_form .gform_validation_errors {
    display: none !important;
}

.foot_news_form .gform-loader {
    position: absolute !important;
    top: 15px;
    right: 10px;
}

.foot_news_form .gfield_validation_message {
    color: #FFFFFF !important;
}

.grecaptcha-badge {
    z-index: 99999 !important;
}

.foot_news_form .gform_confirmation_message {
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 500;
}

/* ---------- Footer CSS ---------- */



/* ---------- Homepage CSS ---------- */

.divider_text_main .elementor-divider .elementor-divider-separator::before {
    height: 5px;
    width: 5px;
    border-radius: 100%;
    position: absolute;
    right: 0;
    background-color: #FFF;
}

.divider_text_main-blue .elementor-divider .elementor-divider-separator::before {
    height: 5px;
    width: 5px;
    border-radius: 100%;
    position: absolute;
    right: 0;
    background-color: rgba(31, 58, 122, 1);
}

.header-title_main .elementor-heading-title span {
    font-size: 60px;
    line-height: 60px;
    font-weight: 400;
}

.scroll_down_effect img {
    animation: floatUpDown 2s ease-in-out infinite;
}

@keyframes floatUpDown {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(12px);
    }

    100% {
        transform: translateY(0);
    }
}

.main_btn .elementor-button {
    position: relative;
    transition: all 0.3s ease-in;
    overflow: hidden;
    border: 1px solid transparent !important;
}

.main_btn .elementor-button::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(31, 58, 122, 1) !important;
    position: absolute;
    left: -100%;
    bottom: 0;
    transition: all 0.2s ease-in;
    z-index: 0;
}

.main_btn .elementor-button:hover::after {
    left: 0;
    transition: all 0.2s ease-in;
}

.main_btn .elementor-button:hover {
    color: #FFFFFF !important;
    border-color: #FFFFFF !important;

}

.main_btn .elementor-button:hover span {
    z-index: 2;
}

.main_btn .elementor-button:hover span svg path {
    fill: #FFFFFF;
    transition: all0.2s ease-in;
}

/* ---------- Homepage CSS ---------- */


/* ---------- Homepage Timeline CSS ---------- */

.timline_title span {
    font-weight: 700;
}

/* ---------- Homepage Timeline CSS ---------- */


/* ---------- Blog Section CSS ---------- */

.home_article_main .elementor-swiper-button:hover svg path {
    fill: #FFFFFF;
    transition: all 0.2s ease-in;
}

.home_article_main .swiper {
    overflow: visible;
}

.home_article_main .swiper-slide {
    opacity: 0;
    transition: opacity 0.3s !important;
    z-index: 11;
}

.home_article_main .swiper-slide-active,
.home_article_main .swiper-slide-next,
.home_article_main .swiper-slide-next+.swiper-slide {
    opacity: 1;
}

.main_blog-temp .blog_listing-titile {
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---------- Blog Section CSS ---------- */


/* ---------- Blog Section CSS ---------- */

.testimonial_slider .swiper {
    overflow: visible;
}

.testimonial_slider .swiper-slide {
    opacity: 0;
    transition: opacity 0.3s !important;
    z-index: 11;
}

.testimonial_slider .swiper-slide-active {
    opacity: 1;
}

.testimonial_slider .elementor-swiper-button:hover svg path {
    fill: rgba(31, 58, 122, 1);
    transition: all 0.3s ease-in;
}

/* ---------- Blog Section CSS ---------- */


/* ---------- Practice area Section CSS ---------- */

.main_loop_car_wid .swiper-wrapper {
    cursor: grab;
}

/* .main_loop_car_wid .p-area_content-div {
    display: none;
} */

.main_loop_car_wid .loop-item {
    cursor: auto;
}

/* .main_loop_car_wid .e-loop-item.swiper-slide-active .p-area_content-div {
    display: block;
} */

.practice_main-btn .elementor-button:hover svg path {
    fill: #FFFFFFCF;
    transition: all 0.2s ease-in;
}

.icon-bcg_shape {
    position: relative;
}

.icon-bcg_shape::after {
    content: '';
    width: 46px;
    height: 46px;
    background-color: #FFFFFF;
    opacity: 20%;
    border-radius: 100%;
    position: absolute;
    left: 22px;
    top: -18px;
}

/* ---------- Practice area Section CSS ---------- */


/* ---------- Best Leagal Section CSS ---------- */

.services_img-shape {
    position: relative;
}

.services_img-shape::after {
    content: '';
    width: 45px;
    height: 45px;
    background-color: rgba(221, 232, 255, 1);
    opacity: 50%;
    border-radius: 100%;
    position: absolute;
    left: 28px;
    top: 0px;
    z-index: -1;
}

.p-area_main-div .icon-bcg_shape img{
    filter: brightness(0) invert(1);
}

.services_img-shape img {
    z-index: 2;
}

.main_counter-div .elementor-counter h4 {
    padding-left: 10px;
}

.contactusp-ic-div:hover .elementor-icon-box-wrapper .elementor-icon-box-title span {
    color: rgb(31, 58, 122);
    transition: all 0.3s ease-in;
}

.legal_details_pcontent h3 {
    color: #202A36;
    margin: 20px 0;
}

.legal_details_pcontent p {
    padding-bottom: 10px;
}

.legal_details_pcontent ul,
.legal_details_pcontent ol {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-bottom: 10px;
}

.legal_details_pcontent ul li,
.legal_details_pcontent ol {
    color: #202A36;
}

.legal_details_pcontent p a {
    color: #1F3A7A;
    font-weight: 700;
    transition: all 0.2s ease-in-out;

    &:hover{
        color: #202A36;
        transition: all 0.2s ease-in-out;
    }
}

/* ---------- Best Leagal Section CSS ---------- */


/* ---------- Contact Page Contact Section CSS ---------- */

.contactp_icbox_main .elementor-icon-box-icon .elementor-icon {
    position: relative;
}

.contactp_icbox_main .elementor-icon-box-icon .elementor-icon::after {
    content: '';
    width: 56px;
    height: 56px;
    background-color: rgba(221, 232, 255, 1);
    border-radius: 100%;
    opacity: 50%;
    position: absolute;
    top: -18px;
    left: 23px;
}

.contactp_icbox_main .elementor-icon-box-icon .elementor-icon svg {
    z-index: 2;
}


.contact_g-form .elementor-shortcode .gform_fields input,
.contact_g-form .elementor-shortcode .gform_fields select,
.contact_g-form .elementor-shortcode .gform_fields textarea {
    height: 61px;
    border: 1px solid rgba(237, 237, 237, 1);
    border-radius: 0;
    box-shadow: none;
    padding: 20px 19px;
    color: rgba(32, 42, 54, 1);
    font-family: 'Instrument Sans';
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0;
    outline: none !important;
    resize: none;
}

.contact_g-form .elementor-shortcode .gform_fields input::placeholder,
.contact_g-form .elementor-shortcode .gform_fields select::placeholder,
.contact_g-form .elementor-shortcode .gform_fields textarea::placeholder {
    color: rgba(84, 84, 84, 1);
    opacity: 1;
    text-transform: capitalize;
}

.contact_g-form .elementor-shortcode .gform_fields input[type="email"] {
    text-transform: lowercase;
}

.contact_g-form .elementor-shortcode .gform_fields .textarea.medium {
    min-height: 138px;
    max-height: 138px;
}

.contact_g-form .elementor-shortcode .gform_fields {
    gap: 21px;
}

.contact_g-form .elementor-shortcode .gform_validation_errors {
    display: none !important;
}

.contact_g-form .elementor-shortcode .gform_wrapper .gform-footer input[type="submit"] {
    height: 60px !important;
    width: 145px !important;
    background-color: rgba(31, 58, 122, 1) !important;
    font-family: 'Instrument Sans' !important;
    font-weight: 500 !important;
    font-size: 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.6px !important;
    border: 1px solid rgba(31, 58, 122, 1) !important;
    border-radius: 0 !important;
    outline: none !important;
    transition: all 0.3s ease-in !important;
}

.contact_g-form .elementor-shortcode .gform_wrapper .gform-footer input[type="submit"]:hover {
    background-color: transparent !important;
    transition: all 0.3s ease-in !important;
    color: rgba(31, 58, 122, 1) !important;
}

.contact_g-form .elementor-shortcode .gform_wrapper .gform-footer input[type="submit"]:focus {
    outline: none !important;
}

.contact_g-form .elementor-shortcode .gform_wrapper .gfield {
    position: relative;
}

/* .contact_g-form .elementor-shortcode .gform_wrapper .gfield .gfield_description {
    position: absolute;
    bottom: 20px;
    right: 20px;
} */

.contact_g-form .elementor-shortcode .gform_wrapper .gform-footer {
    margin-top: 21px;
}

.contact_g-form .elementor-shortcode .gform_wrapper .gform_confirmation_message {
    font-size: 20px;
    font-weight: 500;
    font-family: 'Instrument Sans';
    text-align: center;
    margin-top: 100px;
    color: rgb(31, 58, 122);
}

/* ---------- Contact Page Contact Section CSS ---------- */


/* ---------- Blog Page CSS ---------- */

.blog_main_lgwid .elementor-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
}

.blog_main_lgwid .elementor-pagination .page-numbers {
    height: 57px;
    width: 57px;
    border: 1px solid rgba(241, 241, 241, 1);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 !important;
}

.blog_main_lgwid .elementor-pagination .page-numbers.current {
    background-color: rgba(31, 58, 122, 1);
    color: #FFFFFF;
}

.blog_main_lgwid .elementor-pagination a {
    position: relative;
    transition: all 0.2s ease-in;
    overflow: hidden;
}

.blog_main_lgwid .elementor-pagination a::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(31, 58, 122, 1);
    color: #FFFFFF;
    position: absolute;
    bottom: -100%;
    left: 0;
    transition: all 0.2s ease-in;
    z-index: -1;
}

.blog_main_lgwid .elementor-pagination a:hover::after {
    bottom: 0;
    transition: all 0.2s ease-in;
}

.blog_main_lgwid .elementor-pagination .prev,
.blog_main_lgwid .elementor-pagination .next {
    font-size: 25px !important;
    padding-bottom: 6px;
}

/* ---------- Blog Page CSS ---------- */



/* ---------- ZOOM CSS ---------- */

@media only screen and (min-width: 1601px) and (max-width: 1820px) {
    html {
        zoom: 0.80;
        zoom: 80%;
    }
}

@media only screen and (min-width: 1536px) and (max-width: 1600px) {
    html {
        zoom: 0.80;
        zoom: 80%;
    }
}

@media only screen and (min-width: 1440px) and (max-width: 1535px) {
    html {
        zoom: 0.80;
        zoom: 80%;
    }
}

@media only screen and (min-width: 1201px) and (max-width: 1439px) {
    html {
        zoom: 0.75;
        zoom: 75%;
    }

}

@media(max-width: 1200px) {
    .foot_news_form .elementor-shortcode input[type="email"] {
        height: 55px;
    }

    .foot_news_form .elementor-shortcode input[type="image"] {
        width: 40px !important;
        height: 40px !important;
        top: 8px !important;
        right: 5px !important;
    }

    .header-title_main .elementor-heading-title span {
        font-size: 40px;
        line-height: 40px;
    }

    /* .p-area_content-div {
        margin-bottom: -180px !important;
    } */

    .services_img-shape::after {
        width: 45px;
        height: 45px;
        left: 20px;
        top: -15px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {

    .header_main_menu .elementor-item::after {
        display: none;
    }

    .header_main_menu .elementor-item.elementor-item-active::before {
        display: none;
    }

    .header-title_main .elementor-heading-title span {
        font-size: 30px;
        line-height: 30px;
    }

    /* .p-area_content-div {
        margin-bottom: -140px !important;
    } */

    .services_img-shape::after {
        width: 40px;
        height: 40px;
        left: 15px;
        top: -10px;
    }

    .main_hero_banner {
        padding-top: 50px !important;
    }

    .contactp_icbox_main .elementor-icon-box-icon .elementor-icon::after {
        width: 45px;
        height: 45px;
        top: -12px;
        left: 16px;
    }

    .contact_g-form .elementor-shortcode .gform_fields input,
    .contact_g-form .elementor-shortcode .gform_fields select,
    .contact_g-form .elementor-shortcode .gform_fields textarea {
        height: 55px;
    }

    .contact_g-form .elementor-shortcode .gform_wrapper .gform_confirmation_message {
        font-size: 18px;
        margin-top: 50px;
        padding-bottom: 50px;
    }

    .foot_news_form .gform_confirmation_message {
        font-size: 18px;
    }

    .blog_main_lgwid .elementor-pagination .page-numbers {
        height: 47px;
        width: 47px;
    }
}


@media(max-width: 767px) {
    .foot_news_form .elementor-shortcode input[type="email"] {
        height: 50px;
    }

    .foot_news_form .elementor-shortcode input[type="image"] {
        width: 40px !important;
        height: 40px !important;
        top: 5px !important;
        right: 5px !important;
    }

    .header_main_menu .elementor-item {
        overflow: hidden;
        display: inline-block;
        padding-bottom: 10px !important;
    }

    .header_main_menu .elementor-item::after {
        width: 100% !important;
        height: 1px;
        left: -100%;
        transition: all 0.2s ease-in;
    }

    .header_main_menu .elementor-item:hover::after {
        width: 100% !important;
        left: 0;
        transition: all 0.2s ease-in;
    }

    .header_main_menu .elementor-item.elementor-item-active::before {
        width: 100% !important;
    }

    .header-title_main .elementor-heading-title span {
        font-size: 28px;
        line-height: 30px;
    }

    /* .p-area_content-div {
        margin-bottom: 0 !important;
    } */

    /* .main_loop_car_wid .e-loop-item.swiper-slide-active .p-area_content-div {
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    } */

    .icon-bcg_shape::after {
        width: 40px;
        height: 40px;
        left: 15px;
        top: -15px;
    }

    .main_counter-div .elementor-counter h4 {
        padding-left: 0px;
    }

    .contactp_icbox_main .elementor-icon-box-icon .elementor-icon::after {
        width: 35px;
        height: 35px;
        top: -12px;
        left: 15px;
    }

    .contact_g-form .elementor-shortcode .gform_fields {
        gap: 18px;
    }

    .contact_g-form .elementor-shortcode .gform_fields input,
    .contact_g-form .elementor-shortcode .gform_fields select,
    .contact_g-form .elementor-shortcode .gform_fields textarea {
        height: 50px;
        padding: 15px;
        font-size: 15px;
    }

    .contact_g-form .elementor-shortcode .gform_fields .textarea.medium {
        min-height: 110px;
    }

    .contact_g-form .elementor-shortcode .gform_wrapper .gform-footer {
        margin-top: 18px;
    }

    .contact_g-form .elementor-shortcode .gform_wrapper .gform-footer input[type="submit"] {
        font-size: 15px !important;
        height: 52px !important;
        width: 100% !important;
    }

    .contact_g-form .elementor-shortcode .gform_wrapper .gform_confirmation_message {
        font-size: 16px;
        margin-top: 50px;
        padding-bottom: 50px;
    }

    .foot_news_form .gform_confirmation_message {
        font-size: 16px;
    }

    .blog_main_lgwid .elementor-pagination .page-numbers {
        height: 40px;
        width: 40px;
    }

    .legal_details_pcontent h3 {
        color: #202A36;
        margin: 20px 0;
    }

    .legal_details_pcontent p {
        padding-bottom: 6px;
    }

    .legal_details_pcontent ul {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding-bottom: 8px;
    }


}

@media only screen and (min-width: 402px) and (max-width: 767px) {
    .execution_third-btn {
        transform: translate(-20px, 145px) !important;
    }

    .timeline_parent_div {
        display: flex !important;
        justify-content: end !important;
    }
}

@media (min-width: 401px) {
    .timeline_parent_div {
        display: flex;
        justify-content: end;
    }
}