@charset "utf-8";

/*
 * File    : blocks.css
 * Author  : STUDIO-JT (KMS)
 *
 * SUMMARY:
 * VARIABLE
 * LAYOUT
 * OPTIONS
 * PARAGRAPH
 * HEADING
 * LIST
 * BUTTONS
 * QUOTE
 * TABLE
 * IMAGE
 * GALLERY
 * EMBED
 * VIDEO
 * SEPARATOR
 * SPACER
 * LIGHTBOX
 * OVERWRITE
 * HOVER
 */



/* **************************************** *
 * VARIABLE
 * **************************************** */
:root {
    /* SPACING */
    --wp--preset--spacing--jt-xsmall: 15rem;
    --wp--preset--spacing--jt-small: 20rem;
    --wp--preset--spacing--jt-medium: 40rem;
    --wp--preset--spacing--jt-large: 60rem;
    --wp--preset--spacing--jt-xlarge: 80rem;

    /* TYPOGRAPHY */
    --wp--preset--font-size--jt-01: 48rem;
    --wp--preset--font-size--jt-02: 40rem;
    --wp--preset--font-size--jt-03: 32rem;
    --wp--preset--font-size--jt-04: 24rem;
    --wp--preset--font-size--jt-05: 20rem;
    --wp--preset--font-size--jt-06: 16rem;
    --wp--preset--font-size--jt-07: 14rem;
}



/* **************************************** *
 * LAYOUT
 * **************************************** */
/* RESET */
.jt-blocks .is-layout-flow > *,
.jt-blocks .is-layout-constrained > * { margin-block-start: 0; }

.jt-blocks .is-layout-flow > .alignleft,
.jt-blocks .is-layout-constrained > .alignleft { margin-inline-end: 0; }

.jt-blocks .is-layout-flow > .alignright,
.jt-blocks .is-layout-constrained > .alignright { margin-inline-start: 0; }



/* **************************************** *
 * OPTIONS
 * **************************************** */
/* CUSTOM FONT-SIZE SUPPORT */
.jt-blocks .has-jt-01-font-size { line-height: var(--wp--custom--typography--line-height--jt-01) !important; }
.jt-blocks .has-jt-02-font-size { line-height: var(--wp--custom--typography--line-height--jt-02) !important; }
.jt-blocks .has-jt-03-font-size { line-height: var(--wp--custom--typography--line-height--jt-03) !important; }
.jt-blocks .has-jt-04-font-size { line-height: var(--wp--custom--typography--line-height--jt-04) !important; }
.jt-blocks .has-jt-05-font-size { line-height: var(--wp--custom--typography--line-height--jt-05) !important; }
.jt-blocks .has-jt-06-font-size { line-height: var(--wp--custom--typography--line-height--jt-06) !important; }
.jt-blocks .has-jt-07-font-size { line-height: var(--wp--custom--typography--line-height--jt-07) !important; }

/* MORE OPTIONS */
.jt-blocks strong { font-weight: bold; }
.jt-blocks sub { vertical-align: sub; }
.jt-blocks sup { vertical-align: super; }
.jt-blocks em { font-style: italic; }
.jt-blocks code { font-family: inherit; background: #FFE2D4; }
.jt-blocks mark { color: inherit; background: inherit; }

/* LINK */
.jt-blocks a:not(.wp-element-button) { word-break: break-all; text-decoration: none; color: currentColor; box-shadow: 0 1px 0 0 currentColor; transition: box-shadow .3s; -webkit-box-decoration-break: clone; }
.jt-blocks a:not(.wp-element-button)[target="_blank"]:after { content: ''; display: inline-block; vertical-align: middle; width: 0.9em; height: 0.9em; margin-left: 4rem; background: url(../images/blocks/blank.svg) no-repeat center / contain; }



/* **************************************** *
 * PARAGRAPH
 * **************************************** */
.jt-blocks p { margin-bottom: var(--wp--preset--spacing--jt-large); font-size: var(--wp--preset--font-size--jt-05); line-height: var(--wp--custom--typography--line-height--jt-05); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; }



/* **************************************** *
 * HEADING
 * **************************************** */
.jt-blocks .wp-block-heading { margin-top: var(--wp--preset--spacing--jt-xlarge); margin-bottom: var(--wp--preset--spacing--jt-large); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 700; }
.jt-blocks h1.wp-block-heading { font-size: var(--wp--preset--font-size--jt-01); line-height: var(--wp--custom--typography--line-height--jt-01); }
.jt-blocks h2.wp-block-heading { font-size: var(--wp--preset--font-size--jt-02); line-height: var(--wp--custom--typography--line-height--jt-02); }
.jt-blocks h3.wp-block-heading { font-size: var(--wp--preset--font-size--jt-03); line-height: var(--wp--custom--typography--line-height--jt-03); }
.jt-blocks h4.wp-block-heading { font-size: var(--wp--preset--font-size--jt-04); line-height: var(--wp--custom--typography--line-height--jt-04); }
.jt-blocks h5.wp-block-heading { font-size: var(--wp--preset--font-size--jt-05); line-height: var(--wp--custom--typography--line-height--jt-05); }
.jt-blocks h6.wp-block-heading { font-size: var(--wp--preset--font-size--jt-06); line-height: var(--wp--custom--typography--line-height--jt-06); }

/* Override */
.jt-blocks .wp-block-heading + * { margin-top: 0 !important; }



/* **************************************** *
 * LIST
 * **************************************** */
.jt-blocks .wp-block-list { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-large); font-size: var(--wp--preset--font-size--jt-05); line-height: var(--wp--custom--typography--line-height--jt-05); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; }
.jt-blocks .wp-block-list li { position: relative; }
.jt-blocks .wp-block-list li ~ li { margin-top: 0.2em; }
.jt-blocks .wp-block-list .wp-block-list { margin: 0.2em 0 0 1em; font-size: inherit; line-height: inherit; }

/* UL */
.jt-blocks ul.wp-block-list > li { padding-left: 0.8em; }
.jt-blocks ul.wp-block-list > li:before { content: ''; display: block; width: 5rem; height: 5rem; position: absolute; top: 13rem; left: 0; background: var(--wp--preset--color--black); border: 1px solid var(--wp--preset--color--black); border-radius: 50%; box-sizing: border-box; }
.jt-blocks ul.wp-block-list > li > ul.wp-block-list > li:before,
.jt-blocks ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li:before { background: transparent; border-radius: 50%; }
.jt-blocks ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li:before { background: var(--wp--preset--color--black); border-radius: 0; }
.jt-blocks ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li:before { border-radius: 50%; }

.jt-blocks ul.wp-block-list:is(.has-jt-01-font-size, .has-jt-02-font-size) > li { padding-left: 0.55em; }
.jt-blocks ul.wp-block-list:is(.has-jt-03-font-size, .has-jt-04-font-size) > li { padding-left: 0.65em; }

.jt-blocks ul.wp-block-list.has-jt-01-font-size > li:before { width: 8rem; height: 8rem; top: 24rem; }
.jt-blocks ul.wp-block-list.has-jt-02-font-size > li:before { width: 7rem; height: 7rem; top: 21rem; }
.jt-blocks ul.wp-block-list.has-jt-03-font-size > li:before { width: 6rem; height: 6rem; top: 17rem; }
.jt-blocks ul.wp-block-list.has-jt-04-font-size > li:before { top: 15rem; }
.jt-blocks ul.wp-block-list.has-jt-06-font-size > li:before { width: 4rem; height: 4rem; top: 8rem; }
.jt-blocks ul.wp-block-list.has-jt-07-font-size > li:before { width: 3rem; height: 3rem; top: 7rem; }

/* OL */
.jt-blocks ol.wp-block-list { list-style-position: inside; list-style-type: number; }



/* **************************************** *
 * BUTTONS
 * **************************************** */
.jt-blocks .wp-block-buttons { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-large); gap: 10rem; }

.jt-blocks .wp-block-button { font-size: var(--wp--preset--font-size--jt-06); line-height: var(--wp--custom--typography--line-height--jt-06); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 700; }
.jt-blocks .wp-block-button__link { padding: 12rem 28rem; position: relative; color: var(--wp--preset--color--white); background: var(--wp--preset--color--black); border: 2rem solid var(--wp--preset--color--black); border-radius: 0; transition: color .3s, background-color .3s, border-color .3s; }

/* OUTLINE */
.jt-blocks .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--black); background: var(--wp--preset--color--white); }



/* **************************************** *
 * QUOTE
 * **************************************** */
.jt-blocks .wp-block-quote { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-large); padding: 0; position: relative; }
.jt-blocks .wp-block-quote cite { display: block; margin-top: var(--wp--preset--spacing--jt-xsmall); font-size: var(--wp--preset--font-size--jt-06); line-height: var(--wp--custom--typography--line-height--jt-06); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; opacity: 0.8; }

.jt-blocks .wp-block-quote > *:first-child { margin-top: 0; }
.jt-blocks .wp-block-quote:has(cite) > *:nth-last-child(2) { margin-bottom: 0; }
.jt-blocks .wp-block-quote:not(:has(cite)) > *:nth-last-child(1) { margin-bottom: 0; }

/* DEFAULT */
.jt-blocks .wp-block-quote:not(.is-style-plain):not(.has-text-align-center, .has-text-align-right) { padding-left: var(--wp--preset--spacing--jt-medium); border-left: 4rem solid var(--wp--preset--color--black); }
.jt-blocks .wp-block-quote:not(.is-style-plain).has-text-align-right { padding-right: var(--wp--preset--spacing--jt-medium); border-right: 4rem solid var(--wp--preset--color--black); }

/* PLAIN */
.jt-blocks .wp-block-quote.is-style-plain { padding-top: 38rem; }
.jt-blocks .wp-block-quote.is-style-plain:before { content: ''; display: block; width: 22rem; aspect-ratio: 18 / 13; position: absolute; top: 0; left: 0; background: url(../images/blocks/quote.svg) no-repeat center center / contain; }

.jt-blocks .wp-block-quote.is-style-plain.has-text-align-center:before { left: 50%; transform: translate(-50%, 0); }
.jt-blocks .wp-block-quote.is-style-plain.has-text-align-right:before { left: auto; right: 0; }



/* **************************************** *
 * TABLE
 * **************************************** */
.jt-blocks .wp-block-table { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-large); font-size: var(--wp--preset--font-size--jt-06); line-height: var(--wp--custom--typography--line-height--jt-06); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; }
.jt-blocks .wp-block-table table { border-collapse: separate; }
.jt-blocks .wp-block-table tr { width: 100%; }
.jt-blocks .wp-block-table :is(th, td) { padding: var(--wp--preset--spacing--jt-small) var(--wp--preset--spacing--jt-xsmall); vertical-align: middle; font-size: inherit; line-height: inherit; letter-spacing: inherit; font-weight: inherit; border: none; }
.jt-blocks .wp-block-table :is(th, td):first-child { padding-left: var(--wp--preset--spacing--jt-small); }
.jt-blocks .wp-block-table :is(th, td):last-child { padding-right: var(--wp--preset--spacing--jt-small); }

.jt-blocks .wp-block-table thead th { padding-top: var(--wp--preset--spacing--jt-xsmall); padding-bottom: var(--wp--preset--spacing--jt-xsmall); border-top: 3rem solid var(--wp--preset--color--black); border-bottom: 2rem solid var(--wp--preset--color--black); }

.jt-blocks .wp-block-table tbody td { border: solid var(--wp--preset--color--gray-400); border-width: 0 0 1px 0; }
.jt-blocks .wp-block-table tbody tr:first-child td { border-top-width: 1px; border-top-color: var(--wp--preset--color--black); }
.jt-blocks .wp-block-table tbody tr:last-child td { border-bottom-color: var(--wp--preset--color--black); }

.jt-blocks .wp-block-table tfoot td { padding-top: var(--wp--preset--spacing--jt-xsmall); padding-bottom: 0; border-top: 2rem solid var(--wp--preset--color--black); }

.jt-blocks .wp-block-table figcaption { display: block; margin-top: var(--wp--preset--spacing--jt-xsmall); padding: 0 var(--wp--preset--spacing--jt-small); font-size: var(--wp--preset--font-size--jt-07); line-height: var(--wp--custom--typography--line-height--jt-07); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; color: var(--wp--preset--color--gray-400); }
.jt-blocks .wp-block-table img { max-width: 100%; }

/* STRIPES */
.jt-blocks .wp-block-table.is-style-stripes { border: none; }
.jt-blocks .wp-block-table.is-style-stripes thead th { border-bottom-width: 3rem; }
.jt-blocks .wp-block-table.is-style-stripes tbody td { border: none; }
.jt-blocks .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background-color: var(--wp--preset--color--gray-100); }
.jt-blocks .wp-block-table.is-style-stripes tfoot td { border-top-width: 3rem; }



/* **************************************** *
 * IMAGE
 * **************************************** */
.jt-blocks .wp-block-image { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-large); font-size: 0; }
.jt-blocks .wp-block-image > a { display: block; box-shadow: none !important; }
.jt-blocks .wp-block-image figcaption { display: block; margin: var(--wp--preset--spacing--jt-xsmall) 0 0; font-size: var(--wp--preset--font-size--jt-07); line-height: var(--wp--custom--typography--line-height--jt-07); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; color: var(--wp--preset--color--gray-400); }

/* ALIGN */
.jt-blocks .wp-block-image.alignleft { margin-left: 0; margin-right: auto; }
.jt-blocks .wp-block-image.aligncenter { margin-left: auto; margin-right: auto; }
.jt-blocks .wp-block-image.alignright { margin-left: auto; margin-right: 0; }
.jt-blocks .wp-block-image.alignright figcaption { text-align: right; }

/* LIGHTBOX */
.jt-blocks .wp-block-image.wp-lightbox-container button { width: 40rem; height: 40rem; right: 16rem !important; top: 16rem !important; background: var(--wp--preset--color--white) !important; border-radius: 0; }
.jt-blocks .wp-block-image.wp-lightbox-container button svg { display: block; width: 16rem; height: auto; }
.jt-blocks .wp-block-image.wp-lightbox-container button svg path { fill: var(--wp--preset--color--black); }



/* **************************************** *
 * GALLERY
 * **************************************** */
.jt-blocks .wp-block-gallery { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-large); }

/* GALLERY */
.jt-blocks .wp-block-gallery.has-nested-images > figcaption { display: block; margin: calc(-1 * var(--wp--style--unstable-gallery-gap) + var(--wp--preset--spacing--jt-xsmall)) 0 0; font-size: var(--wp--preset--font-size--jt-07); line-height: var(--wp--custom--typography--line-height--jt-07); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; text-align: left; color: var(--wp--preset--color--gray-400); }

/* GALLERY ITEM */
.jt-blocks .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { margin: 0; padding: var(--wp--preset--spacing--jt-small) var(--wp--preset--spacing--jt-xsmall); position: absolute; font-size: var(--wp--preset--font-size--jt-07); text-align: left; color: var(--wp--preset--color--white); background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%); }

/* ALIGN */
.jt-blocks .wp-block-gallery.has-nested-images:is(.alignleft, .alignright) { float: none; max-width: inherit; }



/* **************************************** *
 * EMBED
 * **************************************** */
.jt-blocks .wp-block-embed { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-large); }
.jt-blocks .wp-block-embed figcaption { display: block; margin: var(--wp--preset--spacing--jt-xsmall) 0 0; font-size: var(--wp--preset--font-size--jt-07); line-height: var(--wp--custom--typography--line-height--jt-07); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; color: var(--wp--preset--color--gray-400); }

/* ALIGN */
.jt-blocks .wp-block-embed:is(.alignleft, .alignright) { float: none; max-width: inherit; }



/* **************************************** *
 * VIDEO
 * **************************************** */
.jt-blocks .wp-block-video { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-large); }
.jt-blocks .wp-block-video figcaption { display: block; margin: var(--wp--preset--spacing--jt-xsmall) 0 0; font-size: var(--wp--preset--font-size--jt-07); line-height: var(--wp--custom--typography--line-height--jt-07); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; color: var(--wp--preset--color--gray-400); }

/* ALIGN */
.jt-blocks .wp-block-video:is(.alignleft, .alignright) { float: none; max-width: inherit; }



/* **************************************** *
 * SEPARATOR
 * **************************************** */
.jt-blocks .wp-block-separator { height: 2rem; margin-top: var(--wp--preset--spacing--jt-xlarge); margin-bottom: var(--wp--preset--spacing--jt-xlarge); padding: 0; position: relative; color: var(--wp--preset--color--gray-300); background: none; border: none; }
.jt-blocks .wp-block-separator:after { content: ''; width: 160rem; height: 100%; background: currentColor; position: absolute; top: 0; left: 0; }

/* WIDE */
.jt-blocks .wp-block-separator.is-style-wide:after { width: 100%; }

/* DOTS */
.jt-blocks .wp-block-separator.is-style-dots { height: 27rem; text-align: start; color: var(--wp--preset--color--black); }
.jt-blocks .wp-block-separator.is-style-dots:after { display: none; }
.jt-blocks .wp-block-separator.is-style-dots:before { padding-left: 0; font-size: 27rem; letter-spacing: 0.5em; }

/* ALIGN */
.jt-blocks .wp-block-separator.aligncenter:not(.is-style-wide):after { left: calc(50% - 80rem); }

.jt-blocks .wp-block-separator.aligncenter.is-style-dots { text-align: center; }



/* **************************************** *
 * SPACER
 * **************************************** */
.jt-blocks .wp-block-spacer { margin: 0 auto; padding: 0; }



/* **************************************** *
 * LIGHTBOX
 * **************************************** */
/* IMAGE */
.wp-lightbox-overlay .wp-block-image img { border-radius: 0; }

.wp-lightbox-overlay .scrim { background: var(--wp--preset--color--gray-300) !important; }

.wp-lightbox-overlay .close-button { width: 40rem; height: 40rem; min-width: auto; min-height: auto; right: 40rem; top: 40rem; background: var(--wp--preset--color--white) !important; transition: background-color .3s; }
.wp-lightbox-overlay .close-button svg { display: block; width: 20rem; height: auto; }
.wp-lightbox-overlay .close-button svg path { fill: var(--wp--preset--color--black); transition: fill .3s; }



/* **************************************** *
 * OVERWRITE
 * **************************************** */
.jt-blocks > *:first-child { margin-top: 0; }
.jt-blocks > *:last-child { margin-bottom: 0; }



/* **************************************** *
 * HOVER
 * **************************************** */
@media (hover: hover) and (pointer: fine) {

    /* LINK */
    .jt-blocks a:not(.wp-element-button):hover { box-shadow: 0 2rem 0 0 currentColor; }

    /* BUTTONS */
    .jt-blocks .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--wp--preset--color--jt-primary); border-color: var(--wp--preset--color--jt-primary); }
    .jt-blocks .wp-block-button.is-style-outline .wp-block-button__link:hover { color: var(--wp--preset--color--white); background: var(--wp--preset--color--jt-primary); border-color: var(--wp--preset--color--jt-primary); }

    /* LIGHTBOX */
    .wp-lightbox-overlay .close-button:hover { background: var(--wp--preset--color--gray-900) !important; }
    .wp-lightbox-overlay .close-button:hover svg path { fill: var(--wp--preset--color--white); }

}