/* Colors */
.text-black {
    color: #000;
}

.text-blue {
    color: #0039a6;
}

.bg-light-blue {
    background-color: #e3edfa;
}

.bg-light-lilac {
    background-color: #F2E7F4
}

.content-blocks__block .theme--lilac {
    background-color: #9E5FA9;
}

.content-blocks__block .theme--light-lilac {
    background-color: #F2E7F4;
}

.content-blocks__block .theme--light-lilac h2 {
    color: #9E5FA9;
}

.content-blocks__block .theme--blue {
    background-color: #0039a6;
    color: #FFF;
}

.content-blocks__block .theme--blue h1,
.content-blocks__block .theme--blue h2,
.content-blocks__block .theme--blue h3,
.content-blocks__block .theme--blue h4,
.content-blocks__block .theme--blue h5,
.content-blocks__block .theme--blue p > a,
.content-blocks__block .theme--blue p,
.content-blocks__block .theme--lilac h1,
.content-blocks__block .theme--lilac h2,
.content-blocks__block .theme--lilac h3,
.content-blocks__block .theme--lilac h4,
.content-blocks__block .theme--lilac h5,
.content-blocks__block .theme--lilac p > a,
.content-blocks__block .theme--lilac p {
    color: #FFF !important;
}

.content-blocks__block .theme--light-blue {
    background-color: #E3EDFA;
}

/* Blocks */
.TextformatterVideoEmbed {
    margin: 1.5rem 0;
}

.content-blocks__block .image-block,
.content-blocks__block .columns-block,
.content-blocks__block .cards-block,
.content-blocks__block .text-and-image-block {
    margin: 2rem 0;
}

.home-tpl .content-blocks__block .image-block,
.home-tpl .content-blocks__block .columns-block,
.home-tpl .content-blocks__block .cards-block,
.home-tpl .content-blocks__block .text-and-image-block,
.blog-tpl .content-blocks__block .image-block,
.blog-tpl .content-blocks__block .columns-block,
.blog-tpl .content-blocks__block .cards-block,
.blog-tpl .content-blocks__block .text-and-image-block {
    margin: 2.5rem 0;
}

.home-tpl .content-blocks__block .text-and-image-block {
    min-height: 30rem;
}

.content-blocks__block .text-block {
    max-width: 1024px;
}

.content-blocks__block > .button-container {
    margin-top: 1.5rem;
}

.content-blocks__block .columns-block .column-container {
    display: flex;
    margin: -1rem;
}

.content-blocks__block .columns-block .column-container .column {
    width: 50%;
    padding: 1rem;
}

.content-blocks__block .cards-block .cards-block__list {
    display: flex;
    margin: -1rem;
    list-style-type: none;
    flex-wrap: wrap;
}

.content-blocks__block .cards-block .cards-block__list .box {
    margin-bottom: 0;
}

.content-blocks__block .cards-block .cards-block__list-item {
    width: 50%;
    padding: 1rem;
}

.home-tpl .content-blocks__block .cards-block .cards-block__list-item,
.blog-tpl .content-blocks__block .cards-block .cards-block__list-item {
    width: 33.333%;
}

.content-blocks__block .cards-block .cards-block__list-item h3 {
    margin-bottom: .5rem !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
}

.content-blocks__block .cards-block .cards-block__list-item p {
    color: #000;
}

.content-blocks__block .cards-block .cards-block__list-item p a {
    text-decoration: underline;
}

.content-blocks__block .cards-block .cards-block__list-item img {
    border-radius: .75rem;
}

.content-blocks__block .text-and-image-block {
    display: flex;
    flex-direction: row;
    border-radius: 1rem;
}

.content-blocks__block .text-and-image-block--right {
    flex-direction: row-reverse;
}

.content-blocks__block .text-and-image-block__image {
    width: 33.333%;
}

.home-tpl .content-blocks__block .text-and-image-block__image,
.blog-tpl .content-blocks__block .text-and-image-block__image {
    width: 50%;
}

.content-blocks__block .text-and-image-block__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1rem 0 0 1rem;
}

.content-blocks__block .text-and-image-block--right .text-and-image-block__image img {
    border-radius: 0 1rem 1rem 0;
}

.content-blocks__block .text-and-image-block__content {
    width: 66.666%;
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.content-blocks__block .text-and-image-block__content h2 {
    margin-bottom: .5rem;
}

.home-tpl .content-blocks__block .text-and-image-block__content,
.blog-tpl .content-blocks__block .text-and-image-block__content {
    width: 50%;
    padding: 3rem;
}

@media (max-width: 840px) {
    .home-tpl .content-blocks__block .cards-block .cards-block__list,
    .blog-tpl .content-blocks__block .cards-block .cards-block__list,
	.content-blocks__block .columns-block .column-container {
        margin: -.5rem;
    }

    .home-tpl .content-blocks__block .cards-block .cards-block__list-item,
    .blog-tpl .content-blocks__block .cards-block .cards-block__list-item,
    .content-blocks__block .columns-block .column-container .column {
        padding: .5rem;
    }

    .home-tpl .content-blocks__block .cards-block .cards-block__list-item,
    .blog-tpl .content-blocks__block .cards-block .cards-block__list-item {
        width: 50%;
    }

    .content-blocks__block .text-and-image-block__image,
    .content-blocks__block .text-and-image-block__content {
        width: 100% !important;
    }

    .content-blocks__block .text-and-image-block {
        flex-direction: column;
    }

    .content-blocks__block .text-and-image-block__image img {
        border-radius: 1rem 1rem 0 0 !important;
    }
}

@media (max-width: 640px) {
	.content-blocks__block .columns-block .column-container {
        display: block;
    }
    
    .home-tpl .content-blocks__block .cards-block .cards-block__list-item,
    .blog-tpl .content-blocks__block .cards-block .cards-block__list-item,
    .content-blocks__block .columns-block .column-container .column {
        width: 100%;
    }

    .content-blocks__block .text-and-image-block__image {
        width: 100%;
        max-height: 40rem;
        overflow: hidden;
    }

    .content-blocks__block .cards-block .cards-block__list-item {
        width: 100%;
    }
}

@media (max-width: 500px) {
    .home-tpl .content-blocks__block .text-and-image-block__content,
    .blog-tpl .content-blocks__block .text-and-image-block__content {
        padding: 2rem 1.5rem;
    }
}

/* Buttons */
.content-blocks__block .theme--blue .button--primary {
    color: #0039a6;
    background-color: #FFF;
    border-color: #FFF;
}

.content-blocks__block .theme--blue .button--primary:hover {
    color: #FFF;
    background-color: #9E5FA9;
    border-color: #9E5FA9;
}

.content-blocks__block .theme--blue .button--secondary {
    border-color: #FFF;
    color: #FFF;
    background-color: rgba(255, 255, 255, 0);
}

.content-blocks__block .theme--blue .button--secondary:hover {
    background-color: rgba(255, 255, 255, 0);
    border-color: #9E5FA9;
    color: #9E5FA9;
}

.content-blocks__block .theme--lilac .button--primary {
    color: #9E5FA9;
    background-color: #FFF;
    border-color: #FFF;
}

.content-blocks__block .theme--lilac .button--primary:hover {
    color: #FFF;
    background-color: #0039a6;
    border-color: #0039a6;
}

.content-blocks__block .theme--lilac .button--secondary {
    border-color: #FFF;
    color: #FFF;
    background-color: rgba(255, 255, 255, 0);
}

.content-blocks__block .theme--lilac .button--secondary:hover {
    background-color: rgba(255, 255, 255, 0);
    border-color: #0039a6;
    color: #0039a6;
}

.content-blocks__block .theme--light-lilac .button--primary {
    color: #FFF;
    background-color: #9E5FA9;
    border-color: #9E5FA9;
}

.content-blocks__block .theme--light-lilac .button--primary:hover {
    color: #FFF;
    background-color: #0039a6;
    border-color: #0039a6;
}

.content-blocks__block .theme--light-lilac .button--secondary {
    color: #9E5FA9;
    border-color: #9E5FA9;
    background-color: rgba(255, 255, 255, 0);
}

.content-blocks__block .theme--light-lilac .button--secondary:hover {
    color: #0039a6;
    border-color: #0039a6;
    background-color: rgba(255, 255, 255, 0);
}

.content-blocks__block .ad-block {
    margin: 2rem 0;
}

.content-blocks__block .ad-block__image-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.content-blocks__block .ad-block__image {
    margin: auto;
}

.content-blocks__block .ad-block__start {
    font-size: .875rem;
    text-transform: uppercase;
    color: #777777;
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.content-blocks__block .ad-block__text {
    flex-shrink: 0;
}

.content-blocks__block .ad-block__line {
    border-bottom: 1px solid rgba(0, 0, 0, .15);
    width: 100%;
    margin-left: .5rem;
}

.content-blocks__block .ad-block__end {
    margin-top: 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, .15);
}

.content-blocks__block .ad-block__manual-ad-container {
    margin: 1rem auto;
    padding: 1.5rem;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: .75rem;
    display: flex;
}

.content-blocks__block .ad-block__manual-ad-container h3 {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
    color: #0039a6 !important;
}

.content-blocks__block .ad-block__manual-ad-container .ad-summary {
    color: #0a0a0a;
}

.content-blocks__block .ad-block__manual-ad-container h3:hover,
.content-blocks__block .ad-block__manual-ad-container h3:focus {
    text-decoration: underline;
}

.content-blocks__block .ad-block__manual-ad-container .button--primary {
    margin-top: 1rem;
}

.content-blocks__block .ad-block__ad-link {
    font-size: .875rem;
    color: #777777;
    margin-bottom: .5rem;
}

.content-blocks__block .ad-block .manual-ad__text-content {
    padding-left: 1.5rem;
    width: 66.666%;
}

.content-blocks__block .manual-ad__image {
    width: 33.333%;
}

.content-blocks__block .ad-block__manual-ad-container .ad-block__image {
    border-radius: .25rem;
}

@media (max-width: 768px) {
    .content-blocks__block .ad-block__manual-ad-container {
        padding: 1rem;
    }

    .content-blocks__block .ad-block__manual-ad-container h3 {
        font-size: 1.125rem !important;
    }

    .content-blocks__block .manual-ad__image,
    .content-blocks__block .ad-block .manual-ad__text-content {
        width: 100%;
    }    
}

@media (max-width: 640px) {
    .content-blocks__block .ad-block__manual-ad-container {
        flex-direction: column;
    }

    .content-blocks__block .ad-block .manual-ad__text-content {
        padding-left: 0;
        width: 100%;
        margin-top: 1rem;
    }
}