/**
    Global pattern styles
 */

.icp_infocus_content .tpx-icp-pattern-wrapper [class*="__inner-container"] > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide),
.icp_infocus_content .tpx-icp-pattern-wrapper .wp-block-cover.alignfull .wp-block-cover__inner-container {
    max-width: 1200px !important;
}

.tpx-icp-pattern-wrapper {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.tpx-icp-pattern-wrapper > .wp-block-group__inner-container {
    max-width: 1200px !important;
    margin-left: auto;
    margin-right: auto;
}

.tpx-icp-pattern-wrapper.tpx-icp-pattern-wrapper-full {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.tpx-icp-pattern-wrapper.tpx-icp-pattern-wrapper-full > .wp-block-group__inner-container {
    max-width: 100% !important;
}

.tpx-icp-pattern-wrapper h1,
.tpx-icp-pattern-wrapper h2,
.tpx-icp-pattern-wrapper h3,
.tpx-icp-pattern-wrapper h4,
.tpx-icp-pattern-wrapper h5,
.tpx-icp-pattern-wrapper h6 {
    color: currentColor;
    margin-top: 0 !important;
}

.tpx-icp-pattern-wrapper h2 {
    font-size: 40px !important;
}

.tpx-icp-pattern-wrapper .wp-block-image figcaption {
    color: currentColor !important;
}

.tpx-icp-pattern-wrapper .tpx-icp-pattern {
    padding-top: 24px;
    padding-bottom: 24px;
}

.tpx-icp-pattern-wrapper .tpx-icp-pattern-column-reverse {
    flex-direction: row-reverse !important;
}

.tpx-icp-pattern-wrapper .tpx-icp-pattern-column-reverse .wp-block-column:last-child {
    margin-left: 0 !important;
}

@media (min-width: 600px) {
    .tpx-icp-pattern-wrapper .tpx-icp-pattern-column-reverse .wp-block-column:first-child {
        margin-left: 2em !important;
    }
}

/**
    Buttons
 */
.tpx-icp-pattern-wrapper .wp-block-button.icp_header_cta .wp-block-button__link {
    border-radius: 6px;
    font-size: 15px;
    font-weight: bold;
    margin-top: -3px;
    padding: 9px 20px;
    text-decoration: none;
    transition: all 0.15s linear;
}

.tpx-icp-pattern-wrapper .wp-block-button.icp_header_cta .wp-block-button__link:hover {
    background: #162B48 !important;
    color: white !important;
    text-decoration: none;
}

/**
    Page Header Pattern styles
 */
.tpx-icp-pattern.tpx-icp-pattern-page-header {
    margin-bottom: 0 !important;
    padding-top: 140px !important;
    padding-bottom: 140px !important;
}

@media (max-width: 781px) {
    .tpx-icp-pattern.tpx-icp-pattern-page-header {
        padding-top: 90px !important;
        padding-bottom: 90px !important;
    }
}

.tpx-icp-pattern.tpx-icp-pattern-page-header h1 {
    font-size: 64px !important;
    line-height: 1;
    margin-bottom: 0.4em !important;
}

@media (max-width: 781px) {
    .tpx-icp-pattern.tpx-icp-pattern-page-header .wp-block-columns {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .tpx-icp-pattern.tpx-icp-pattern-page-header .wp-block-cover-image .wp-block-cover__inner-container,
    .tpx-icp-pattern.tpx-icp-pattern-page-header.wp-block-cover .wp-block-cover__inner-container {
        width: 100% !important;
    }
}

/**
    Text Content Pattern styles
 */
.icp_infocus_content .tpx-icp-pattern-wrapper [class*="__inner-container"] > *.tpx-icp-pattern.tpx-icp-pattern-text-content.has-text-align-center:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
    max-width: 864px !important;
}

/**
    Quote Pattern styles
 */
.tpx-icp-pattern-wrapper .tpx-icp-pattern.tpx-icp-pattern-quote {
    padding-left: 2rem;
    padding-right: 2rem;
}

.tpx-icp-pattern-wrapper div.tpx-icp-pattern.tpx-icp-pattern-quote .wp-block-group__inner-container {
    border-top: 0 !important;
    max-width: 864px !important;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.tpx-icp-pattern-wrapper .tpx-icp-pattern.tpx-icp-pattern-quote blockquote.wp-block-quote p {
    font-size: 1.1em !important;
    font-family: 'Open Sans', Arial, sans-serif !important;
    line-height: 1.45 !important;
}

.tpx-icp-pattern-wrapper .tpx-icp-pattern.tpx-icp-pattern-quote blockquote.wp-block-quote cite {
    color: currentColor;
}

.tpx-icp-pattern-wrapper .tpx-icp-pattern.tpx-icp-pattern-quote blockquote.wp-block-quote:not(.is-large):not(.is-style-large)::after {
    border-color: currentColor;
}

.tpx-icp-pattern-wrapper .tpx-icp-pattern.tpx-icp-pattern-quote blockquote.wp-block-quote::after {
    left: 50%;
    transform: translateX(-50%);
}

.tpx-icp-pattern-wrapper .tpx-icp-pattern.tpx-icp-pattern-quote blockquote.wp-block-quote::before {
    content: none !important;
}

/**
    Article Links Block
 */
.tpx-block.tpx-block-article-links-half .tpx-block-article-img,
.tpx-block.tpx-block-article-links-half .tpx-block-article-img img {
    aspect-ratio: 1 / 0.673076923;
}

.tpx-block.tpx-block-article-links .wp-block-heading {
    margin-bottom: 0.5em !important;
}

.tpx-block.tpx-block-article-links .wp-block-heading a {
    text-decoration: none;
    color: currentColor;
}

.tpx-block.tpx-block-article-links-half .tpx-block-article-img {
    margin-bottom: 1em;
}

.tpx-block.tpx-block-article-links .tpx-block-article-links-meta {
    opacity: 0.8;
}

.tpx-block.tpx-block-article-links .wp-block-button {
    margin-top: 0;
}

.tpx-block.tpx-block-article-links-grid.wp-block-columns {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2em 2em;
}

@media (max-width: 781px) {
    .tpx-block.tpx-block-article-links-grid.wp-block-columns {
        grid-template-columns: 1fr;
        gap: 1em;
    }

    .tpx-block.tpx-block-article-links-half.wp-block-columns .wp-block-column:first-child {
        margin-bottom: 3em;
    }
}

.tpx-block.tpx-block-article-links-grid.wp-block-columns .wp-block-column {
    margin-left: 0 !important;
}

@media (max-width: 781px) {
    .tpx-block.tpx-block-article-links.tpx-block-article-links-full.wp-block-columns {
        flex-direction: column-reverse !important;
    }

    .tpx-block.tpx-block-article-links.tpx-block-article-links-full.wp-block-columns .wp-block-column:last-child {
        margin-bottom: 1em;
    }
}

/**
    Quote Block styles
 */
.icp_infocus_content .tpx-icp-pattern-wrapper [class*="__inner-container"] > .tpx-block.tpx-block-quote:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
    max-width: 864px !important;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding: 0;
    border: 0;
}

.tpx-block.tpx-block-quote {
    position: relative;
    max-width: 864px !important;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding: 0;
    border: 0;
}

.tpx-block.tpx-block-quote .tpx-block-quote-text {
    font-family: "Playfair Display",serif;
    font-size: 2em;
}

.tpx-block.tpx-block-quote .tpx-block-quote-author {
    position: relative;
    font-style: italic;
    font-size: 16px;
}

.tpx-block.tpx-block-quote .tpx-block-quote-author::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    border: 1px solid;
}

.tpx-block.tpx-block-quote .tpx-block-quote-icon {
    display: block;
    font-family: "Playfair Display", serif;
    font-size: 12em;
    line-height: 1;
    margin-bottom: -80px;
    opacity: 0.3;
}

@media (min-width: 600px) {
    .tpx-block.tpx-block-quote .tpx-block-quote-icon {
        position: absolute;
        top: -0.20em;
        right: 100%;
        margin-bottom: 0;
    }
}

/**
    Utility
 */
.tpx-block {
    padding-top: 24px;
    padding-bottom: 24px;
}