/* --------------------- COLOUR --------------------- */
html .has-white-color {
    color: #FFFFFF !important;
}
html .has-color a,
html .has-color .highlight {
    color: inherit;
    text-decoration: underline;
}
html .has-color hr,
html .has-color .is-style-accordion {
    border-color: #FFFFFF;
}



/* --------------------- HEADING --------------------- */


/* accordion */
.is-style-accordion {
    border-top: 1px solid currentColor;
    margin: 0;
}
.is-style-accordion a {
    display: block;
    padding: 1em 2em 1em 0;
    position: relative;
}
.is-style-accordion a::after,
.block-editor .is-style-accordion::after {
    content: '+';
    display: block;
    font-size: 1em;
    position: absolute; right: 0; top: 50%;
    transform: translateY(-50%);
}
.is-style-accordion.open a::after {
    content: '-';
}
.accordion-content {
    padding: .5em 0 1.5em;
}
.accordion-content.hidden {
    display: none;
}



/* --------------------- HORIZONTAL RULE --------------------- */
hr,
.wp-block-separator {
    border: 0;
    border-bottom: 1px solid currentColor;
    margin: 3em 0;
    max-width: none !important;
}


/* --------------------- BUTTON --------------------- */
.wp-block-button {
    display: inline-block;
    margin: 0 0 1em;
}
.wp-block-button + .wp-block-button {
    margin-left: 1em;
}
/* default, similar elements */
html .wp-block-button .wp-block-button__link,
html input[type="submit"],
html input[type="button"],
html button[type="submit"],
html form button,
.wp-block-image[class*='is-style-overlay'] figcaption a {
    background: #FF0000;
    border: 0;
    border-radius: 0;
    color: #FFFFFF;
    cursor: pointer;
    display: inline-block;
    font-size: 1em;
    line-height: 1.5em;
    padding: calc(.5em + 2px) 1em;
    position: relative;
    text-decoration: none !important;
    transition: all .3s ease;
    width: auto;
}
html .wp-block-button .wp-block-button__link:hover,
html .wp-block-button .wp-block-button__link:focus,
html input[type="submit"]:hover,
html input[type="submit"]:focus,
html input[type="button"]:hover,
html input[type="button"]:focus,
html button[type="submit"]:hover,
html button[type="submit"]:focus,
html form button:hover,
html form button:focus,
.wp-block-image[class*='is-style-overlay'] figcaption a:hover,
.wp-block-image[class*='is-style-overlay'] figcaption a:focus {
    transform: scale(1.1);
}


/* --------------------- IMAGE --------------------- */
.wp-block-image {
    margin: 0 0 1em;
    position: relative;
}
.wp-block-image a,
.wp-block-image img {
    display: block;
    position: relative;
    width: 100%; height: auto;
    z-index: 1;
}



/* --------------------- GALLERY --------------------- */

.wp-block-gallery .blocks-gallery-item figcaption {
    pointer-events: none;
}

/* 'flow' style */
html .wp-block-gallery.is-style-flow {
    display: block;
}
html .wp-block-gallery.is-style-flow.columns-2 {
    column-count: 2;
}
html .wp-block-gallery.is-style-flow.columns-3 {
    column-count: 3;
}
html .wp-block-gallery.is-style-flow.columns-4 {
    column-count: 4;
}
html .wp-block-gallery.is-style-flow.columns-5 {
    column-count: 5;
}
html .wp-block-gallery.is-style-flow.columns-6 {
    column-count: 6;
}
html .wp-block-gallery.is-style-flow.columns-2 .blocks-gallery-item,
html .wp-block-gallery.is-style-flow.columns-3 .blocks-gallery-item,
html .wp-block-gallery.is-style-flow.columns-4 .blocks-gallery-item,
html .wp-block-gallery.is-style-flow.columns-5 .blocks-gallery-item,
html .wp-block-gallery.is-style-flow.columns-6 .blocks-gallery-item {
    display: inline-block;
    margin: 0 0 1em;
    width: auto;
}

/* no gutters */
html .wp-block-gallery.is-style-nogutters {

}
html .wp-block-gallery.is-style-nogutters .blocks-gallery-item {
    margin: 0;
}

/* --------------------- SOURCE COLUMNS --------------------- */
html .is-style-no-gutters {
    margin-right: 0;
    margin-left: 0;
}
html .is-style-no-gutters > .col,
html .is-style-no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

/* row styles */
.row.is-style-gutters-large,
.row.is-style-gutters-lines {
    margin-right: -4rem; margin-left: -4rem;
}
.row.is-style-gutters-large > div,
.row.is-style-gutters-lines > div,
.is-style-gutters-large > div > div > .wp-block,
.is-style-gutters-lines > div > div > .wp-block {
    padding-left: 4rem;
}
.row.is-style-gutters-large > div,
.row.is-style-gutters-lines > div,
.is-style-gutters-large > div > div > .wp-block,
.is-style-gutters-lines > div > div > .wp-block  {
    padding-right: 4rem;
}

.row.is-style-gutters-lines > div,
.is-style-gutters-lines > div > div > .wp-block {
    position: relative;
}
.row.is-style-gutters-lines > div:not(:last-child)::after,
.is-style-gutters-lines > div > div > .wp-block:not(:last-child)::after {
    border-left: 1px solid #CCCCCC;
    content: '';
    display: block;
    position: absolute; top: 0; right: 0; bottom: 0;
    width: 0; height: 100%;
}



/* --------------------- TABLE --------------------- */
.wp-block-table {
    border: 1px solid #f2f2f2;
    border-collapse: collapse;
    margin: 0 0 1em;
}
.wp-block-table tr {

}
.wp-block-table th,
.wp-block-table td {
    padding: .2em .4em;
    text-align: left;
}
.wp-block-table th {
    background: rgba(255,255,255,.5);
    color: #FFFFFF;
    border: 1px solid #FFFFFF;
    font-weight: inherit;
}
.wp-block-table td {
    border: 1px solid #cccccc;
}

/* invisible */
.wp-block-table.is-style-invisible {
    border: 0;
}
.wp-block-table.is-style-invisible th,
.wp-block-table.is-style-invisible td {
    background: none;
    border: none;
    padding: 0;
}



/* --------------------- CONTAINER --------------------- */
.wp-block-source-container {
    padding: 0 0;
    position: relative;
}

/* near-full page content */
.is-style-fullpage {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 2rem; padding-bottom: 2rem;
    min-height: 100vh;
}
.is-style-fullpage > div {
    width: 100%;
}



/* --------------------- ALIGNMENT --------------------- */
.alignleft {
    float: left;
    margin: 0 2em 0 0;
}
.aligncenter {
    display: block !important;
    margin-right: auto !important; margin-left: auto !important;
    text-align: center;
}
.alignright {
    float: right;
    margin: 0 0 0 2em;
}




/* --------------------- OTHER STYLES --------------------- */
.block-editor .wp-block-shortcode {
    display: block;
}

/* embeds (video, other) */
.wp-block-embed__wrapper > iframe {
    display: block;
    margin-right: auto; margin-left: auto;
    max-width: 100%;
}
    .alignfull iframe {
        width: 100%;
    }
    .alignfull.wp-embed-aspect-4-3 iframe {
        height: 75vw;
    }
    .alignfull.wp-embed-aspect-16-9 iframe {
        height: 56.3vw;
    }



/* centered lists */
ul.text-center,
ol.text-center,
.text-center ul,
.text-center ol {
    list-style-type: none;
    list-style-position: inside;
    padding-left: 0;
}


/* narrow */
.is-style-narrow > div {
    margin-right: auto; margin-left: auto;
    max-width: 700px;
}



/* --------------------- EDITOR STYLES --------------------- */
.block-editor .wp-block:not([data-align=full]) {
    max-width: 1140px;
}

.block-editor .block-editor-default-block-appender {
    background-color: rgba(100,100,100,.03);
}
.block-editor .wp-block-source-container,
.block-editor .wp-block-source-carousel {
    padding-right: 3em; padding-left: 3em;
}
.block-editor .wp-block-source-carousel-slide {
    padding-right: 1em; padding-left: 1em;
}

.block-editor .wp-block > .editor-block-list__block-edit {
    background-color: rgba(0,0,0,.03);
}
.block-editor .wp-block.is-hovered > .editor-block-list__block-edit {
    background-color: rgba(0,0,0,.04);
}
.block-editor .wp-block.is-selected > .editor-block-list__block-edit {
    background-color: none;
}
.block-editor .wp-block-shortcode {
    color: initial;
}
