/* FONTS RESET */

h1,
h2,
h3 {
    font-family: 'Poppins' !important;
}

h4,
h5,
h6,
p {
    font-family: 'IPC Gill Sans' !important;
}

h1 {
    font-size: 64px !important;
}

h2 {
    font-size: 44px !important;
}

h3 {
    font-size: 32px !important;
}

h4 {
    font-size: 28px !important;
}

h5 {
    font-size: 18px !important;
}

h6 {
    font-size: 14px !important;
}

p {
    font-size: 20px !important;
}

a,
li,
span {
    font-family: inherit !important;
    font-size: inherit !important;
}

sub,
sup {
    font-size: 50%;
}

/* ----- FONTS CLASSES----- */

b,
strong {
    font-family: inherit !important;
    font-weight: bold !important;
}

i,
em,
sup {
    font-family: inherit !important;
}

/* Set Font Family */
.ipc_text_hero_xx,
.ipc_text_hero_xl,
.ipc_text_hero_lg,
.ipc_text_hero_md,
.ipc_text_hero_sm,
.ipc_text_hero_xs_heavy,
.ipc_text_hero_xs_x-heavy,
.ipc_text_hero_xs {
    font-family: 'Poppins' !important;
}

.ipc_text_xx,
.ipc_text_xl,
.ipc_text_lg_heavy,
.ipc_text_lg,
.ipc_text_md_heavy,
.ipc_text_md,
.ipc_text_sm_heavy,
.ipc_text_sm,
.ipc_text_xs {
    font-family: 'IPC Gill Sans' !important;
}

/* FONTS: Regular */

.ipc_text_xx {
    font-size: 28px !important;
    font-weight: 300 !important;
}

.ipc_text_xl {
    font-size: 24px !important;
    font-weight: 400 !important;
}

.ipc_text_lg_heavy {
    font-size: 22px !important;
    font-weight: 600 !important;
}

.ipc_text_lg {
    font-size: 22px !important;
    font-weight: 400 !important;
}

.ipc_text_md_heavy {
    font-size: 20px !important;
    font-weight: 600 !important;
}

.ipc_text_md {
    font-size: 20px !important;
    font-weight: 400 !important;
}

.ipc_text_sm_heavy {
    font-size: 20px !important;
    font-weight: 600 !important;
}

.ipc_text_sm {
    font-size: 18px !important;
    font-weight: 400 !important;
}

.ipc_text_xs {
    font-size: 16px !important;
    font-weight: 400 !important;
}

/* FONTS: Hero */

.ipc_text_hero_xx {
    font-size: 44px !important;
    font-weight: 300 !important;
}

.ipc_text_hero_xl {
    font-size: 32px !important;
    font-weight: 300 !important;
}

.ipc_text_hero_lg {
    font-size: 28px !important;
    font-weight: 300 !important;
}

.ipc_text_hero_md {
    font-size: 22px !important;
    font-weight: 300 !important;
}

.ipc_text_hero_sm {
    font-size: 20px !important;
    font-weight: 400 !important;
}

.ipc_text_hero_xs_x-heavy {
    font-size: 16px !important;
    font-weight: 600 !important;
}

.ipc_text_hero_xs_heavy {
    font-size: 16px !important;
    font-weight: 500 !important;
}

.ipc_text_hero_xs {
    font-size: 16px !important;
    font-weight: 400 !important;
}

/* FONTS - SPECIAL */
.ipc_slice-title_accent {
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

.ipc_weight-reset {
    font-weight: 400 !important;
}

#header>div.call-to-action.align-left>h1>span {
    font-family: inherit !important;
    font-weight: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
}

.ipc_accent-green {
    color: #5AA518;
}

/* OVERRIDE JUNK */
.col-our-difference {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ---------- BUTTONS ---------- */
.ipc_btn,
.btn-conversation {
    font-size: 20px !important;
    padding: 14px 24px 14px 24px !important;
}

/* ----- High Emphasis ----- */
/* Use for the most important and primary actions on a page. */

/* Pine Green on light backgrounds */
.ipc_btn_hi-em_lt-bg {
    background: #00462D !important;
    color: white !important;
}

.ipc_btn_hi-em_lt-bg:disabled {
    opacity: 0.3 !important;
}

.ipc_btn_hi-em_lt-bg:hover {
    color: white !important;
    background: linear-gradient(0deg, #00462D, #00462D), linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)) !important;
}

/* Accent Green on dark backgrounds */
.ipc_btn_hi-em_dk-bg {
    background: #5AA518 !important;
    color: white !important;
}

.ipc_btn_hi-em_dk-bg:disabled {
    opacity: 0.3 !important;
}

.ipc_btn_hi-em_dk-bg:hover {
    color: white !important;
    background: linear-gradient(0deg, #018543, #018543), linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)) !important;
}

/* ----- Medium Emphasis - Solid ----- */
/* Useful when a primary importance isn’t quite applicable, but it needs more emphasis than an outline button. */

/* Pine Green on light backgrounds */
.ipc_btn_md-em_lt-bg {
    color: #00462D !important;
    background: #E4ECEE !important;
}

.ipc_btn_md-em_lt-bg:disabled {
    opacity: 0.3 !important;
}

.ipc_btn_md-em_lt-bg:hover {
    color: #00462D !important;
    background: linear-gradient(0deg, #E4ECEE, #E4ECEE), linear-gradient(0deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)) !important;

}

/* Accent Green on dark backgrounds */
.ipc_btn_md-em_dk-bg {
    background: #003A25 !important;
    color: white !important;
}

.ipc_btn_md-em_dk-bg:disabled {
    opacity: 0.3 !important;
}

.ipc_btn_md-em_dk-bg:hover {
    color: white !important;
    background: linear-gradient(0deg, #003A25, #003A25), linear-gradient(0deg, rgba(0, 14, 7, 0.1), rgba(0, 14, 7, 0.1)) !important;

}

/* ----- Medium Emphasis - Outline ----- */
/* Use for important calls to action that aren’t the primary action on the page. */

/* Pine Green on light backgrounds */
.ipc_btn_md-em_lt-bg_outline {
    color: #00462D !important;
    border: 1px solid #00462D !important;
}

.ipc_btn_md-em_lt-bg_outline:disabled {
    opacity: 0.3 !important;
}

.ipc_btn_md-em_lt-bg_outline:hover {
    color: #00462D !important;
    background: hsla(192, 23%, 91%, 1) !important;
}

/* Accent Green on dark backgrounds */
.ipc_btn_md-em_dk-bg_outline {
    border: 1px solid #5AA518 !important;
    color: white !important;
}

.ipc_btn_md-em_dk-bg_outline:disabled {
    opacity: 0.3 !important;
}

.ipc_btn_md-em_dk-bg_outline:hover {
    color: white !important;
    background: hsla(158, 100%, 11%, 1) !important;
}

/* ----- Low Emphasis ----- */
/* Useful for low priority actions and where there are many actions presented to the user. */

.ipc_btn_lo-em_lt-bg {
    color: #00462D !important;
}

.ipc_btn_lo-em_lt-bg:disabled {
    opacity: 0.3 !important;
}

.ipc_btn_lo-em_lt-bg:hover {
    color: #00462D !important;
    background: hsla(192, 23%, 91%, 1) !important;
}

.ipc_btn_lo-em_dk-bg {
    color: white !important;
}

.ipc_btn_lo-em_dk-bg:disabled {
    opacity: 0.3 !important;
}

.ipc_btn_lo-em_dk-bg:hover {
    color: white !important;
    background: hsla(158, 100%, 11%, 1) !important;
}

/* CURSOR */
.blog-roll-post,
.ipc-modal-button-span {
    cursor: pointer;
}

/* FOOTER */
.ipc_footer {
    display: flex;
}

.ipc_footer_info {
    max-width: 25%;
    padding-right: 25px;
    min-width: max-content;
    padding-right: 5%;
}

.ipc_footer_page-links {
    max-width: 75%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 25px;
    justify-content: space-between;
}

.ipc_sub-footer-nav_second-level {
    display: flex;
    flex-direction: column;
}

.footer-disclosures * {
    color: #ffffff !important;
}

.ipc_footer_page-disclosures {
    flex-basis: 500px;
}

.ipc_footer_page-links {
    flex-direction: column !important;
    justify-content: unset !important;
}

.ipc_footer_page-links>div {
    min-width: 400px !important;
}

.ipc_footer_page-disclosures {
    flex-basis: unset !important;
}

.mfda,
.iiroc {
    gap: 15px !important;
}

.mfda>li,
.iiroc>li {
    text-align: center !important;
    margin: auto !important;
}

/* Testimonials */
@media screen and (min-width: 1000px) {
    #ipc_testimonials_controls {
        width: 30%;
        margin-left: 0px;
        margin-top: 75px;
    }
}

/* FONTS RESET - Customizations*/

.learn-more {
    padding: 0 10px 10px 10px;
    width: fit-content !important;
}

.learn-more h3 {
    font-size: 28px !important;
    margin: 0 !important;
}

.section2_hp .left h4,
.section2_hp .left h3 {
    color: #fff;
    font-weight: 200 !important;
}

.section5_hp {
    padding: 50px !important;
}

.section5_hp h4 {
    color: #ffffff;
}

.section5_hp .download-card {
    max-width: 715px !important;
}

/* Video Banner */
.video-container {
    height: auto;
    max-height: 100%;
}

/* TEAM PROFILES */
.profile-row-circle .ipc_team_profile-preview_image {
    object-fit: cover;
    border-radius: 50%;
    height: 200px;
    width: 200px;
}

.profile-row-square {
    display: flex;
    flex-wrap: wrap;
    width: 100% !important;
    justify-content: center;
}

.profile-row-square .ipc_team_profile-preview {
    text-align: center;
    background-color: #f0f0f0;
    min-height: 460px;
    max-width: 470px;
    margin: 25px;
    padding: 0;
}

/* Team Page - Consultants */
.ipc_consultants_row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.ipc_team_profile-preview_mini-bio {
    font-size: 14px !important;
    text-align: center;
}

/* Home Page - Our Difference */
#ipc_our-difference_columns {
    align-items: flex-start;
    padding-top: 75px !important;
}

.ipc_our-difference_image-layout .ipc_our-difference_card {
    display: flex;
    align-self: flex-end;
    gap: 10px;
    max-width: none !important;
}

.ipc_our-difference_image-layout .ipc_our-difference_card>img {
    max-height: max-content;
}

.ipc_our-difference_image-layout .ipc_our-difference_card_copy>p {
    text-align: left;
}

.ipc_our-difference_image-layout .ipc_our-difference_card_copy>h3 {
    margin-top: 0 !important;
}

.ipc_our-difference_image-layout .ipc_our-difference_card_copy {
    text-align: left !important;
    margin: 0 !important;
}

#ipc_our-difference_image {
    overflow: hidden;
    height: 875px;
}

#ipc_our-difference_image>img {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.ipc_our-difference_box-layout {
    background: #F5F8F9;
}

.ipc_our-difference_box-layout .ipc_our-difference_card {
    background: #ffffff;
    padding: 25px;
    border-radius: 10px;
    max-width: 750px !important;
}

.ipc_our-difference_card_icon {
    max-width: 71px;
}

/* SERVICES PAGE */
.section1_service .ipc_service_item {
    max-width: 350px;
    margin: 75px 20px 0;
}

.section2_service .ipc_service_item {
    max-width: 350px;
    margin: 0 100px;
}

/* TESTIMONIALS */

.testimonial-author-context {
    color: #000000;
}

/* Homepage Banner Overrides */
.call-to-action .scroll-down {
    display: none;
}

@media only screen and (min-width: 600px) {
    .call-to-action>h1 {
        font-weight: 100 !important;
        font-size: 55px !important;
        line-height: 85px !important;
        letter-spacing: -4.25px;
    }

    .call-to-action>h2 {
        font-size: 28px !important;
        font-family: 'IPC Gill Sans' !important;
    }
}

@media only screen and (min-width: 1200px) {
    .call-to-action>h1 {
        font-size: 85px !important;
    }
}

@media only screen and (max-width: 768px) {
    .video-container {
        height: 100% !important;
    }
}

/* MOBILE RESIZE */

@media only screen and (max-width: 600px) {
    .ipc_half-page_content {
        max-width: unset !important;
    }

    .ipc_service_item {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .section1_hp>div,
    .section1_hp>div>h2 {
        max-width: unset !important;
        width: unset !important;
    }

    #blog-blog-roll-slice {
        justify-content: center;
    }

    .profile-section-expanded_item {
        flex-direction: column !important;
    }

    .ipc_footer_page-links>div {
        min-width: initial !important;
    }

    .call-to-action>h1 {
        font-size: 40px !important;
        line-height: 50px !important;
    }

    .call-to-action>h2 {
        font-size: 35px !important;
        font-family: 'IPC Gill Sans' !important;
    }

    .mobile-nav .logo-container img {
        height: auto !important;
    }

    .pull-left {
        max-width: 85% !important;
    }

    .ipc_our-difference_card {
        min-width: 100%;
    }

}

@media only screen and (min-width: 1000px) {
    .call-to-action.align-left {
        padding-left: 200px;
        width: 100%;
        top: 35%;
    }
}

/* TEAM PAGE */
.ipc_team_profile-preview_bio {
    display: none;
    padding: 25px;
}

.profile-row-square .ipc_team_profile-preview_bio {
    display: block;
}

/* HOME PAGE */
.ipc_page_slice {
    max-width: 1500px !important;
    margin: auto !important;
}

.section3_hp div {
    max-width: 75% !important;
}

#ipc_our-difference_columns {
    gap: 25px !important;
}

.ipc_our-difference_card {
    max-width: 30% !important;
    margin: 0 !important;
}

.ipc_our-difference_card_copy {
    margin: 0 !important;
    max-width: none !important;
}

/* HEADER */

#header {
    height: 80vh !important;
}

.nav-menu {
    background: none !important;
}

.nav-menu:hover .dropdown-content--container::before {
    content: "";
    position: absolute;
    height: 0;
    width: 0;
    top: -20px;
    left: 40%;
    border: 10px solid transparent;
    border-bottom-color: #f5f8f9;
}

.more-navigation-menus {
    flex-wrap: wrap !important;
}

/* Banner Height Reset - Blog */
body.blog-page #da-layout-container #header,
body.single-blog-post #da-layout-container #header {
    height: 140px !important;
}

/* SERVICES */
.section1_service {
    padding-bottom: 25px !important;
}

.section2_service {
    padding-top: 25px !important;
}

.ipc_services_grouped .ipc_services_row_text .ipc_services_item_container .content {
    display: flex;
    align-self: flex-end;
    gap: 10px;
}

.ipc_services_grouped .ipc_services_row_text .ipc_services_item_container .content img {
    max-height: max-content;
}

.ipc_services_grouped .ipc_service_item {
    max-width: 525px;
}

.ipc_services_grouped .ipc_services_item_copy h3 {
    text-align: left;
    padding-left: 10px;
    margin-top: 0 !important;
}

.ipc_services_grouped .ipc_services_item_copy p {
    text-align: left;
    padding-left: 10px;
}

.ipc_service_item>img {
    max-width: 70px;
}

/* TEAM */

.ipc_consultants-profile {
    display: flex;
    flex-direction: column;
    align-items: center
}

.ipc_consultants-profile h5,
.ipc_consultants-profile h6 {
    line-height: 0
}

.ipc_consultants-image {
    padding-bottom: 15px
}

.ipc_consultants-image_circle {
    border-radius: 50%;
    height: 200px;
    width: 200px;
    padding-bottom: 0 !important;
    object-fit: cover;
}

.ipc_team-intro_image {
    max-width: 100%;
    padding-bottom: 25px;
}

/* Footer - Secondary Address Update */
.ipc_footer_team-address_container,
.ipc_footer_team-phones_container {
    display: flex;
    justify-content: space-between;
    gap: 50px;
}

#ipc_footer_team-address_secondary,
#ipc_footer_team-phones_secondary {
    text-align: right;
}

.ipc_footer_page-links {
    align-content: flex-end;
    align-self: end;
}

/* CHARITIES */
.ipc_charity_logo {
    max-height: 175px;
    max-width: 225px;
}

/* PODCASTS */
.flex {
    display: flex
}

.flex-wrap {
    flex-wrap: wrap
}

.flex-center {
    justify-content: center;
    gap: 10px
}

.flex-between {
    justify-content: space-between
}

.flex-row {
    flex-direction: row
}

.text-slice-callout {
    font-family: 'Lato';
    padding: 15px 7%
}

.podcast-badge {
    min-width: 166px
}

header h1,
header p {
    font-family: arial;
    font-weight: 100;
    color: white
}

.ipc_podcast-header_image {
    max-width: 300px;
    max-height: 300px;
}

#podcast_rss-feed h2 {
    width: 100%;
    text-align: center;
}

.podcast_rss-feed_item {
    position: relative;
    box-shadow: rgba(0, 0, 0, 0.25) 0 3px 11px 0 !important;
    width: 350px;
    text-align: center;
    margin: 50px 15px;
    border-radius: 5px;
    min-height: 375px;
    padding-bottom: 15px;
}

.podcast_rss-feed_item_desc {
    overflow-y: hidden;
    height: 140px;
    padding: 0 15px;
}

.podcast_rss-feed_item_desc:after {
    content: '';
    position: absolute;
    left: 0px;
    right: 0px;
    height: 25%;
    bottom: 0px;
    background: linear-gradient(180deg, rgba(139, 167, 32, 0) 0%, rgba(255, 255, 255, 1) 100%);
    pointer-events: none;
}

/* COFFEE SLICE */
.row-coffee {
    padding-top: 50px;
    padding-bottom: 50px;
    padding-right: 25%
}

/* CLIENT SOLUTIONS */
.ipc_ul_full-width {
    margin: 0
}

.ipc_ul_full-width>li {
    list-style: none
}

.ipc_half-page_content {
    max-width: 50%
}

.ipc_flex_between {
    justify-content: space-between
}

.ipc_flex_top {
    align-items: flex-start;
    padding-bottom: 100px
}

.ipc_text_center {
    text-align: center
}

.ipc_text_center {
    padding-top: 0
}

.ipc_anchor_margin {
    scroll-margin-top: 50px
}

/* CONTACT PAGE */
#ipc_contact-section {
    padding-top: 0 !important;
}

/* PODCAST */
.ipc_bannerBackgroundImage_blur::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(3px);
    pointer-events: none;
}

/*              BLOG AND VIDEO PAGE              */
/* BLOG AND VIDEO - INTIAL HERO POST STYLES */
#categories {
    display: flex;
    gap: 5px;
}

#categories h2 {
    display: none;
}

#categories p {
    padding: 10px;
    background: #F2F6F7;
    border-radius: 10px;
}

#categories p a {
    font-family: arial;
    font-weight: 100;
}

.preview-category {
    border-radius: 10px;
    width: fit-content;
    background: #00462D;
    color: white;
    padding: 6px, 12px, 6px, 12px;
}

.preview-category p a {
    font-family: arial;
    font-weight: 100;
}

#blog-hero-post {
    display: flex;
    justify-content: space-evenly;
}

#blog-hero-post img {
    width: 500px;
}

#blogpage {
    display: flex;
    flex-wrap: wrap;
}

.blog-post {
    width: 33%;
}

.blog-post--content {
    display: flex;
    flex-direction: column;
}

.blog-post--image {
    width: 85%;
}

/* BLOG AND VIDEO - FEATURE POST */
#blog-hero-post {
    padding: 50px 25px;
}

h3.blog-preview_title {
    font-weight: 300 !important;
}

/* BLOG AND VIDEO - CATEGORIES */
#categories p a,
.blog-category {
    font-size: 13px !important;
    font-weight: 300 !important;
}

#categories p,
.blog-category {
    padding: 5px 10px !important;
}

/* BLOG AND VIDEO - BLOGROLL */
#blog-blog-roll-slice {
    display: flex;
    flex-wrap: wrap;
}

.blog-roll-post {
    margin-top: 25px;
}

.blog-roll-post_image {
    margin-bottom: 15px;
    background-size: cover;
    background-position: center;
    background-position-x: 50%;
    background-position-y: 50%;
    background-repeat: no-repeat;
    min-height: 126px;
}

.blog-roll-post_title {
    font-size: 20px;
    margin-bottom: 15px;
}

.blog-roll-post_info {
    font-size: 15px;
    /* font-weight: 300 !important; */
}

.blog-roll-post_info_tag {
    font-weight: 400 !important;
    font-size: initial;
}

.blog-roll-post_info_date {
    font-weight: 300 !important;
}

/* MISC */

.ipc_slice_padding_50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.TopBar {
    display: none !important;
}

.profile-section-expanded {
    width: 100% !important;
}

.ipc_slice_bg_grey {
background-color: #f6f8f9;
}

/* Scrolling Div Temp Fix */
#scrolling-div {
z-index: 11 !important;
}

/* Advisor Stream */
#advisor_stream_embed a {
    font-size: 17px !important;
}

#advisor_stream_embed h3 {
    font-size: 20px !important;
}

/* FONTS HOVER */
.nav-bar .regular-nav .nav-pages a {
    transition: text-shadow 0.2s ease !important;
}

.nav-bar .regular-nav .nav-pages li:hover a,
.nav-bar .regular-nav .nav-pages li.open a,
.nav-bar .regular-nav .nav-pages li.active:hover a {
    text-shadow: 0 0 1px currentColor !important;
    font-weight: 100 !important;
}

/* BLOG SINGLE PAGE */
.blog-post--title {
    font-size: 44px !important;
    color: #000000 !important;
}
.blog-post--subheader {
    font-size: 28px !important;
}
#da-layout-container #da-portlet-wrapper #da-portlet-content #da-content-container #main-content .blog-post--individual .blog-post--social-btn {
    padding: 8px !important;
}

/* POPUP */
.ipc_modal-content-container {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 25px;
}

/* MISC */
#voa-btn {
font-weight: reset !important
}

.ipc_consultants-portfolio {
    text-align: center;
}

/* TEMP CHARITY */
#ipc_cares, #ipc_team_charity-title {
    display: none !important;
}