/* General
--------------------------------------------- */
.entry-content{
    font-size: 1.8rem;
    line-height: 1.688889;
}
.entry-content > *{
    margin-top: 3rem;
    margin-bottom: 3rem;
}
.entry-content > h2,
.entry-content > h3,
.entry-content > h4{
    margin-bottom: 3rem;
}
.wp-block-image figcaption{
    font-size: 15px;
    font-style: italic;
    line-height: 1.3;
    text-align: center;
}

/* Background Color
--------------------------------------------- */
.entry-content p.has-background{
    padding: 2.5rem 3rem;
}

/* Alignment
--------------------------------------------- */
body{
    overflow-x: hidden;
}
:root{
    --theme-content-width-wide: 100%;
}
@media (min-width: 860px){
    :root{
        --theme-content-width-wide: 800px;
    }

    .entry-content > .alignwide{
        margin-left: calc((var(--theme-content-width-default) - var(--theme-content-width-wide)) / 2);
        margin-right: calc((var(--theme-content-width-default) - var(--theme-content-width-wide)) / 2);
        width: calc(100% + (var(--theme-content-width-wide) - var(--theme-content-width-default)));
        max-width: none;
    }
}
@media (min-width: 1075px){
    :root{
        --theme-content-width-wide: 960px;
    }
}
@media (min-width: 1250px){
    :root{
        --theme-content-width-wide: 1020px;
    }

    .alignfull .alignwide,
    .alignwide .alignwide{
        max-width: var(--theme-content-width-wide);
        margin: 0 auto;
    }
}
.entry-content > .alignfull{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
}
.wp-block-cover.alignleft,
.wp-block-image .alignleft{
    margin-right: 3rem;
}
.wp-block-cover.alignright,
.wp-block-image .alignright{
    margin-left: 3rem;
}

/* Group
--------------------------------------------- */
.wp-block-group.has-background{
    padding: 3rem;
}
.wp-block-group .wp-block-group__inner-container > *:last-child{
    margin-bottom: 0;
}

/* Block image
--------------------------------------------- */
.wp-block-image img{
    display: block;
}

/* Block gallery
--------------------------------------------- */
.wp-block-gallery{
    margin-left: 0;
}
.wp-block-gallery ul{
    margin: 0;
}

/* Block quote
--------------------------------------------- */
.wp-block-quote > cite{
    display: block;
    opacity: .7;
    font-size: .9em;
    margin-top: -1rem;
    text-align: left;
}
.wp-block-quote.is-style-large,
.wp-block-quote.is-large{
    margin-left: 3rem;
    margin-right: 3rem;
    padding: 0;
}

/* Block pullquote
--------------------------------------------- */
.wp-block-pullquote blockquote::before{
    height: .5em;
    left: 0;
    text-align: center;
    font-size: 10rem;
    padding-right: 2rem;
}
.wp-block-pullquote blockquote > cite{
    display: block;
    opacity: .7;
    font-size: .9em;
    margin-top: -1rem;
}
.wp-block-pullquote.is-style-solid-color{
    background-color: var(--theme-button-background);
    color: var(--theme-button-color);
}
.wp-block-pullquote.is-style-solid-color blockquote{
    max-width: 80%;
}
.wp-block-pullquote.is-style-solid-color blockquote cite{
    margin-top: 2rem;
}
@media (max-width: 650px){
    .wp-block-pullquote{
        padding: 1em;
    }
}

/* Block preformatted
--------------------------------------------- */
.wp-block-preformatted{
    white-space: pre-wrap;
}

/* Block buttons
--------------------------------------------- */
.wp-block-button .wp-block-button__link{
    border-radius: var(--theme-button-radius);
    padding: 1rem 7rem 1.1rem;
    color: var(--theme-button-color);
    background-color: var(--theme-button-background);
}
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus,
.wp-block-button .wp-block-button__link:active{
    color: var(--theme-button-color-hover);
    background-color: var(--theme-button-background-hover);
}
.wp-block-button.is-style-outline .wp-block-button__link{
    background-color: transparent;
    color: var(--theme-primary-color);
    border-color: currentColor;
}
.wp-block-button.is-style-outline .wp-block-button__link:focus,
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:active{
    color: var(--theme-button-background-hover);
}
@media (max-width: 650px){
    .wp-block-button .wp-block-button__link{
        padding-left: 3rem;
        padding-right: 3rem;
    }
}
.wp-block-buttons.aligncenter{
    justify-content: center;
}
.wp-block-buttons.alignleft{
    justify-content: flex-start;
}
.wp-block-buttons.alignright{
    justify-content: flex-end;
}

/* Block separator
--------------------------------------------- */
.wp-block-separator{
    border: none;
    border-bottom: 2px solid #8f98a1;
    margin-left: auto;
    margin-right: auto;
}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots){
    max-width: 10rem;
}
.wp-block-separator.has-background:not(.is-style-dots){
    border-color: currentColor;
}

/* Table
--------------------------------------------- */
.wp-block-table table{
    margin-bottom: 0 !important;
}

/* Columns
--------------------------------------------- */
@media (max-width: 781px){
    .wp-block-column{
        margin-bottom: 3rem;
    }

    .wp-block-column:last-child{
        margin-bottom: 0;
    }
}

/* Spacer
--------------------------------------------- */
.entry-content > .wp-block-spacer{
    margin-top: 0;
    margin-bottom: 0;
}

/* Latest posts
--------------------------------------------- */
:root{
    --theme-grid-gap: 3em;
}
@media (max-width: 599px){
    :root{
        --theme-grid-gap: 10%;
    }
}
.wp-block-latest-posts > li{
    list-style: none !important;
}
.wp-block-latest-posts a{
    color: var(--theme-secondary-color);
    text-decoration: none;
    font-weight: 500;
    font-size: 2.3rem;
}
.wp-block-latest-posts__featured-image img{
    width: 100%;
}
.wp-block-latest-posts__post-excerpt{
    font-size: 1.7rem;
    margin-bottom: 0;
}
.wp-block-latest-posts.wp-block-latest-posts__list li{
    margin-bottom: 3rem;
}
.wp-block-latest-posts.is-grid li{
    box-shadow: 0 2px 25px 0 rgba(209, 209, 209, 0.50);
    border-radius: 1.2rem;
    padding: 4rem 3rem 2rem;
    margin: 0 0 var(--theme-grid-gap);
}
@media (max-width: 859px){
    .wp-block-latest-posts.is-grid{
        margin-left: 0;
    }
}
@media (max-width: 599px){
    .wp-block-latest-posts.is-grid.alignwide,
    .wp-block-latest-posts.is-grid.alignfull{
        margin-left: unset;
    }
}
@media (min-width: 600px){
    .wp-block-latest-posts.is-grid li{
        margin-right: var(--theme-grid-gap);
    }

    .wp-block-latest-posts.columns-2 li{
        width: calc((100% - 1 * var(--theme-grid-gap)) / 2);
    }

    .wp-block-latest-posts.columns-3 li{
        width: calc((100% - 2 * var(--theme-grid-gap)) / 3);
    }

    .wp-block-latest-posts.columns-4 li{
        width: calc((100% - 3 * var(--theme-grid-gap)) / 4);
    }

    .wp-block-latest-posts.columns-5 li{
        width: calc((100% - 4 * var(--theme-grid-gap)) / 5);
    }

    .wp-block-latest-posts.columns-6 li{
        width: calc((100% - 5 * var(--theme-grid-gap)) / 6);
    }

    .wp-block-latest-posts.columns-2 li:nth-child(2n),
    .wp-block-latest-posts.columns-3 li:nth-child(3n),
    .wp-block-latest-posts.columns-4 li:nth-child(4n),
    .wp-block-latest-posts.columns-5 li:nth-child(5n),
    .wp-block-latest-posts.columns-6 li:nth-child(6n){
        margin-right: 0;
    }
}
@media (min-width: 960px){
    .wp-block-latest-posts.is-grid li{
        padding: 6rem 5rem 4rem;
    }
}

/* Theme Extras
--------------------------------------------- */
.theme-font-weight-100{
    font-weight: 100;
}
.theme-font-weight-200{
    font-weight: 200;
}
.theme-font-weight-300{
    font-weight: 300;
}
.theme-font-weight-400{
    font-weight: 400;
}
.theme-font-weight-500{
    font-weight: 500;
}
.theme-font-weight-600{
    font-weight: 600;
}
.theme-font-weight-700{
    font-weight: 700;
}
.theme-font-weight-800{
    font-weight: 800;
}
.theme-font-weight-900{
    font-weight: 900;
}

.theme-width-100,
.theme-width-100 .wp-block-button__link{
    width: 100%;
}
.theme-width-95,
.theme-width-95 .wp-block-button__link{
    width: 95%;
}
.theme-width-90,
.theme-width-90 .wp-block-button__link{
    width: 90%;
}
.theme-width-85,
.theme-width-85 .wp-block-button__link{
    width: 85%;
}
.theme-width-80,
.theme-width-80 .wp-block-button__link{
    width: 80%;
}
.theme-width-75,
.theme-width-75 .wp-block-button__link{
    width: 75%;
}
.theme-width-70,
.theme-width-70 .wp-block-button__link{
    width: 70%;
}

.theme-margin-0{
    margin: 0;
}
.theme-margin-top-0{
    margin-top: 0;
}
.theme-margin-bottom-0{
    margin-bottom: 0;
}
.theme-margin-left-0{
    margin-left: 0;
}
.theme-margin-right-0{
    margin-right: 0;
}

.theme-big-heading{
    font-size: 3rem !important;
}
@media (max-width: 650px){
    .theme-big-heading{
        font-size: 2.5rem !important;
    }
}

.theme-huge-heading{
    font-size: 4.8rem !important;
}
@media (max-width: 650px){
    .theme-huge-heading{
        font-size: 3.5rem !important;
    }
}

.theme-subtitle{
    font-size: 1.9rem;
}

.theme-page-margin-top-0 #genesis-content{
    margin-top: 0;
}

.theme-columns-margin-0,
.theme-columns-margin-0 .wp-block-column{
    margin: 0 !important;
}
@media (max-width: 781px) and (min-width: 600px){
    .theme-columns-margin-0 .wp-block-column{
        flex-basis: 50% !important;
    }
}

.theme-background-image{
    position: relative;
    overflow: hidden;
}
.theme-background-image > *{
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (max-width: 599px){
    .theme-background-image{
        min-height: 25rem;
        order: -1;
    }
}

.theme-border-bottom{
    border-bottom: 1px solid #D7D7D7;
}

.theme-featured-services > .wp-block-column:not(:first-child){
    margin-left: 2%;
}
.theme-featured-services > .wp-block-column > *:last-child{
    margin-bottom: 0;
}
.theme-featured-services .wp-block-column .wp-block-columns .wp-block-column:not(:first-child){
    margin-left: 0;
    padding-left: 5%;
}

@media (max-width: 781px) and (min-width: 651px){

    .theme-featured-services{
        flex-wrap: wrap;
    }

    .theme-featured-services > .wp-block-column{
        flex-basis: calc(33.33% - 1.4%) !important;
    }
}
@media (max-width: 650px){

    .theme-featured-services{
        display: block;
        margin: 0 auto;
    }

    .theme-featured-services > .wp-block-column:not(:first-child){
        margin-left: 0;
    }

    .theme-featured-services > .wp-block-column{
        margin-bottom: 5%;
    }

    .theme-featured-services > .wp-block-column > .wp-block-columns > .wp-block-column:first-child{
        flex-basis: 30% !important;
    }

    .theme-featured-services > .wp-block-column > .wp-block-columns > .wp-block-column:last-child{
        flex-basis: 70% !important;
    }

    .theme-featured-services > .wp-block-column > *:last-child{
        margin-bottom: 0;
    }

    .theme-featured-services > .wp-block-column .alignnone,
    .theme-featured-services > .wp-block-column .alignleft,
    .theme-featured-services > .wp-block-column .alignright,
    .theme-featured-services > .wp-block-column .aligncenter{
        margin-bottom: 0 !important;
    }

    .theme-featured-services > .wp-block-column .wp-block-image img{
        margin: 0 auto;
    }
}

.theme-boxes > .wp-block-column{
    border: 1px solid #bebebe;
    border-radius: 10px;
    padding: 3%;
    background-color: #fff;
}
.theme-boxes > .wp-block-column > *:last-child{
    margin-bottom: 0 !important;
}
.theme-boxes > .wp-block-column.theme-box-featured{
    border: 10px solid #e1e1e1;
}
@media (max-width: 990px){
    .theme-boxes{
        flex-wrap: wrap;
        justify-content: center;
    }

    .theme-boxes > .wp-block-column{
        flex-basis: 46% !important;
        flex-grow: 0;
        margin: 0 2% 3rem;
    }
}
@media (max-width: 820px){
    .theme-boxes > .wp-block-column{
        flex-basis: 100% !important;
        flex-grow: 0;
        padding: 10%;
        margin: 0 0 3rem;
    }
}

.theme-logos{
    flex-wrap: wrap;
    justify-content: center;
}
.theme-logos .wp-block-column{
    padding: 0 3rem;
    margin: 0 0 4rem;
    flex: unset !important;
    word-break: unset;
    overflow-wrap: unset;
    width: auto;
}
.theme-logos .wp-block-column .wp-block-image{
    margin-bottom: 0;
}
.theme-logos .wp-block-column figure{
    display: block;
    margin-bottom: 0;
}
.theme-logos .wp-block-column img{
    width: auto;
    max-height: 5rem;
    max-width: 12rem;
    margin: 0 auto;
}
@media (max-width: 781px) and (min-width: 600px){

}
@media (max-width: 650px){
    .theme-logos .wp-block-column{
        padding: 0 2rem;
        margin-bottom: 2rem;
    }
}

.theme-banner.theme-banner-right.gb-block-container .gb-container-content{
    max-width: 30%;
    margin-left: 50%;
}
.theme-banner.theme-banner-left.gb-block-container .gb-container-content{
    max-width: 25%;
    margin-left: 20%;
}

@media (max-width: 990px){
    .theme-banner.theme-banner-left.gb-block-container .gb-container-content{
        max-width: 30%;
        margin-left: 15%;
    }
}
@media (max-width: 650px){
    .theme-banner.theme-banner-right.gb-block-container .gb-container-content{
        max-width: 45%;
        margin-left: 45%;
    }

    .theme-banner.theme-banner-left.gb-block-container .gb-container-content{
        max-width: 50%;
        margin-left: 10%;
    }
}