:root {
    overscroll-behavior: none;

    --white: #ffffff;
    --black: #000000;
    --text-gray: #222222;

    --blue-50: #eff9ff;
    --blue-100: #e6f1f8;
    --blue-200: #cfe9fb;
    --blue-300: #9ac7e1;
    --blue-400: #4e9ccb;
    --blue-500: #0272b4;
    --blue-600: #0267a2;
    --blue-700: #01446c;
    --blue-800: #013351;
    --blue-900: #012236;

    --gray-100: #f0f0f0;
    --gray-200: #ececec;
    --gray-300: #d3d3d3;
    --gray-400: #999999;
    --gray-500: #606060;
    --gray-600: #565656;
    --gray-700: #3a3a3a;
    --gray-800: #2b2b2b;
    --gray-900: #1b1b1b;

    --applause-blue: #013654;
    --applause-blue-dark: #012033;
    --applause-blue-100: #e6ebee;
    --applause-blue-200: #c0cdd4;
    --applause-blue-300: #99afbb;
    --applause-blue-400: #4d7287;
    --applause-blue-500: #013654;
    --applause-blue-600: #01314c;
    --applause-blue-700: #012033;
    --applause-blue-800: #001826;
    --applause-blue-900: #001019;

    --green-100: #e6f8f3;
    --green-200: #bfede2;
    --green-300: #99e2d1;
    --green-400: #4dcdae;
    --green-500: #00b78b;
    --green-600: #00a57d;
    --green-700: #006e53;
    --green-800: #00523f;
    --green-900: #00372a;

    --error-red: #cc0000;
    --yellow: #fcba00;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px var(--white) inset !important;
}

body {
    /* font-size: 16px;
    font-weight: 400; */
    overflow-x: hidden;
    /* color: var(--text-gray); */
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    font-family: "Proxima Nova", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-smooth: antialiased;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overscroll-behavior: none
}

.hover {
    cursor: pointer;
    border-radius: .125rem;
    padding: 1rem;
    color: var(--gray-900);
    transition: all .3s linear;
}

.hover.hover-white:active,
.hover.hover-white:focus,
.hover.hover-white:hover {
    color: var(--black);
    background-color: var(--white);
}

.hover:active,
.hover:focus,
.hover:hover {
    color: var(--black);
    background-color: var(--blue-100);
}

body,
html {
    overscroll-behavior: none;
}

@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

html:focus-within {
    scroll-behavior: smooth;
}

.custom-featured-images img {
    border-radius: 10px;
}

.divi-location-fullwidth .divi-filter-item,
.divi-location-fullwidth .et_pb_de_mach_search_posts_item p.et_pb_contact_field.divi-filter-item {
    margin-top: 0 !important;
}

html[lang=fr-FR] #et-main-area,
html[lang=ja] #et-main-area {
    padding-top: 0 !important;
}

.dicm_resource_events img {
    max-width: 200px;
}

html[lang=ja] .widget_nav_menu h4.title {
    display: none;
}

body img {
    display: block;
    width: auto;
    max-width: 100%
}

body p {
    padding-bottom: 1.5rem;
}

body li,
body p {
    font-size: 1rem;
}

body li:empty,
body p:empty {
    margin: 0;
    display: none;
    padding: 0;
}

body strong {
    font-weight: 600;
}

body em {
    font-style: italic;
}

body pre {
    margin-bottom: 1.5rem;
    border-radius: .375rem;
    background-color: var(--gray-100);
    padding: .5rem 1rem;
}

body pre,
body pre code {
    display: block;
    width: 100%;
    font-size: 1rem;
}

body pre code {
    background-color: initial;
    padding: .5rem;
}

body input::-moz-placeholder,
body textarea::-moz-placeholder {
    color: var(--text-gray);
    opacity: 1;
}

body input::placeholder,
body select:invalid,
body textarea::placeholder {
    color: var(--text-gray);
    opacity: 1;
}

body picture {
    display: block;
}

body.error404.et_right_sidebar #main-content .container::before {
    display: none;
}

.button, button {
    display: inline-block;
    cursor: pointer;
    border-radius: .375rem;
    border-style: none;
    padding: .5rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    transition: all .3s linear;
    line-height: 1.31rem;
}

#et-boc .area-outer-wrap .da-close {
    height: 2.5rem;
    width: 2.5rem;
    font-size: 2.5rem;
    top: 5px
}

.pdfemb-viewer {
    margin: 0 auto !important
}

.press-releases-list .news-divider-title {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: var(--gray-400);
    padding-bottom: .5rem;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--gray-600);
}

/* Legacy form styles -- remove after move to Marketo forms */

.applause-contact-forms_wrapper .gfield,
.marketo-form_wrapper .gfield {
    position: relative
}

.applause-contact-forms_wrapper .gfield label.gfield_label,
.marketo-form_wrapper .gfield label.gfield_label {
    pointer-events: none;
    position: absolute;
    border-radius: .125rem;
    font-size: .875rem;
    font-weight: 400;
    transition-property: all;
    transition-duration: .3s;
    left: 10px;
    top: 8px;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    margin-bottom: 0;
    padding-bottom: 0;
    min-height: 1rem;
    height: 1rem;
    max-height: 1rem;
    align-content: center
}

.applause-contact-forms_wrapper .gfield label.gfield_label.focused,
.marketo-form_wrapper .gfield label.gfield_label.focused {
    display: block;
    background-color: var(--white);
    font-size: .75rem;
    color: var(--blue-500);
    top: -13px;
    margin-bottom: 0;
    padding: 2px 10px 0
}

.applause-contact-forms_wrapper .gfield input,
.applause-contact-forms_wrapper .gfield select,
.applause-contact-forms_wrapper .gfield textarea,
.marketo-form_wrapper .gfield input,
.marketo-form_wrapper .gfield select,
.marketo-form_wrapper .gfield textarea {
    border-radius: .125rem
}

.applause-contact-forms_wrapper .gfield input.focused,
.applause-contact-forms_wrapper .gfield select.focused,
.applause-contact-forms_wrapper .gfield textarea.focused,
.marketo-form_wrapper .gfield input.focused,
.marketo-form_wrapper .gfield select.focused,
.marketo-form_wrapper .gfield textarea.focused {
    border-color: var(--blue-500);
}

.applause-contact-forms_wrapper .gfield .gfield_error .focused,
.marketo-form_wrapper .gfield .gfield_error .focused {
    border-color: var(--error-red);
}

.applause-contact-forms_wrapper .gfield .gfield_error .focused label.gfield_label,
.marketo-form_wrapper .gfield .gfield_error .focused label.gfield_label {
    color: var(--error-red);
}

.applause-contact-forms_wrapper .gform_footer .gform_button,
.marketo-form_wrapper .gform_footer .gform_button {
    cursor: pointer;
    border-radius: .375rem;
    border-style: none;
    background-color: var(--yellow);
    font-family: "Proxima Nova", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: .875rem;
    color: var(--gray-800);
    transition-property: all;
    transition-duration: .15s;
    padding: .5rem 1.25rem;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.applause-contact-forms_wrapper .gform_footer .gform_button:hover,
.marketo-form_wrapper .gform_footer .gform_button:hover {
    background-color: var(--yellow);
    color: (--var-yellow);
}

.applause-contact-forms_wrapper .gform_ajax_spinner,
.marketo-form_wrapper .gform_ajax_spinner {
    margin: 0 auto
}

.applause-contact-forms_wrapper .gform_required_legend,
.marketo-form_wrapper .gform_required_legend {
    margin-bottom: 1rem;
    text-align: center
}

.applause-contact-forms_wrapper .gform_button.button,
.marketo-form_wrapper .gform_button.button {
    margin: 0 auto
}

.applause-contact-forms_wrapper .gform_wrapper.gravity-theme .description,
.applause-contact-forms_wrapper .gform_wrapper.gravity-theme .gfield_description,
.applause-contact-forms_wrapper .gform_wrapper.gravity-theme .gsection_description,
.applause-contact-forms_wrapper .gform_wrapper.gravity-theme .instruction,
.marketo-form_wrapper .gform_wrapper.gravity-theme .description,
.marketo-form_wrapper .gform_wrapper.gravity-theme .gfield_description,
.marketo-form_wrapper .gform_wrapper.gravity-theme .gsection_description,
.marketo-form_wrapper .gform_wrapper.gravity-theme .instruction {
    padding: 1rem !important;
    font-size: 14px !important
}

footer .footer-bottom-section #menu-footer-bottom,
footer .footer-bottom-section #menu-footer-bottom-de,
footer .footer-bottom-section #menu-footer-bottom-fr,
footer .footer-bottom-section #menu-footer-bottom-ja {
    text-align: center
}

footer .footer-bottom-section #menu-footer-bottom li a,
footer .footer-bottom-section #menu-footer-bottom li button,
footer .footer-bottom-section #menu-footer-bottom-de li a,
footer .footer-bottom-section #menu-footer-bottom-de li button,
footer .footer-bottom-section #menu-footer-bottom-fr li a,
footer .footer-bottom-section #menu-footer-bottom-fr li button,
footer .footer-bottom-section #menu-footer-bottom-ja li a,
footer .footer-bottom-section #menu-footer-bottom-ja li button {
    position: relative;
    display: inline-block;
    padding-bottom: 3px;
    font-size: .75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity));
    opacity: 1
}

footer .footer-bottom-section #menu-footer-bottom li a:after,
footer .footer-bottom-section #menu-footer-bottom li button:after,
footer .footer-bottom-section #menu-footer-bottom-de li a:after,
footer .footer-bottom-section #menu-footer-bottom-de li button:after,
footer .footer-bottom-section #menu-footer-bottom-fr li a:after,
footer .footer-bottom-section #menu-footer-bottom-fr li button:after,
footer .footer-bottom-section #menu-footer-bottom-ja li a:after,
footer .footer-bottom-section #menu-footer-bottom-ja li button:after {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 0;
    display: inline-block;
    height: 1px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity));
    transition-property: all;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .2s;
    width: 0
}

footer .footer-bottom-section #menu-footer-bottom li a:hover:after,
footer .footer-bottom-section #menu-footer-bottom li button:hover:after,
footer .footer-bottom-section #menu-footer-bottom-de li a:hover:after,
footer .footer-bottom-section #menu-footer-bottom-de li button:hover:after,
footer .footer-bottom-section #menu-footer-bottom-fr li a:hover:after,
footer .footer-bottom-section #menu-footer-bottom-fr li button:hover:after,
footer .footer-bottom-section #menu-footer-bottom-ja li a:hover:after,
footer .footer-bottom-section #menu-footer-bottom-ja li button:hover:after {
    content: "";
    display: inline-block;
    height: 1px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity));
    width: 100% !important
}

#legal-links #ot-sdk-btn.optanon-show-settings,
#legal-links #ot-sdk-btn.ot-sdk-show-settings {
    font-size: .75rem !important;
    font-weight: 400;
    color: #fff !important;
    border: none !important;
    background-color: initial;
    padding: 0
}

#legal-links #ot-sdk-btn.optanon-show-settings:hover,
#legal-links #ot-sdk-btn.ot-sdk-show-settings:hover {
    color: #fff !important;
    background-color: initial !important
}

#footer-navigation-top .et-menu.nav {
    display: block;
   }
   
   #footer-navigation-top .et-menu.nav .footer-menu-head > a {
    text-transform: uppercase;
    font-size: .875rem;
   }
   
   #footer-navigation-top .et-menu.nav > li {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 12px;
    padding-bottom: 12px;
   }
   
   #footer-navigation-top .et-menu.nav > li > a {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
   }
   
   #footer-navigation-top .et-menu.nav li:not(.footer-menu-head) > a:after {
    content: "";
    width: 0%;
    height: 1px;
    background-color: #fff;
    display: block;
    transition: all linear 0.2s;
   }
   
   #footer-navigation-top .et-menu.nav li:not(.footer-menu-head) > a:hover {
     opacity: 1;
     
   }
   
   #footer-navigation-top .et-menu.nav li:not(.footer-menu-head) > a:hover:after {
       content: "";
       width: 100%;
       height: 1px;
       background-color: #fff;
       display: block;
   }
   
   #mega-footer-bottom #ot-sdk-btn.ot-sdk-show-settings, 
   #mega-footer-bottom #ot-sdk-btn.optanon-show-settings,
   #mega-footer-bottom #ot-sdk-btn.ot-sdk-show-settings:hover, 
   #mega-footer-bottom #ot-sdk-btn.optanon-show-settings:hover {
     background: transparent;
     border: none;
     font-family: 'Proxima Nova', Helvetica, Arial, Lucida, sans-serif;
     font-size: 0.75rem;
     color: #FFFFFF;
     line-height: 1rem;
     padding: 0;
     opacity: 1;
   }
   
   #mega-footer-bottom li.menu-item a,
   #mega-footer-bottom li.menu-item a:hover {
     opacity: 1 !important;
     color: #FFFFFF !important;
     font-size: 0.75rem;
   }
   
   #ot-sdk-btn.ot-sdk-show-settings:after,
   #mega-footer-bottom li.menu-item a:after {
       content: "";
       width: 0%;
       height: 1px;
       background-color: #FFFFFF;
       display: block;
       transition: all linear 0.2s;
     font-size: 0.75rem;
   }
   
   #ot-sdk-btn.ot-sdk-show-settings:hover:after,
   #mega-footer-bottom li.menu-item a:hover:after {
     content: "";
       width: 100%;
       height: 1px;
       background-color: #fff;
        display: block;
     font-size: 0.75rem;
   }
   
   #mega-footer-bottom #menu-footer-bottom-fr,
   #mega-footer-bottom #menu-footer-bottom-de,
   #mega-footer-bottom #menu-footer-bottom-ja {
     width: 100%;
     justify-content: center;
   }
   
   @media (min-width: 981px) {
     #mega-footer-bottom #menu-footer-bottom-fr,
     #mega-footer-bottom #menu-footer-bottom-de,
     #mega-footer-bottom #menu-footer-bottom-ja { 
       width: 100%;
       justify-content: flex-end;
     }
   }

   span.swiper-notification {
    position: absolute;
    top: -3000%;
    left: -3000%;
    opacity: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
    pointer-events: none;
    font-size: 0;
    line-height: 0;
    color: transparent;
    background: transparent;
    border: none;
   }

   #applause-solutions-tabs .swiper-pagination {
    padding: 2px;
   }