/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
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: 1.0.1
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
*/

/* Header */
.header-menu nav ul li a .sub-arrow {
    padding-left: 4px;
    padding-top: 5px;
}

.header-menu nav ul li a::after {
    bottom: -7px !important;
    background-color: var(--e-global-color-c6355f0) !important;
}

/* Header */

/* Home Page */
.bnr-divider .elementor-divider-separator {
    border: none !important;
    height: 2px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

.dual-hd {
    font-weight: 500;
}

.main-bnr::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(2, 16, 25, 0.3);
}

/* circle ani */
.circle {
    overflow: hidden;
    margin: auto;
    animation: circle 8s linear infinite;
}

@keyframes circle {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

.color-divider .elementor-divider-separator {
    border: none !important;
    height: 1px;
    background: linear-gradient(90deg, rgba(21, 73, 110, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

.serv-loop-bx .elementor-loop-container {
    display: flex !important;
    width: 100% !important;
    flex-wrap: wrap;
    
}

.serv-loop-bx .newcontainerwrap {
    display: flex !important;
    flex-wrap: wrap;
    width: 100% !important;
    column-gap: 9px;
    row-gap: 11px;
}

.serv-loop-bx .e-loop-item {
    width: calc(50% - 8px) !important;
}

.serv-loop-bx .elementor-loop-container .e-loop-item:nth-child(2n) {
    position: relative;
    top: -60px;
}

/* Home Page end*/


/* Footer */
/* Contact US */
.contact-frm .gform_heading {
    display: none;
}


.contact-frm form .gform-body .gform_fields .name_first {
    padding: 0 !important;
}


.contact-frm .gform_wrapper.gravity-theme .gform_validation_errors>h2 {
    font-size: 11px;
    line-height: 1.2em;
    font-weight: 600 !important;
}


.contact-frm .gform_wrapper.gravity-theme .gform_validation_errors>h2 .gform-icon {
    font-size: 20px;
    inset-inline-start: 13px;
}


.contact-frm form .gform-body .gform_fields .ginput_container input:not([type="submit"]),
.contact-frm form .gform-body .gform_fields .ginput_container textarea,
.contact-frm form .gform-body .gform_fields .ginput_container select {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 26px;
    color: #BFD8DA;
    height: 38px;
    padding: 0 0;
    border-color: #fff !important;
    border-radius: 0;
    border-width: 0 0 1px 0;
    background: transparent !important;

}


.contact-frm form .gform-body .gform_fields .ginput_container textarea {
    height: 89px;
    resize: none;
    padding-top: 0;
    padding-bottom: 13px;
}


.contact-frm form .gform-body .gform_fields .ginput_container input::placeholder,
.contact-frm form .gform-body .gform_fields .ginput_container textarea::placeholder,
.contact-frm form .gform-body .gform_fields .ginput_container select::placeholder {
    color: #BFD8DA;
    opacity: 1;
    vertical-align: top;
}

.contact-frm form .gform-body .gform_fields .ginput_container select {
    background-image: url('data:image/svg+xml,<svg width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.9989 7.63529C7.08247 7.63538 7.16523 7.61895 7.24243 7.58696C7.31962 7.55497 7.38974 7.50804 7.44875 7.44886L13.8115 1.08615C14.0601 0.837531 14.0601 0.434931 13.8115 0.186467C13.5628 -0.0619966 13.1602 -0.0621557 12.9118 0.186467L6.9989 6.09933L1.08604 0.186467C0.837415 -0.0621557 0.434813 -0.0621557 0.18635 0.186467C-0.0621138 0.43509 -0.062273 0.83769 0.18635 1.08615L6.54906 7.44886C6.60807 7.50804 6.67818 7.55497 6.75538 7.58696C6.83258 7.61895 6.91534 7.63538 6.9989 7.63529Z" fill="%235C5C5C"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-size: 14px !important;
    background-position: 96% center !important;
    appearance: none;
}

.contact-frm form .gform-body .gform_fields .ginput_container input:focus,
.contact-frm form .gform-body .gform_fields .ginput_container textarea:focus,
.contact-frm form .gform-body .gform_fields .ginput_container select:focus {
    outline: none;
    color: #fff;
}


.contact-frm .gfield_required_asterisk {
    color: #000 !important;
}

.contact-frm form .gform-body .gform_fields {
    grid-column-gap: 37px;
    grid-row-gap: 34px;
}


.contact-frm form .gform-body .gform_fields .gfield_label {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 26px;
    color: var(--e-global-color-4b5e155);
    margin-bottom: 0;
    text-transform: capitalize;
}


/* Blog Listing Page */


/* Contact Form */
.contact-frm .gform-footer .gform_button {
    color: #222222 !important;
    margin: 0 !important;
    border: none;
    background-color: #fff;
}




.contact-frm .gform-footer .gform_button:hover {
    background-color: var(--e-global-color-secondary) !important;
    color: #fff !important;
    border-color: #fff;
}


.contact-frm .gform-footer {
    margin: 0 !important;
    padding: 0 !important;
    margin-top: 31px !important;
}


.contact-frm .gfield_description.validation_message.gfield_validation_message {
    text-transform: none !important;
}


.contact-frm .gfield {
    position: relative;
}


.contact-frm .validation_message {
    /* display: none;  */
    position: absolute;
    top: 67%;
    right: 10px;
    transform: translateY(-50%);
    z-index: 1;
    width: 30px !important;
    min-height: 25px !important;
    border-radius: 50px;
    padding: 5px 35px 5px 10px !important;
    overflow: hidden;
    font-size: 0 !important;
    background-color: #fff !important;
    line-height: 1.2 !important;
    cursor: help;
    background: url(images/info.png) right center no-repeat !important;
    background-size: 20px !important;
    margin: 0 !important;
    border: 1px solid transparent !important;


}


.contact-frm .validation_message:hover {
    font-size: 10px !important;
    max-width: calc(100% - 20px) !important;
    width: auto !important;
    border: 1px solid #c02b0a !important;
    transition: all 0.3s ease-in-out;
    background-color: #fff !important;
}


.contact-frm .gfield--type-textarea .validation_message {
    top: 5px !important;
    transform: translateY(-0%);
}


.contact-frm .gform_wrapper.gravity-theme .gform_validation_errors {
    padding: 10px 15px 10px 40px !important;
}


.contact-frm .gform_confirmation_message {
    text-align: center !important;
}


.contact-frm form .gform_fields .gfield.gfield--input-type-email input {
    text-transform: lowercase;
}

.contact-frm form .gform_fields .gfield.gfield--input-type-email input::placeholder {
    text-transform: capitalize;
}

/* Contact Us */
/* Footer */
.ftr-social-link .elementor-social-icons-wrapper {
    position: relative;
}

/* .ftr-social-link .elementor-social-icons-wrapper::after{
    content: '';
    position: absolute;
    width: calc(100% - 26px);
    height: 1px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(-90deg,rgba(69, 134, 198, 0) 0%, rgba(69, 134, 198, 1) 100%);
} */
/* Footer */

/* Office Page */
.serv-img-bx .elementor-image-box-wrapper h4 {
    max-width: 95%;
}

/* Office Page */


/* Services Page */

.service-wrapper {
    /* max-width: 1200px; */
    /* margin: 60px auto; */
    display: flex;
    gap: 66px;
    align-items: flex-start;
}

/* Left Menu */
.service-menu {
    max-width: 505px;
}

.service-menu button {
    width: 100%;
    text-align: left;
    padding: 16px 19px 14px 19px !important;
    margin-bottom: 20px;
    background: #F2F2F2 !important;
    color: #222222 !important;
    border-radius: 10px !important;
    cursor: pointer;
    border: none !important;
    transition: all 0.3s ease;
    font-size: var(--e-global-typography-secondary-font-size) !important;
    font-weight: var(--e-global-typography-secondary-font-weight) !important;
    text-transform: var(--e-global-typography-secondary-text-transform) !important;
    text-decoration: var(--e-global-typography-secondary-text-decoration);
    line-height: var(--e-global-typography-secondary-line-height) !important;
    letter-spacing: var(--e-global-typography-secondary-letter-spacing) !important;
    position: relative;
}

.service-menu button.active,
.service-menu button:hover {
    background: #15496E !important;
    color: #fff !important;
}

/* Right Content */
.service-content {
    flex: 1;
}

.service-tab {
    display: none;
}

.service-tab.active {
    display: block;
}

.service-image {
    height: 507px;
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 25px;
}

.service-image img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}


.service-menu button.active::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 22px solid transparent;
    border-bottom: 22px solid transparent;
    border-left: 16px solid #15496E;
}

/* Optional smooth animation */
.service-menu button::before,
.service-menu button::after {
    opacity: 0;
    transition: opacity 0.3s ease, right 0.3s ease;
}

.service-menu button.active::before,
.service-menu button.active::after {
    opacity: 1;
}

.service-menu button:hover::after {
    opacity: 1 !important;
}

.service-text p {
    color: #5C5C5C;
}
.service-read-more a{
    background-color: var(--e-global-color-c6355f0);
    font-family: "Sofia Pro", Sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-style: normal;
    text-decoration: none;
    line-height: 1em;
    letter-spacing: 0.6px;
    word-spacing: 0px;
    color: var(--e-global-color-4b5e155);
    border-radius: 30px 30px 30px 30px;
    font-size: 16px;
    padding: 18px 32px 16px 32px;
    display: inline-flex;
    border:1px solid var(--e-global-color-c6355f0);
    margin-top: 20px;
    transition: all 0.3s ease-in-out;

}
.service-read-more a:hover{
    background-color: var(--e-global-color-4b5e155);
    color: var(--e-global-color-c6355f0);
}
/* Services Page */

/* Contact Us */
.contact-frm.contact-pg form .gform-body .gform_fields .gfield_label {
    color: var(--e-global-color-b31cf6e);
}

.contact-frm.contact-pg form .gform-body .gform_fields .ginput_container input:not([type="submit"]),
.contact-frm.contact-pg form .gform-body .gform_fields .ginput_container textarea,
.contact-frm.contact-pg form .gform-body .gform_fields .ginput_container select {
    border-color: var(--e-global-color-b31cf6e) !important;
    color: var(--e-global-color-b31cf6e);
}

.contact-frm.contact-pg form .gform-body .gform_fields .ginput_container input:not([type="submit"])::placeholder,
.contact-frm.contact-pg form .gform-body .gform_fields .ginput_container textarea::placeholder,
.contact-frm.contact-pg form .gform-body .gform_fields .ginput_container select::placeholder {
    color: var(--e-global-color-b31cf6e);
}

.contact-frm.contact-pg .gform-footer .gform_button {
    background-color: var(--e-global-color-c6355f0);
    color: #fff !important;
    box-shadow: 0px 14px 44px rgba(69, 134, 198, 0.3);
}

.contact-frm.contact-pg .gform-footer .gform_button:hover {
    color: var(--e-global-color-c6355f0) !important;
    background-color: #D8ECFF !important;
    box-shadow: none;
}

.page-id-877 .ftr-contact-bx {
    display: none;
}

/* Contact Us */

.page_content_detials h3, .page_content_detials h4{
	color: var(--e-global-color-c6355f0);
}
.page_content_detials .bldr_cta{
	display: inline-block;
}
.page_content_detials div{
	padding: 15px;
    background: #f3f9ff;
    border-left: 5px solid #4586c6;
	margin-bottom: 30px;
}
.page_content_detials .cmn-table {
    background: transparent;
    border-left: 0;
	padding: 0;
	margin-bottom: 30px;
}
@media (max-width: 767px){
	.cmn-table {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.cmn-table table {
  min-width: 600px;
  border-collapse: collapse;
}
}




/* Responsive */
@media only screen and (min-width: 1025px) and (max-width: 1600px) {
    html body:not(.error404) {
        zoom: 0.80;
        zoom: 80%;
    }
}

@media(min-width: 1024px) {
    .contact-mnu {
        display: none !important;
    }

    .header-menu nav ul li:nth-last-of-type(2) a {
        margin-right: 0 !important;
    }
}

@media (max-width: 992px) {
    .service-wrapper {
        flex-direction: column;
        gap: 38px;
    }

    .service-menu {
        width: 100%;
        max-width: 100%;
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 35px;
    }

    .service-menu button {
        white-space: nowrap;
        margin-bottom: 0;
    }

    .service-menu button.active::after {
        right: 0;
        left: 50%;
        top: unset;
        bottom: -24px;
        transform: translatex(-50%) rotate(90deg);
    }

    /* ===== FORCE HORIZONTAL SCROLLBAR TRACK ===== */

.service-menu {
    scrollbar-width: auto; /* Firefox */
    scrollbar-color: #4586C6 #dbe8f5; /* thumb | track */
    scroll-behavior: smooth;
}

/* Chrome, Edge, Safari */
.service-menu::-webkit-scrollbar {
    height: 8px; /* increase height to show track */
}

.service-menu::-webkit-scrollbar-track {
    background-color: #dbe8f5 !important;
    border-radius: 10px;
}

.service-menu::-webkit-scrollbar-thumb {
    background-color: #4586C6;
    border-radius: 10px;
}

.service-menu::-webkit-scrollbar-thumb:hover {
    background-color: #3a74ad;
}

}

@media(max-width: 767px) {
    .serv-loop-bx .e-loop-item {
        width: 100% !important;
    }

    .serv-loop-bx .elementor-loop-container .e-loop-item:nth-child(2n) {
        top: -0;
    }
}

@media(max-width: 640px) {
    .contact-frm form .gform-body .gform_fields {
        grid-column-gap: unset;
        grid-row-gap: 20px;
    }

    .service-image {
        height: 217px;
    }

    .service-wrapper {
        display: flex;
        gap: 30px;
    }

}