/* 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: 3rem;
}
@media (max-width: 599px){
    :root{
        --theme-grid-gap: 10%;
    }
}
@media (min-width: 960px){
    :root{
        --theme-grid-gap: 5rem;
    }
}
.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: 4rem !important;
}
@media (max-width: 650px){
    .theme-big-heading{
        font-size: 3rem !important;
    }
}

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

.theme-subtitle{
    font-size: 2rem;
    margin: 0 auto 3rem;
    max-width: 65rem;
}

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

/* Theme Extras
--------------------------------------------- */
.theme-porfolio-grid.gb-block-post-grid{
    margin-top: 0;
    margin-bottom: 0;
    padding: 0 !important;
}
.theme-porfolio-grid.gb-block-post-grid .gb-post-grid-items{
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0;
}
.theme-porfolio-grid.gb-block-post-grid .gb-post-grid-item{
    position: relative;
    flex-basis: 33.33%;
    margin-bottom: 0;
}
.theme-porfolio-grid.gb-block-post-grid .gb-block-post-grid-image{
    padding-bottom: 64%;
    height: 0;
    margin-bottom: 0;
}
.theme-porfolio-grid.gb-block-post-grid .gb-block-post-grid-image > a{
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
}
.theme-porfolio-grid.gb-block-post-grid .gb-block-post-grid-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.theme-porfolio-grid.gb-block-post-grid .gb-block-post-grid-text{
    pointer-events: none;
    background-color: #f1f1f1;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 3rem;
    display: flex;
    opacity: 0;
    transition: opacity .7s cubic-bezier(.22, .61, .36, 1);
}
.theme-porfolio-grid.gb-block-post-grid .gb-post-grid-item:hover .gb-block-post-grid-image + .gb-block-post-grid-text{
    opacity: 1;
}
.theme-porfolio-grid.gb-block-post-grid .gb-block-post-grid-text .gb-block-post-grid-title{
    margin: 0 0 2rem;
}
.theme-porfolio-grid.gb-block-post-grid .gb-block-post-grid-text .gb-block-post-grid-title a{
    font-size: 4rem;
    font-weight: 700;
}
.theme-porfolio-grid.gb-block-post-grid .gb-block-post-grid-text .gb-block-post-grid-title a:hover{
    text-decoration: none;
}
.theme-porfolio-grid.gb-block-post-grid .gb-block-post-grid-text .gb-block-post-grid-excerpt{
    margin: 0 auto;
    max-width: 40rem;
    text-align: center;
}
@media (max-width: 2000px){
    .theme-porfolio-grid.gb-block-post-grid .gb-post-grid-item{
        flex-basis: 50%;
    }
}
@media (max-width: 990px){
    .theme-porfolio-grid.gb-block-post-grid .gb-block-post-grid-text .gb-block-post-grid-title a{
        font-size: 3.3rem;
    }
}
@media (max-width: 650px){
    .theme-porfolio-grid.gb-block-post-grid .gb-post-grid-items{
        display: block;
    }
}