html {
    scroll-behavior: smooth
}

body {
    font-family: karlaregular
}

div,
p,
section,
article,
aside,
header,
footer {
    border-width: 0;
    border-style: solid;
}

form.lead-gen-form,
div.cta p {
    font-family: "karlaregular", sans-serif;
    font-size: 1rem;
}

div.cta p {
    font-size: 1.125rem;
}

form.lead-gen-form input:focus {
    outline-color: #187ABA;
    outline-width: 2px;
    outline-style: solid;
;
}

.gloriola_semibold {
    font-family: "ms_gloriola_ii_std_semibold", sans-serif;
}

h2 {
    margin: 0;
    padding: 0;
    font-size: 40px;
    color: #333330;
    letter-spacing: -1.45px;
    line-height: 44px;
    font-family: "ms_gloriola_ii_std_semibold", sans-serif;
    font-weight: 700;
    text-transform: none;
}

a {
    text-decoration: none;
}


/* Cis ADDED AEM HACKS 9/24/21 - TBD CHANGES BY CLIENT */

@media only screen and (max-width: 767px) {
    .cmp-practicecard__link {
        display: inline-block;
    }
    h2:not(.msaw-layered-h2) {
        line-height: 33px !important;
    }
    .cmp-detailshero .shortTitle {
        grid-column: 2 / span 22 !important;
    }
    .msaw-inline-form-msg {
        margin-right: 1.5rem;
        margin-left: 1.5rem;
    }
    .msaw-layered-h2 {
        line-height: 40px !important;
    }
}

#msaw-retirement-list,
#msaw-retirement-list li {
    list-style-type: disc !important;
}


/* END Cis ADDED */

.header-ms-text-logo {
    align-items: flex-end;
}

#msaw-overlay {
    background-color: rgba(0, 0, 0, 0.15);
}

#msaw-nav nav a {
    text-decoration: none;
    color: #000;
}

#msaw-nav .nav-item {
    margin-bottom: 27px;
    /* align to subnav headers */
}

#msaw-nav nav .subnav-link {
    padding-bottom: 1.25rem;
    border-bottom: 7px solid transparent;
    cursor: pointer;
    font-family: karlabold;
}

#msaw-nav nav .subnav-link:not(:last-child):hover {
    border-bottom: 7px solid #187ABA;
}

button:hover {
    color: #fff;
    background: #187ABA;
}


/* top nav */

.msaw-subnav__links,
.msaw-subnav__insights {
    width: 350px;
    min-height: 592px;
}

div.msaw-subnav__links a {
    color: #fff;
    font-size: 1.125rem;
    font-family: "Karlabold", sans-serif;
    letter-spacing: -.95px;
    line-height: 1.5rem;
}

div.msaw-subnav__links a:hover {
    text-decoration: underline;
    text-decoration-skip-ink: auto;
}

.msaw-subnav__insights a {
    font-family: "ms_gloriola_ii_std_semibold";
}

div.msaw-subnav__desc {
    font-size: 1.875rem;
    font-family: "ms_gloriola_ii_stdlight";
}

p.msaw-subnav__desc_title {
    font-family: "karlabold", sans-serif;
    font-size: 20px;
    color: #333330;
    letter-spacing: -0.67px;
    line-height: 24px;
    margin: 30px 0 20px 0;
}

p.msaw-subnav__desc {
    font-size: 1rem;
}

.msaw-subnav__eyebrow {
    color: #4c4c4c;
    font-family: "karlaregular", sans-serif;
    font-size: 16px;
    letter-spacing: -0.67px;
    line-height: 24px;
    margin: 40px 40px 28px 40px;
    padding-bottom: 20px;
}

a.msaw-subnav__social {
    font-size: 1rem;
    font-weight: 400;
}

.msaw-logo {
    width: 130px;
    height: auto;
}

a.ms-text-logo {
    font-size: .825rem;
}


/*For Smooth Scroll to land above inline-form on all pages*/

.msaw-inline-form-scroll {
    display: block;
    height: 92px;
    margin-top: -92px;
}

@media only screen and (min-width: 1014px) {
    .msaw-footer-hidden-desktop {
        display: none;
    }
}

@media only screen and (max-width: 1013px) {
    .msaw-footer-hidden-desktop {
        display: block
    }
    .msaw-footer-hidden-mobile {
        display: none;
    }
}

@media (min-width: 1280px) {
    .msaw-logo {
        width: 184px;
        height: auto;
    }
}


/* mobile nav */

.mobile-nav a:not(.mobile-nav__header) {
    color: #000;
    font-family: karlabold;
}

.mobile-nav__header {
    font-size: 22px;
    font-family: "ms_gloriola_ii_std_semibold";
    color: #000;
}

.mobile-nav-back {}

.mobile-contact-us-btn i {
    pointer-events: none;
}

.mobile-contact-us-btn:hover {
    background: none;
    color: #000;
}

.mobile-contact-us-btn:focus {
    outline: 2px solid #0a6f7a;
}

.mobile-nav-back:hover,
#msaw-header__hamburger:hover,
.mobile-contact-us-btn:hover i {
    background: none;
    color: #000;
}

.mobile-nav-back:focus,
#msaw-header__hamburger:focus {
    outline: 1px solid #0a6f7a;
}

#search-icon,
#hamburger-icon {
    min-width: 20px;
}


/* hide AEM built-in nav function */

#toggleNav {
    display: block;
}


/* Tailwind goes to 8, we need 10 */

.border-l-10 {
    border-left-width: 10px;
}

.border-aqua {
    border-color: #6FC8Cb;
}

label.error {
    display: none !important;
    height: 0;
    width: 0;
    overflow: hidden;
}

.msaw-stats h3 {
    font-family: "ms_gloriola_ii_std_semibold", sans-serif;
    font-size: 4.375rem;
    margin: 0;
    padding: 0;
}

.msaw-footer a,
.msaw-footer-copyright {
    color: #808080;
}


/*HIJACKS VIDEO SECTIONS*/

.cmp-inlinevideo__contentText>.inlinevideo-sourcetext,
.cmp-inlinevideo__duration {
    display: none !important;
}


/*HIJACKS HEROES AND QUOTES SECTIONS*/

.cmp-text>.link--learnmore,
.cmp-detailshero .detailsherocontent .detailsherodescription {
    white-space: pre-line;
}


/*HIJACK AEM WHEN USING CONTAINER WITH NO BORDER - ESSENTIAL TO ADD PADDING*/

.r4-left-vertical-color-bar__berry {
    border-left: 10px solid white;
}


/*HIJACK AEM DEACTIVATING HREF ON EYEBROW*/

.shortTitle__parent_eyebrow {
    pointer-events: none;
    cursor: default;
}

.cmp-detailshero .shortTitle {
    cursor: text;
}


/* HIJACK AEM RESPONSIVE TEMPORARILY */

.rawhtml.aem-GridColumn {
    padding: 0;
}

.cmp-practicecard__link {
    cursor: default
}

.cmp-practicecard__link:hover .cmp-practicecard__title {
    text-decoration: none;
}

select#state optgroup.group-provinces {
    display: none;
}

select#state optgroup.group-states {
    display: block;
}

select#state.canada optgroup.group-provinces {
    display: block;
}

select#state.canada optgroup.group-states {
    display: none;
}

form.lead-gen-form div input {
    border: 2px solid rgba(0, 0, 0, 0);
}

form.lead-gen-form div input:focus+label,
input+label.show {
    left: 2px;
}

div.label-floating {
    min-height: 52px;
}

.label-floating input,
.label-floating label,
.label-floating textarea,
.label-floating select {
    padding-top: 1rem;
    top: 0px;
    left: 0;
    height: 100%;
}

.label-floating input:not(:placeholder-shown),
.label-floating textarea:not(:placeholder-shown),
.label-floating select:not(:placeholder-shown) {
    padding-top: 1rem;
    transition: all 0.2s ease-in-out;
    outline-color: #187ABA;
}

.label-floating input:not(:placeholder-shown)~label,
.label-floating textarea:not(:placeholder-shown)~label,
.label-floating select.selected~label {
    padding-top: 2px;
    font-size: 0.7rem;
    transition: all 0.2s ease-in-out;
    left: 2px;
    transition-delay: 0;
    color: gray;
}

.label-floating input:not(:-ms-input-placeholder),
.label-floating textarea:not(:-ms-input-placeholder),
.label-floating select:not(:-ms-input-placeholder) {
    padding-top: 1rem;
    transition: all 0.2s ease-in-out;
}

.label-floating input:not(:-ms-input-placeholder)~label,
.label-floating textarea:not(:-ms-input-placeholder)~label,
.label-floating select.selected~label {
    padding-top: 2px;
    font-size: 0.7rem;
    transition: all 0.2s ease-in-out;
    left: 2px;
    transition-delay: 0;
    color: gray;
}

.label-floating select~label,
.label-floating input~label {
    pointer-events: none;
}

form.lead-gen-form div.label-floating.error input,
form.lead-gen-form div.label-floating.error select {
    border: 2px solid red;
    outline: 0;
    max-height: 52px;
}


/** INTERNET EXPLORER 11 OVERRIDES  **/

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    div.lead-gen-overlay {
        max-width: calc(100% - 10px);
    }
    div.label-floating {
        border-color: rgb(215, 215, 215);
    }
    .label-floating input,
    .label-floating label,
    .label-floating textarea,
    .label-floating select {
        height: calc(100% - 1px);
        width: calc(100% - 1px);
        position: absolute;
    ;
    }
    #msaw-solutions,
    #msaw-contact {
        height: auto !important;
    }
    .msaw-subnav__links,
    .msaw-subnav__insights,
    .insights-mode div.flex .insights-box {
        width: 300px !important;
        min-width: 300px !important;
        height: auto !important;
    }
    #msaw-solutions div.flex .msaw-subnav__links div.contact {
        width: 60px!important;
    }
    #msaw-solutions div.flex p.msaw-subnav__desc {
        font-size: 1.25rem;
        line-height: 120%;
    }
    input {
        background: #fff;
    }
    input label.error {
        display: none;
    }
    .focus-only:focus {
        outline: 2px solid black;
    }
    .focus-visible-only:focus-visible {}
    a:focus,
    button:focus,
    input:focus,
    select:focus,
    input[type=text]:focus,
    input[type=checkbox]:focus {
        outline: 0;
        border: 1px solid #187ABA;
    }
    select:focus::-ms-value {
        color: #fff;
        background: #187ABA;
    }
}


/** CUSTOM CHECK BOX **/

.control input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.control__indicator {
    position: absolute !important;
    top: 4px;
    left: 0;
    height: 16px;
    width: 16px;
    background: #e6e6e6;
}

.control input:checked~.control__indicator {
    background: #187ABA;
    border: 1px solid #0a6f7a;
}

input#defaultCheck:focus {
    position: absolute;
    width: 16px;
    height: 16px;
    z-index: 1;
    opacity: 1;
    outline: 1px solid #0a6f7a;
}

.control:hover input:not([disabled]):checked~.control__indicator,
.control input:checked:focus~.control__indicator {
    background: #0e647d;
    cursor: pointer;
}

.control input:disabled~.control__indicator {
    background: #e6e6e6;
    opacity: 0;
    pointer-events: none;
}

.control__indicator {
    background: #fff;
    /*

    border: 1px solid #0a6f7a;

    */
    border-radius: 2px;
}

.control__indicator:after {
    content: '';
    position: absolute;
    display: none;
}

.control input:checked~.control__indicator:after {
    display: block;
}

.control--checkbox .control__indicator:after {
    position: absolute;
    top: 0;
    left: 1px;
    width: 100%;
    height: 100%;
    color: #fff;
    content: '\00a0';
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA1klEQVQ4jcWSvQ4BURBGv7UiUW+h0mq8gFaj0ihEolbpiF4n0agVEo+g1ml4FYSWxs9RuMtYu8mqfMk2e+ecuXcy0r/jSRLwC9OQdJe09jzvqFCQ8qsCd54ZS1Lmh84FSTN3ayT5r5OU3Re8MwYKUUEeCBLgpoGXQO5jbkAdWAEHoBaBS8DewWegHJ5ZwQi4uKIb0HJFPrAx3XtWbgUBMDCFJ6ACdMy/efRpcUPsG2DnngSwBYppBAKGfKcdM9hEgYCugUdxcCjIJizNVNLVLc8k1Zr9LQ+meq0ClmWiVQAAAABJRU5ErkJggg==');
    background-size: 12px;
    background-repeat: no-repeat;
}

input#defaultCheck {
    min-width: 16px;
    min-height: 16px;
    border: 1px solid #000;
    top: 3px;
    left: -20px;
}

.control--checkbox span {
    position: relative;
    margin-left: 28px;
}

.control--checkbox input:disabled~.control__indicator:after {
    border-color: #7b7b7b;
}


/** CONSISTENT SELECT DOWN-ARROW FOR SELECT FIELDS  **/

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAYAAAAI0W+oAAABjUlEQVQ4jb3Tv2tVMRjG8U8tHepQQbo5ODiIg1BwKIj1F9whEBVDi6Li6CCIf4KTk86iq4MgyFHwlAMiVUEXO9pFqJuI4OTiUJB2OGlJj733thb6TOFJ3uebvEnYI42sD6q6OYEHuJZi+Lmb0KpujuM5rqQYvsC+PDGNBZzDx6puDu8CMo33OIaFDG1BeISJPD6CT1XdHP0PyBm8wcFsTeJpCbqEb0XNIe3JpnYA6aEpNixnzm2AUgzfcRpLxaJJfKjq5uQ2IBcxj/HC/oqzKYbl8kRSDD9wvgObwNu8236Q66gwVthLmMkHsAmUYb8ybLGwxzFf1c3lLSC3tHcwWtifcSpnbWgTqID1csG6xvCiqpubBeQunnQy3qGXYvjdzR3pGkXQAbzGTGfqjral9zt+g9kUw5+t8vqCMmw/au3/GqSXuJpiWOm34J/Wlcq7i9q/0U/PMDcIMhRUwC5o29jVY9xIMfwdljMUlGErmMWrwn6I2ymG1e1kDLyjrqq6GdU+5+UUw72d1O6Z1gCxgXpEbESW3QAAAABJRU5ErkJggg==') 98% /12px no-repeat #eee;
    background-color: #fff;
}


/* END DOWN ARROW FOR SELECT FIELDS  */


/* AUTO FILL BACKGROUND COLOR */

input:-webkit-autofill,
input:-internal-autofill-selected,
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-text-fill-color: #4c4c4c;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
    transition: background-color 1s ease-in-out 0s;
}


/* END AUTOFILL BACKGROUND COLOR */


/* CAUTION: IE hackery ahead */

select::-ms-expand {
    display: none;
    /* remove default arrow on ie10 and ie11 */
}


/**NAV UPDATES 092721**/

.contact-us-btn:focus,
#subnav-search:focus,
button#submit:focus,
button.cursor-pointer.close:focus {
    outline: 1px solid #187ABA;
}

@media (min-width: 1280px) {
    #subnav-search i.fa-search {
        font-size: 1.375rem;
        border-bottom: 7px solid rgba(255, 255, 255, 0);
        padding-bottom: 27px;
        position: absolute;
        top: 0;
        left: 0;
    }
    #subnav-search {
        position: relative;
        left: 10px;
        margin-bottom: 27px;
        padding-bottom: 1.25rem;
    }
}

#subnav-search:hover i.fa-search {
    color: #000;
    border-bottom: 7px solid #187ABA;
}

#msaw-search input.search-placeholder {
    font-size: 30px;
}

button.search-submit {
    font-size: 1.125rem;
    width: 56px;
    height: 56px;
}

button.search-submit:hover {
    color: #136194;
}

button.search-submit:focus {
    outline: 2px solid #187ABA;
}

button.cursor-pointer.close {
    position: absolute;
    top: 40px;
    right: 70px;
}

button.cursor-pointer.x-btn {
    top: 40px;
    right: 70px;
    width: 52px;
    height: 52px;
    display: inline;
;
}

button.cursor-pointer.x-btn:focus {
    outline: 1px solid #187ABA;
}

button.cursor-pointer.x-btn img {
    width: 40px;
    height: 40px;
    padding: 12px;
}

button.cursor-pointer:hover {
    background: none;
}

.cursor-pointer svg,
img.cursor-pointer {
    width: 40px;
    height: 40px;
    padding: 12px;
}

.insights-box {
    position: relative;
;
    display: flex;
    background: skyblue;
}

.insights-box-content {
    position: relative;
    color: #fff;
;
    margin-top: 72px;
    margin-left: 3rem;
    font-weight: bold;
;
    display: none;
    flex-direction: column;
;
}

.insights-box-content .insights-box-header {
    position: relative;
;
    margin: 1rem 0;
    padding-top: 6px;
    border-top: 1px solid #7f7f7f;
    font-size: .85rem;
    max-width: 150px;
    letter-spacing: 2px;
}

.insights-box-content ul {
    position: relative;
    top: 1rem;
}

.insights-box-content li {
    position: relative;
    display: flex;
    align-items: flex-start;
;
    margin-bottom: 2rem;
}

div.insights-box-content ul li a {
    text-decoration: none;
    color: #fff;
    letter-spacing: .56px;
    font-size: 1rem;
    line-height: 1.125rem;
    margin: 10px 0;
}

div.insights-box-content ul li a:hover {
    text-decoration: underline;
}

.insights-box-content li a:first-child {
    position: relative;
    margin-right: 1rem;
}

#msaw-solutions,
#msaw-contact {
    min-height: 592px;
}

#msaw-solutions {
    background: #F7F7F7;
}

#msaw-solutions div.flex {}

#msaw-solutions div.flex .msaw-subnav__links div.contact {
    margin: 0 0 0 40px;
    border-color: rgb(70, 148, 199);
    width: 310px;
    position: absolute;
    bottom: 30px;
}

#msaw-solutions div.flex div.contact p,
#msaw-solutions div.flex div.contact a {
    font-weight: bold;
    margin: 0;
    letter-spacing: 0;
    color: #fff !important;
}

#msaw-solutions div.flex .msaw-subnav__links .msaw-overlay-links {
    margin-top: 20px;
}

#msaw-solutions div.flex .msaw-subnav__links .msaw-overlay-links.links-solutions {
    display: flex;
    text-align: left;
}

#msaw-solutions div.flex .msaw-subnav__links .msaw-overlay-links.links-solutions a.bg-bluedark {}

#msaw-solutions div.flex .msaw-subnav__desc {
    text-align: left;
    font-size: 1.875rem;
    line-height: 2.125rem;
}

#msaw-solutions div.flex .msaw-subnav__links .msaw-overlay-links.links-insights {
    display: none;
}

#msaw-solutions.insights-mode div.flex .msaw-subnav__links .msaw-overlay-links.links-solutions {
    display: none;
}

#msaw-solutions.insights-mode div.flex .msaw-subnav__links .msaw-overlay-links.links-insights {
    display: flex;
}

#msaw-solutions.insights-mode div.flex .insights-box {
    min-width: 350px;
    background: #333;
}

#msaw-solutions.insights-mode div.flex .insights-box .insights-box-content {
    display: flex;
}

#msaw-solutions.insights-mode div.flex .insights-box button.cursor-pointer path {
    fill: #fff;
}

a.linkedin-logo-link {
    display: flex;
    justify-content: center;
}

a.linkedin-logo-link span {
    display: flex;
    align-items: center;
    font-size: 1.125rem;
    color: #999999;
}

a.linkedin-logo-link span img {
    width: 118px;
}