/*************************************
         Header style 
**************************************/
.site-header {
    padding: 15px 0;
    position: fixed;
    width: 100%;
    z-index: 999222;
    transition: background 0.3s ease-in-out;
}
.site-header.scrolled-header {
    background-color: var(--color-white);
    border-bottom: 1px solid #d9d9d9;
}
.project-template-default .site-header.scrolled-header {
    border-bottom: unset;
}
.site-header.scrolled-header #primary-menu a,
.project-template-default #primary-menu a {
    color: var(--light-dark);
}

#site-navigation ul#primary-menu {
    display: flex;
    gap: 24px;
}
.black_logo,
.scrolled-header .custom-logo-link,
.lg_blackicon,
.scrolled-header .lg_whiteicon,
.project-template-default .custom-logo-link {
    display: none;
}
.scrolled-header .black_logo,
.scrolled-header .lg_blackicon,
.project-template-default .black_logo {
    display: block;
}
#primary-menu .current_page_item {
    border-bottom: 2px solid var(--primary-blue);
    padding-bottom: 5px;
}
#primary-menu .current_page_item a {
    color: var(--primary-blue) !important;
}
.services_submenu {
    display: flex;
    gap: 45px;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-left: 20px;
    padding-bottom: 0px;
}
.services_submenu::-webkit-scrollbar {
    height: 4px;
}
.services_submenu::-webkit-scrollbar-thumb {
    background: var(--light-grey); /* Color of the scrollbar */
    border-radius: 10px; /* Make it rounded */
}

.services_sub_menu_wrapper {
    position: relative;
    width: 100%;
    background: var(--color-white);
    z-index: 1000;
    transition: all 0.3s ease-in-out;
    display: none; /* Initially hidden */
    position: fixed;
    top: 109px;
    width: 100%;
    z-index: 99;
    padding: 15px 0;
    border-bottom: 1px solid #d9d9d9;
    background-color: var(--color-white);
}
.services_sub_menu_wrapper.sticky_menu {
    display: block;
}
.services_submenu_title a {
    transition: color 0.3s ease;
}
.services_submenu_title a.active_serviceitem h6 {
    color: var(--light-dark);
}
.services_submenu_title a.active_serviceitem {
    position: relative;
}
.services_submenu_title a.active_serviceitem::before {
    content: "" "";
    position: absolute;
    top: 9px;
    left: -10px;
    width: 6px;
    height: 6px;
    background: #0094ff;
    border-radius: 100%;
}
.job_mbbt,
.menu_hamburger,
.mobile_menu_hd {
    display: none;
}
.linkedin-feedback {
    padding-top: 72px;
}
.feedback_title {
    margin-bottom: 30px;
}
.feedline-bar {
    width: 100%;
    height: 1px;
    background-color: #1d1d1b26;
    padding: 0 22px;
    margin-top: 88px;
}
#site-navigation #primary-menu li:first-child a,
#site-navigation #primary-menu li:nth-child(2) a {
    color: #0094ff;
}
.service-mobile-label {
    display: none;
}
/*************************************
         Hero Banner style 
**************************************/
section.hero-banner {
    background:
        linear-gradient(
            0deg,
            rgba(0, 148, 255, 0.18) 0%,
            rgba(0, 148, 255, 0) 42.65%
        ),
        #00001b;
    min-height: 810px;
    padding: 32px 0;
}
.hero_banner_left_col {
    padding-top: 228px;
}
.hero_banner_left_col h1 {
    margin-bottom: 39px;
}
.hero_banner_left_col h1 span {
    color: var(--primary-blue);
}
.hero_bannr_descrpt {
    margin-bottom: 47px;
}
.hero_banner_right_col {
    max-width: fit-content;
    height: 100%;
    margin-left: auto;
    margin-top: 100px;
}
.hero_banner_right_col video {
    max-height: 702px;
    mix-blend-mode: screen;
    height: 100%;
    max-width: 714px;
}

/*************************************
        Text Image Section style 
**************************************/
.text-image-section {
    padding: 200px 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}
.text_content_wrapper h2 {
    margin-bottom: 29px;
}
.text_content_wrapper p {
    margin-bottom: 53px;
}
.text_content_wrapper {
    max-width: 440px;
    margin-left: auto;
    position: relative;
    z-index: 2;
}
section.text-image-section::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(29, 112, 183, 0) 27.71%,
        rgba(29, 112, 183, 0.7) 50%,
        rgba(0, 0, 0, 0.9) 100.84%
    );
    background-blend-mode: color;
}

/*************************************
        service carousel style 
**************************************/
.services_card {
    border: 1px solid #1d1d1b26;
    max-width: 432px;
    padding: 53px 38px 73px 37px;
    text-align: center;
    position: relative;
    height: 100%;
}
.add_icon {
    position: absolute;
    top: 20px;
    right: 20px;
}
.services_card h3 {
    padding: 28px 0;
}
section.home-services-carousel {
    padding: 90px 0 120px 0;
}
.services_carousel_title {
    color: var(--light-dark);
    font-size: 130px;
    font-weight: 400;
    line-height: 90px;
    margin-bottom: 55px;
    text-align: center;
}
.services_carousel_title span {
    color: var(--primary-blue);
}
.progress-bar-container {
    width: 100%;
    height: 5px;
    background: #1d1d1b26;
    position: relative;
    max-width: 1130px;
    margin: 0 auto;
    margin-top: 50px;
}
.progress-bar {
    width: 0%;
    height: 4px;
    background: var(--light-dark);
    transition: width 0.5s ease-in-out;
}
.services_card img {
    width: 100%;
}
.service_card_img img {
    max-width: 170px;
}
.service_card_img {
    display: flex;
    justify-content: center;
}
.slick-track {
    display: flex !important;
}
.slick-slide {
    height: inherit !important;
}
.services_slide a {
    height: 100%;
}
.services_card p {
    font-size: 16px;
}
.services_slide {
    margin: 0 12px;
}
/*************************************
        home projects style 
**************************************/
.home_projects_title {
    max-width: 820px;
}
.projects_main {
    margin-bottom: 48px;
}
.projects_tags_wrapper span {
    border: 1px solid #1d1d1b26;
    border-radius: 60px;
    padding: 6px 10px;
    font-weight: 700;
    font-size: 10px;
    line-height: 16px;
    text-align: center;
    color: var(--primary-blue);
    text-transform: uppercase;
}
.projects_card {
    max-width: 660px;
    background-color: var(--color-white);
    padding: 23px 27px 35px 27px;
}
.projects_cards_wrapper .projects_card {
    border: 1px solid #1d1d1b26;
    height: 100%;
    width: 100%;
}
section.home-case-history {
    background-color: #f7f7f7;
    padding: 47px 0 89px 0;
}
.project_imge img {
    max-height: 452px;
    min-height: 452px;
}
.projects_card p {
    font-size: 16px;
}
/*************************************
        links_cards_section style 
**************************************/
.links_card {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    min-height: 750px;
    max-width: 660px;
    padding: 40px 40px 50px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.links_card_header {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
}
.links_card_header p {
    color: var(--color-white);
    font-size: 16px;
    margin-top: 20px;
}

section.links_cards_section {
    padding: 80px 0;
}

/*************************************
      Home  Event Card Section style 
**************************************/
.ent_lft_col_txt {
    padding-top: 29px;
    padding-bottom: 47px;
}
.event_card_left_colr {
    max-width: 546px;
}
.event_date {
    font-weight: 200;
    font-size: 80px;
    line-height: 88px;
    color: var(--primary-blue);
}
.event_year {
    color: var(--primary-blue);
    font-weight: 600;
    font-size: 16px;
    line-height: 25.6px;
}
.event_card {
    position: relative;
    border: 1px solid #1d1d1b26;
    padding: 33px 80px 43px 35px;
    display: flex;
    gap: 33px;
    background-color: var(--color-white);
    max-width: 660px;
    margin-bottom: 24px;
}
.event_card:last-child {
    margin-bottom: 0;
}
.event_add_svg {
    position: absolute;
    right: 23px;
    bottom: 18px;
}
.event_card_title {
    font-weight: 700;
    font-size: 16px;
    line-height: 25.6px;
    letter-spacing: 1.6px;
    margin-bottom: 35px;
}
.event_card_desc {
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: var(--light-grey);
}
.mobl_title {
    display: none;
}
/*************************************
        footer style 
**************************************/
.site-footer {
    background:
        linear-gradient(
            180deg,
            rgba(0, 148, 255, 0.18) 0%,
            rgba(0, 148, 255, 0) 42.65%
        ),
        #00001b;
    padding: 48px 0 0 0;
}
.projects_lnk {
    display: flex;
    gap: 14px;
}
.projects_lnk .about_link {
    border: 1px solid #ffffff66;
}
.footer_links {
    padding-bottom: 44px;
    border-bottom: 1px solid #ffffff26;
}
.footer_col_title {
    color: var(--primary-blue);
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 27px;
    letter-spacing: 1.6px;
}
.text_style {
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: #ffffffb2;
}
.site_address {
    max-width: 185px;
    margin-bottom: 20px;
}
.footer-col a {
    margin-bottom: 8px;
    display: block;
    max-width: fit-content;
}
.footer-right-col .footer_col_title {
    color: var(--color-white);
    line-height: 25.6px;
}
.newsletterinput {
    background-color: transparent;
    border: none;
    outline: none;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: #ffffffb2;
    width: 100%;
}
.newsletter .Iscriviti {
    background-color: transparent;
    border: none;
    font-weight: 700;
    font-size: 16px;
    line-height: 25.6px;
    color: var(--primary-blue);
}
.newsletter_info p {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #ffffff66;
    padding-bottom: 10px;
    margin-bottom: 24px;
}
.footer_content_wrapper {
    padding: 92px 0 96px 0;
    border-bottom: 1px solid #ffffff26;
}
.acceptance,
.newsletter .wpcf7-list-item-label,
.newsletter .wpcf7-list-item-label a {
    color: #ffffff66;
    font-weight: 500;
    font-size: 14px;
    line-height: 22.4px;
    border-bottom: none !important;
}
.newsletter .wpcf7-list-item-label a {
    color: var(--color-white);
    text-decoration: underline;
}
.newsletter .wpcf7-list-item label {
    display: flex;
    align-items: center;
}
.footer_links_wrapper ul#menu-privacy-menu {
    display: flex;
    align-items: center;
    gap: 16px;
}
.footer_links_wrapper a {
    color: #ffffff66;
}
.newsletter input[type="checkbox"] {
    appearance: none;
    width: 20px;
    height: 20px;
    outline: 1px solid #ffffff66;
    background: transparent;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin-right: 14px;
}
.footer-right-col {
    max-width: 423px;
    margin-left: auto;
}
.bottom-bar {
    display: flex;
    justify-content: space-between;
    padding: 29px 0;
}
.copyright p {
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: #ffffff66;
}
.socila_links {
    display: flex;
    gap: 18px;
}
.newsletter input[type="checkbox"]:checked::after {
    content: "✔";
    font-size: 14px;
    color: white;
    position: absolute;
    top: 1px;
    left: 3px;
}
.mobile_btn {
    display: none;
}
/*************************************
        services page style 
**************************************/

/*************************************
        General banner style 
**************************************/
.general_banner {
    min-height: 550px;
    padding: 50px 0;
}
.general_banner {
    min-height: 550px;
    padding: 50px 0;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.general_banner_video {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.general_banner_video video {
    object-fit: cover;
}
.general_banner_wrapper {
    position: relative;
    z-index: 2;
    max-width: 610px;
    margin: 0 auto;
    text-align: center;
}
.general_banner_title {
    font-weight: 400;
    font-size: 100px;
    line-height: 90px;
    margin-bottom: 35px;
}
.ricerca_banner .general_banner_title {
    margin-bottom: 47px;
}
.general_banner::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: radial-gradient(
        36.81% 96.36% at 50% 50%,
        #040441 0%,
        rgba(4, 4, 65, 0) 100%
    );
}
.general_banner_wrapper p {
    max-width: 480px;
    margin: 0 auto;
}
.project-single-content .projects_tags_wrapper {
    justify-content: center;
}
/*************************************
        services post style 
**************************************/

.service_tmplt_img img,
.services-single-img {
    max-width: 430px;
    width: 100%;
}
.service_points_card {
    border-left: 4px solid var(--primary-blue);
    padding: 0 28px;
}
.service_points_desc p {
    font-weight: 500;
    font-size: 16px;
    color: var(--light-grey);
}
.service_points_wrapper {
    padding: 107px 0;
    border-bottom: 1px solid #1d1d1b26;
}
.services_projects_wrapper .projects_main {
    padding: 40px 0;
}
.services-block {
    padding: 100px 0;
}
.certification_right_img img {
    max-width: 430px;
    max-height: 400px;
    object-fit: cover;
}
#assistenza-alla-progettazione,
#design-construction-automation {
    background: #f5fbff;
}
/*************************************
        certification style 
**************************************/
#sgbim-e-certificazioni-uni11337 {
    background: #f5fbff;
    padding: 85px 0 99px 0;
    margin-top: 80px;
}
.certificationLink {
    margin-top: 45px;
}
/*************************************
        About text cards style 
**************************************/
.about-text-cards {
    padding: 100px 0 82px 0;
}
.about_sub_title,
.manifesto_sub_title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 24px;
}
.about_text_lft_col {
    max-width: 546px;
}
.service_desc {
    max-width: 546px;
}
.service_desc p {
    color: var(--secondary-dark);
}
.about_text_wrapper {
    margin-bottom: 86px;
}
.number_title {
    font-size: 80px;
    font-weight: 200;
    font-size: 80px;
    line-height: 88px;
    letter-spacing: 0.8px;
}
.about_card_title {
    max-width: 245px;
    margin-bottom: 10px;
    color: var(--light-dark);
}
.about_card_head {
    display: flex;
    align-items: end;
    gap: 29px;
}
.about_card {
    border: 1px solid #1d1d1b26;
    background: #ffffff;
    padding: 27px 32px 59px 32px;
    max-width: 432px;
    min-height: 432px;
}
.about_card_head {
    display: flex;
    align-items: end;
    gap: 29px;
    border-bottom: 1px solid #1d1d1b26;
    padding-bottom: 50px;
    margin-bottom: 110px;
}
.about_card_des {
    font-size: 16px;
}
/*************************************
        political manifesto style 
**************************************/
.manifesto_image {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
}
.manifesto_right_col {
    padding: 92px 0 99px 96px;
}
.manifesto_points_desc {
    color: #ffffffb2;
    font-size: 16px;
}
.manifesto_title {
    padding: 24px 0 32px 0;
}
.manifesto_des {
    padding-bottom: 63px;
}
.manifesto_points {
    border-left: 4px solid var(--primary-blue);
    padding-left: 28px;
    max-width: 480px;
    margin-bottom: 32px;
}
.manifesto_points:last-child {
    margin-bottom: 0;
}
.manifesto_points_title {
    margin-bottom: 12px;
    text-transform: uppercase;
}
.manifesto_right_col .blue_btn {
    margin-top: 34px;
}
/*************************************
        infographics style 
**************************************/
.infographics_right_col:nth-child(2) {
    border-left: 1px solid #1d1d1b26;
    border-right: 1px solid #1d1d1b26;
    padding: 0 49px;
}
.info_right_wrapper {
    gap: 49px;
}
p.infographics_points_desc {
    max-width: 115px;
    margin: 0 auto;
    text-align: center;
}
.infg_img_title {
    text-transform: uppercase;
}
.infogr_imgs_wrapper {
    border-top: 1px solid #1d1d1b26;
    padding-top: 77px;
    margin-top: 100px;
    position: relative;
    padding-bottom: 66px;
}
.infogr_imgs_wrapper::after {
    display: none !important;
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    border: 1px solid #1d1d1b26;
    transform: translate(-50%, 0);
}
.col-6:nth-child(2) .infg_imgs_cntnt {
    padding-left: 62px;
}
.infographics {
    margin-top: 84px;
}
.about_us_image {
    max-height: 756px;
    height: 756px;
    object-fit: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top;
}
.number_title {
    margin-bottom: 8px;
}
.infg_img img {
    max-width: 611px;
    min-height: 544px;
}
.col-lg-6:nth-child(2) .infg_imgs_cntnt {
    padding-left: 60px;
}
/*************************************
        Management Members style 
**************************************/
.management-team {
    padding: 35px 0 90px 0;
}
.management_title {
    padding-bottom: 45px;
    margin-left: 11px;
}
.management_member_img {
    max-height: 432px;
    object-fit: cover;
    margin-bottom: 22px;
    min-height: 432px;
}
.mngmnt_membr_img {
    position: relative;
}
.mngmnt_membr_img::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(29, 112, 183, 0.2);
}
.management_member_role {
    padding: 9px 0 19px 0;
    font-weight: 500;
}
.social_icons_wrapper {
    display: flex;
    gap: 14px;
    align-items: center;
}
.management_carousel_slide {
    margin: 0 11px;
}
.management-team .progress-bar-container {
    margin-top: 109px;
}
/*************************************
        Our Team style 
**************************************/
.team_member_img img {
    width: 204px;
    height: 100%;
    object-fit: cover;
    max-height: 204px;
}
.our_team_wrapper {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}
.team_hover_content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.2) 0%,
        rgba(29, 112, 183, 0.8) 0%
    );
}
.team_hover_content svg {
    position: absolute;
    top: 14px;
    right: 14px;
    opacity: 0;
    transform: scale(0);
    transition:
        opacity 0.3s ease-in-out,
        transform 0.3s ease-in-out;
}
.team_member_img {
    position: relative;
    cursor: pointer;
}
.team_member_img:hover .team_hover_content {
    opacity: 1;
}
.team_member_img:hover .team_hover_content svg {
    opacity: 1;
    transform: scale(1);
}
.our_team_modal .management_member_img {
    max-width: 432px;
    max-width: 100%;
    margin-bottom: 0 !important;
}
.our_team_modal {
    background-color: var(--color-white);
    padding: 33px 46px;
    position: fixed;
    top: 0px;
    pointer-events: none;
    left: 0px;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    opacity: 0;
    transition: 0.3s;
    overflow-y: scroll;
    z-index: 9991111;
}
.our_team_modal.open_modal {
    opacity: 1;
    pointer-events: auto;
}
.modal_header {
    margin-bottom: 45px;
}
.team_mmbr_img_wrpr {
    position: relative;
    margin-bottom: 22px;
}
.team_mmbr_img_wrpr::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #1d70b733;
    display: block;
}
.our_team_content_wrapper {
    padding: 33px 0 85px 0;
    border-top: 1px solid #1d1d1b26;
}
.close_modal {
    cursor: pointer;
}
.our_team_modal .row {
    row-gap: 52px;
}
.load-more-teamimgs {
    display: none;
}
/*************************************
        jobs style 
**************************************/
.job-text p {
    color: var(--light-grey);
    font-size: 16px;
    line-height: 24px;
}
.jobs_card {
    border: 1px solid #1d1d1b26;
    padding: 28px 38px;
    position: relative;
}
.jobs_card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 84px;
    border: 4px solid #0094ff;
}
.job-title {
    border-bottom: 1px solid #1d1d1b26;
    padding-bottom: 28px;
}
.job-link {
    border: 1px solid var(--primary-blue);
    color: var(--primary-blue);
    padding: 17.5px 25px;
}
.job_card_body {
    padding-top: 69px;
    display: flex;
    justify-content: space-between;
    align-items: end;
}
.job-text {
    max-width: 370px;
}
.jobs_text_content_wrapper {
    margin-bottom: 60px;
}
.jobs_link.job_dskto {
    text-align: right;
}
.jobs_left_txt {
    max-width: 820px;
}
.jobs {
    padding-bottom: 106px;
}
.jobs_single_banner {
    min-height: 546px;
    background:
        linear-gradient(
            0deg,
            rgba(0, 148, 255, 0.18) 0%,
            rgba(0, 148, 255, 0) 42.65%
        ),
        #00001b;
    display: flex;
    align-items: end;
    padding: 70px 0;
}
.jobs_single_banner h1 {
    max-width: 1179px;
}
.jobs_single_info_title {
    font-size: 12px;
    line-height: 19.2px;
}
.jobs_single_text h3,
.jobs_single_text p {
    margin-bottom: 23px;
}
.jobs_single_text .wp-block-image {
    margin-bottom: 48px;
}
.jobs_col_wrapper {
    border-left: 1px solid #1d1d1b26;
    padding-left: 48px;
    height: 100%;
}
.jobs_single_info {
    margin-bottom: 40px;
}
.jobs_single_info:last-child {
    margin-bottom: 0;
}
.jobs_single_text p {
    color: var(--light-grey);
}
.jobs_single_content .wp-block-image img {
    width: 100%;
}
.jobs_single_content {
    padding: 133px 0 136px 0;
}
.jobs_single_text {
    max-width: 887px;
}
.application_form_title {
    text-align: center;
    max-width: 788px;
    margin: 0 auto;
    margin-bottom: 34px;
}
.application_form_desc {
    max-width: 536px;
    margin: 0 auto;
    margin-bottom: 68px;
    text-align: center;
}
.frm_inpt,
.apptxtara {
    border: 1px solid #1d1d1b26;
    background-color: var(--color-white);
    padding: 21px 30px;
    font-weight: 600;
    font-size: 16px;
    line-height: 25.6px;
    color: var(--light-dark);
    outline: none;
    width: 100%;
}
.filter_select_wrapper .frm_inpt {
    background-color: transparent;
}

.form-row p {
    width: 100%;
}
.frm_inpt::placeholder,
.frm_inpt option,
.apptxtara::placeholder {
    color: var(--light-grey);
}
.form_select {
    margin-bottom: 24px;
    color: #1d1d1b66;
    appearance: none;
    position: relative;
}
.select_wrapper span::after,
.filter_select_wrapper .filter-select-content-activity::after,
.filter_select_wrapper .filter-select-content-discipline::after {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    width: 16px;
    height: 10px;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='10' viewBox='0 0 15 10' fill='none'%3E%3Cpath d='M1.52344 1.5L7.76195 7.73851L14.0005 1.5' stroke='%231D1D1B' stroke-opacity='0.4' stroke-width='2'/%3E%3C/svg%3E");
    background-size: cover;
}
select.events_drp.frm_inpt,
.filter_select_wrapper select {
    appearance: none;
}
.select_wrapper span {
    position: relative;
}
.select_wrapper {
    width: 100%;
}
.application_form,
.appfrm_wrapper {
    max-width: 888px;
    margin: 0 auto;
}
.appfrm_wrapper {
    .gform-footer {
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
    }
}

.gform-body input[type="text"],
.gform-body input[type="tel"],
.gform-body input[type="email"],
.gform-body select,
.gform-body textarea {
    border: 1px solid #1d1d1b26 !important;
    background-color: var(--color-white) !important;
    padding: 21px 30px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 25.6px !important;
    color: var(--light-dark) !important;
    outline: none !important;
    width: 100% !important;
    min-height: 65px !important;
}
.gform-body input[type="text"]::placeholder,
.gform-body input[type="tel"]::placeholder,
.gform-body input[type="email"]::placeholder,
.gform-body textarea::placeholder {
    color: var(--light-grey) !important;
}
.gform-body textarea {
    height: 200px !important;
}
.gform-body input[type="checkbox"] {
    border: 1px solid #1d1d1b26 !important;
    background-color: var(--color-white) !important;
}
.gform_wrapper input[type="submit"] {
    padding: 15px 83px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--color-white) !important;
    background-color: var(--primary-blue) !important;
    border: none !important;
    display: inline-block !important;
    position: relative !important;
    overflow: hidden !important;
    --tilt: 40px !important;
    border-radius: unset !important;
    text-transform: inherit !important;
    cursor: pointer !important;
}
.gform-body .ginput_container.ginput_recaptcha {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
}
.gform_confirmation_message {
    text-align: center;
    font-size: clamp(18px, 2vw, 20px);
    color: var(--primary-blue);
    text-transform: uppercase;
}
#input_5_11,
#input_4_11 {
    pointer-events: none;
}
.hidden-block {
    display: none !important;
}
.form-row {
    display: flex;
    gap: 24px;
    margin-bottom: 24px;
}
.apptxtara {
    margin-bottom: 30px;
    max-height: 220px;
}
.apbtn {
    padding: 15px 83px;
}
.apfacptnce {
    display: flex;
    gap: 40px;
    align-items: center;
    border-top: 1px solid #1d1d1b26;
    padding-top: 40px;
    margin-top: 30px;
    justify-content: space-between;
}
.apfacptnce a {
    font-weight: 500;
}
.appfrm_wrapper .apfacptnce {
    border-top: unset;
    margin-top: 0;
    padding-top: 0;
}
.frm_btn {
    text-align: end;
    position: relative;
}
.apfacptnce p {
    font-size: 14px;
    color: var(--light-grey);
}
.application_section {
    background-color: #f7f7f7;
    padding: 96px 0;
}
.jobs_related_posts {
    padding: 94px 0 105px 0;
}
.articles_main {
    padding: 0 0 90px 0;
}
span.wpcf7-list-item {
    margin: 0;
}
.appfrm_wrapper input[type="checkbox"] {
    width: 100%;
    max-width: 20px;
    height: 20px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: var(--color-white);
    border: 1px solid #1d1d1b26;
    cursor: pointer;
    display: inline-block;
    position: relative;
}
.appfrm_wrapper input[type="checkbox"]:checked::before {
    content: "✔";
    font-size: 14px;
    color: var(--primary-blue);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.apfacptnce .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 15px;
}
.wpcf7-spinner {
    position: absolute;
    bottom: -40px;
}
/*************************************
        contact style 
**************************************/
.contact_map_col {
    width: 50%;
    height: 100%;
    overflow: hidden;
}
/* .contact_map_col iframe {
    width: 100%;
    height: 100%;
} */
.maps_container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-image: url(../img/map_strategie.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    svg {
        position: absolute;
        z-index: 2;
        top: calc(50% - 100px);
        left: 50%;
    }
}

.maps_container iframe {
    width: 100%;
    height: 100%;
    filter: grayscale(100%) contrast(120%) brightness(80%);
}

.map_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 70, 150, 0.5); /* Blue Tint */
    pointer-events: none; /* Allows interaction with the map */
}

.contact_map_wrapper {
    display: flex;
    align-items: center;
    height: 100%;
}
section.contact-map {
    height: 810px;
}
.contact_text_col {
    width: 50%;
    max-width: 270px;
    text-align: center;
    margin: 0 auto;
}
.contact_title {
    margin-bottom: 38px;
}
.contact_address,
.cnt_mail_lnk,
.identification_number {
    color: #000000b2;
}
.cnt_mail_lnk {
    margin-top: 20px;
}

/*************************************
        Ricerca e Divulgazione style 
**************************************/
.ricerca_banner {
    min-height: 624px;
}
.ricerca_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ricerca_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    z-index: 0;
}
section.ricerca {
    min-height: 600px;
    position: relative;
    padding: 50px;
    background-color: var(--secondary-blue);
    display: flex;
    align-items: center;
}
.ricerca_lft_col {
    position: relative;
    z-index: 2;
}
.ricerca_title {
    font-weight: 400;
    font-size: 100px;
    line-height: 90px;
    text-align: center;
}
.ricerca_txt p {
    color: #ffffffb2;
}
.ricerca_txt {
    max-width: 546px;
    margin-left: auto;
}
.article_date_athor {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-top: 53px;
}

.article_link {
    margin-top: 21px;
    text-transform: unset;
}
.page-numbers {
    color: var(--light-dark);
    border: 1px solid #1d1d1b26;
    padding: 11px 19px;
    background-color: var(--color-white);
    width: 48px;
    height: 48px;
}
.pagination {
    gap: 8px;
    justify-content: center;
    margin-top: 86px;
}
.page-numbers.current {
    background-color: var(--primary-blue);
    color: var(--color-white);
}
section.articles {
    padding: 87px 0;
}
.rd-text-section {
    background-color: #f5fbff;
    padding: 97px 0 132px 0;
}
.rd-text-section .rd_text_wrapper {
    padding-top: 99px;
}
.article_date,
.article_author {
    font-size: 12px;
}
.article_author {
    font-weight: 500;
}
/*************************************
       Case History style 
**************************************/
.logos_title::before,
.logos_title::after {
    content: "";
    position: absolute;
    top: 50%;
    background: #1d1d1b26;
    width: 560px;
    height: 1px;
    transform: translate(0, -50%);
}
.logos_title::before {
    left: 0;
}
.logos_title::after {
    right: 0;
}
h6.logos_title {
    position: relative;
    text-align: center;
    margin-bottom: 61px;
}
.logo_card {
    max-width: 185px;
}
.logos_wrapper {
    display: flex;
    row-gap: 27px;
    column-gap: 48px;
    flex-wrap: wrap;
}
section.case-history-logos {
    padding: 20px 0 106px 0;
}
.projects_title {
    margin-bottom: 61px;
}
/*************************************
        case history style 
**************************************/
.projects_filter_wrapper {
    position: relative;
    z-index: 2;
    margin-bottom: 48px;
}
.filter_select_wrapper {
    display: flex;
    gap: 24px;
}
.projects-filter {
    background: #f7f7f7;
    padding: 72px 0 87px 0;
}
.prjt-cntnt-tag-wrapper {
    padding-top: 155px;
}
.prjt-cntnt-tag-wrapper .projects_tags_wrapper {
    justify-content: start;
}
.project-text-contnt-wrapper {
    max-width: 950px;
    margin: 0 auto;
    padding-top: 220px;
}
.project_info_col {
    max-width: 204px;
    border-right: 1px solid #1d1d1b26;
}
.project_text_content h2,
.project_info_wrapper {
    margin-bottom: 38px;
}
.project_info_title {
    font-size: 12px;
}
.project_info_title_name {
    font-weight: 500;
}
.project_info_wrapper:last-child {
    margin-bottom: 0;
}
section.project-single-content {
    height: 900px;
    padding: 30px 0px 90px 0;
    position: relative;
}
.slide-number {
    position: absolute;
    right: 48px;
    bottom: 95px;
    color: #1d1d1b66;
}
.project_first_slide_wrapper img {
    height: 100%;
    object-fit: contain;
}
.project_first_slide_wrapper {
    max-height: 700px;
    min-height: 700px;
    height: 100%;
    padding-top: 70px;
}
.project_img_wrapper img {
    min-height: 800px;
    max-height: 800px;
    object-fit: contain;
}
.related-projects-wrapper {
    max-width: 660px;
    margin: 0 auto;
    padding-top: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.projects_tags_wrapper {
    justify-content: start;
}
.jobs_link.desktop_btn {
    text-align: right;
}
.related-projects-title {
    position: relative;
    margin-bottom: 39px;
}
.next-project-title {
    margin-bottom: 43px;
    letter-spacing: 1.6px;
}
.related-projects-title::after {
    content: "";
    position: absolute;
    top: 0;
    right: -20px;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Cpath d='M13.8282 0L13.8282 13.8282L0 13.8282' stroke='%230094FF' stroke-width='2'/%3E%3Cpath d='M13.8085 27.636L13.8085 13.8078L27.6367 13.8078' stroke='%230094FF' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: cover;
}
.related-project {
    padding-bottom: 69px;
}
/* .projects_tags_wrapper {
    justify-content: center;
} */
.project-slider .slick-arrow {
    transition: all 0.3s ease-in-out;
}
.project-slider .slick-arrow.slick-disabled {
    opacity: 0;
}
.project_first_slide_wrapper h6 {
    margin-bottom: 14px;
}

@media screen and (max-width: 876px) {
    .project-single-content .project-slider .slick-arrow {
        top: calc(100% + 60px) !important;
    }
}

/*************************************
        certification style 
**************************************/
.certification-banner {
    background:
        linear-gradient(
            0deg,
            rgba(0, 148, 255, 0.18) 0%,
            rgba(0, 148, 255, 0) 42.65%
        ),
        #00001b;
    min-height: 720px;
    padding: 50px 0;
    display: flex;
    align-items: center;
}
.certification_left_col {
    max-width: 480px;
}
.certification_title {
    margin-bottom: 29px;
}
.events_card {
    border: 1px solid #1d1d1b26;
    padding: 25px 114px 43px 41px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: space-between;
}
.events_card_head {
    display: flex;
    gap: 67px;
    align-items: center;
}
.events_card_date {
    max-width: 120px;
    text-align: center;
}
.events_card_body {
    max-width: 506px;
}
.events_month_year {
    font-size: 16px;
    font-weight: 700;
}
.events_date {
    font-weight: 200;
    font-size: 100px;
    line-height: 110px;
    letter-spacing: -5%;
    text-align: center;
}
.events_add_icon {
    position: absolute;
    right: 20px;
    bottom: 20px;
}
.events_title {
    margin-bottom: 69px;
}
.txt_link_wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.personalized_title,
.personalized_txt {
    max-width: 600px;
    color: var(--color-white) !important;
}
.personalized_title {
    margin-bottom: 97px;
}
.personalized-exam {
    min-height: 450px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 57px 0;
    display: flex;
    align-items: end;
}
.rd_btn_wrapper {
    text-align: center;
    margin-top: 80px;
}
section.events {
    padding: 80px 0;
}
.load-more-container {
    margin-top: 56px;
}
.events_calendar_wrapper {
    max-height: 370px;
    height: 100%;
    position: relative;
}
.events_calendar_wrapper .fc-direction-ltr {
    height: 100% !important;
}
.events_calendar_wrapper .fc-scrollgrid-section .fc-daygrid-day-frame {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}
.fc .fc-button-primary:focus {
    box-shadow: unset !important;
    outline: none !important;
}
.fc-view-harness.fc-view-harness-passive,
.fc-scrollgrid-section-header .fc-scroller-harness {
    background: #00001b;
}
.event_date_cm .fc-daygrid-day-top {
    width: 26px;
    height: 26px;
    background-color: #0094ff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.fc .fc-daygrid-day-number {
    padding: 4px;
    position: relative;
    z-index: 4;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}
.fc .event_date_cm .fc-daygrid-day-number {
    color: var(--color-white);
}
.events_calendar_wrapper .fc .fc-toolbar-title {
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #0094ff;
    top: 50%;
}
.fc-button-group .fc-icon {
    color: #0094ff !important;
}
.events_calendar_wrapper .fc-today-button.fc-button {
    display: none;
}
.fc .fc-button-group {
    margin: 0 !important;
    display: flex;
    justify-content: space-between;
}
.fc .fc-toolbar {
    display: block !important;
}
button.fc-next-button.fc-button.fc-button-primary {
    text-align: right;
}
.events_calendar_wrapper .fc-button-group .fc-button {
    padding: 0;
    background-color: transparent;
    border: none;
    text-align: left;
}
.events_calendar_wrapper .fc .fc-toolbar {
    position: relative;
    height: 48px;
    background-color: #fff;
    margin-bottom: 0;
}
.event-modal {
    display: none;
    position: absolute;
    z-index: 1000;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    transform: translate(-50%, -50%);
    max-width: 500px;
    max-height: 200px;
}
.event-modal-content {
    background: white;
    padding: 20px;
    border-radius: 8px;
    max-width: 500px;
    min-height: 200px;
    width: 100%;
    position: relative;
}
.close-modal {
    position: absolute;
    top: 30px;
    right: 30px;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    color: #333;
}
tr.fc-scrollgrid-section.fc-scrollgrid-section-header th,
.fc .fc-daygrid-day.fc-day-today {
    background: #005796 !important;
}
tr.fc-scrollgrid-section.fc-scrollgrid-section-body {
    background: #003963 !important;
}
.fc-theme-standard td,
.fc-theme-standard th,
.fc-theme-standard .fc-scrollgrid {
    border: 1px solid #005796 !important;
}
h2#modal-event-title {
    font-size: 24px;
    line-height: 30px;
    margin-bottom: 10px;
}
button#scroll-to-form {
    border-radius: 20px;
    text-transform: capitalize;
    margin-top: 20px;
}
.book-now-btn {
    background: #007bff;
    color: white;
    padding: 10px 15px;
    border: none;
    cursor: pointer;
    margin-top: 10px;
}
.events_link_wrapper {
    width: 100%;
}

@media (max-width: 992px) {
    .project-slider .slick-prev,
    .project-slider .slick-next {
        top: calc(100% + 60px) !important;
    }
    .project-slider .page_title {
        font-size: 42px !important;
        font-style: normal;
        font-weight: 500;
        line-height: 110% !important; /* 46.2px */
    }
}

.newsletter_info p.aiowps-captcha {
    border: none !important;
    color: #ffffff66;
    margin-bottom: 0 !important;
    font-size: 13px !important;
}
.aiowps-captcha-answer {
    background-color: transparent;
    border: none;
    border-bottom: solid 1px #ffffff66 !important;
    color: #ffffff66;
}
.aiowps-captcha-equation > p {
    border: none !important;
    color: #ffffff66 !important;
    font-size: 13px !important;
}
.newsletter_info > p:last-of-type {
    border: none !important;
}

.wpml-ls-statics-footer,
.otgs-development-site-front-end {
    display: none !important;
}

/* language */
.active .dropdown-menu {
    display: block;
}

.dropdown-menu {
    background-color: transparent;
    border: none;
    top: -8px;
    left: 40px;
}

.dropdown-menu a,
.dropdown-menu a:hover,
.dropdown-menu a:visited,
.dropdown-toggle {
    border: solid 1px #fff !important;
    background-color: transparent !important;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    overflow: hidden;
    padding: 3px 0;
    text-align: center;
}

.dropdown-menu a span,
.dropdown-menu a:hover span,
.dropdown-menu a:visited span {
    color: #fff;
}

.dropdown-toggle span {
    color: #fff;
}

.site-header.scrolled-header .dropdown-toggle,
.site-header.scrolled-header .dropdown-menu a {
    border-color: #1d1d1b !important;
}

.site-header.scrolled-header .dropdown-toggle span {
    color: #0094ff !important;
}

.site-header.scrolled-header .dropdown-menu a span {
    color: #1d1d1b !important;
}

.dropdown-toggle::after {
    display: none !important;
}

/* footer */
#menu-privacy-menu-it {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
}

.services_card p {
    text-transform: initial !important;
}

.apfacptnce .aiowps-captcha-equation > p {
    font-size: 14px;
    color: var(--light-grey) !important;
    input[type="text"] {
        border-color: var(--light-grey) !important;
        color: var(--light-grey) !important;
    }
}

.hidden,
.management-team,
.our-team,
#jobs-block,
.services_projects_wrapper,
#projcet_filter {
    display: none !important;
}
.footer-left-col .footer_col_title span {
    text-transform: lowercase !important;
}

.infografica_mobile {
    display: none;
    img {
        width: 100%;
    }
}
.infografica_desktop {
    display: block;
    img {
        width: 100%;
    }
}
.infg {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
@media (max-width: 992px) {
    .infogr_imgs_wrapper {
        padding-top: 0 !important;
    }
    .infografica_mobile {
        display: block;
    }
    .infg,
    .infographics::after,
    .infografica_desktop {
        display: none !important;
    }
    .infg {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
    }
    .footer_content_wrapper > .row > .col-6 {
        justify-content: flex-start !important;
    }
    .footer_content_wrapper > .row > .col-6:nth-child(1) {
        width: 100% !important;
        margin-bottom: 40px !important;
    }
    .site-footer .bottom-bar {
        flex-direction: column !important;
    }
}

.mobile-language-switcher {
    margin-top: 70px !important;
    padding: 20px !important;
    .dropdown-menu {
        display: block !important;
    }
}

/* Nasconde lo switch desktop su mobile */
@media (max-width: 768px) {
    .dsktop_menu .language_icon {
        display: none;
    }
    .hero_banner_left_col h1 span {
        display: block;
        line-height: 1;
    }
}

/* Nasconde lo switch mobile su desktop */
@media (min-width: 769px) {
    .mobile_menu_hd .language_icon {
        display: none;
    }
}

body.home .home-case-history {
    display: none !important;
}
.exam_date {
    pointer-events: none !important;
}

.link-download,
.link-download:hover,
.link-download:visited {
    color: var(--primary-blue) !important;
    font-weight: 600;
    padding: 0 0 4px;
    border-bottom: solid 1px var(--primary-blue) !important;
}
