@charset "utf-8";

/*
 * File    : blocks.css
 * Author  : STUDIO-JT (KMS)
 *
 * SUMMARY:
 * VARIABLE
 * LAYOUT
 * OPTIONS
 * PARAGRAPH
 * HEADING
 * LIST
 * BUTTONS
 * QUOTE
 * TABLE
 * IMAGE
 * GALLERY
 * EMBED
 * SEPARATOR
 * SPACER
 * LIGHTBOX
 * OVERWRITE
 * HOVER
 */



/* **************************************** *
 * VARIABLE
 * **************************************** */
:root {
    /* CONTAINER */
    --wp--style--global--content-size: 880rem;

    /* SPACING */
    --wp--preset--spacing--jt-xxxsmall: 12rem;
    --wp--preset--spacing--jt-xxsmall: 16rem;
    --wp--preset--spacing--jt-xsmall: 20rem;
    --wp--preset--spacing--jt-small: 24rem;
    --wp--preset--spacing--jt-medium: 32rem;
    --wp--preset--spacing--jt-large: 40rem;
    --wp--preset--spacing--jt-xlarge: 48rem;
    --wp--preset--spacing--jt-xxlarge: 60rem;
    --wp--preset--spacing--jt-xxxlarge: 80rem;

    /* TYPOGRAPHY */
    --wp--preset--font-size--jt-01: 58rem;
    --wp--preset--font-size--jt-02: 44rem;
    --wp--preset--font-size--jt-03: 32rem;
    --wp--preset--font-size--jt-04: 28rem;
    --wp--preset--font-size--jt-05: 22rem;
    --wp--preset--font-size--jt-06: 18rem;
    --wp--preset--font-size--jt-07: 16rem;
    --wp--preset--font-size--jt-08: 14rem;
    
    --wp--custom--typography--line-height--jt-01: 72rem;
    --wp--custom--typography--line-height--jt-02: 60rem;
    --wp--custom--typography--line-height--jt-03: 50rem;
    --wp--custom--typography--line-height--jt-04: 42rem;
    --wp--custom--typography--line-height--jt-05: 36rem;
    --wp--custom--typography--line-height--jt-06: 32rem;
    --wp--custom--typography--line-height--jt-07: 28rem;
    --wp--custom--typography--line-height--jt-08: 24rem;

    /* STYLES */
    --wp--custom--border--radius--jt-01: 16rem;
}



/* **************************************** *
 * LAYOUT
 * **************************************** */
/* ALIGNMENT */
.jt-blocks > * { max-width: var(--wp--style--global--content-size); margin: 0 auto; }

/* 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; }
.jt-blocks .has-jt-08-font-size { line-height: var(--wp--custom--typography--line-height--jt-08) !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: #FFFCB8; }
.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; }



/* **************************************** *
 * PARAGRAPH
 * **************************************** */
.jt-blocks p { margin-bottom: var(--wp--preset--spacing--jt-xsmall); 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-800); }



/* **************************************** *
 * HEADING
 * **************************************** */
.jt-blocks .wp-block-heading { margin-top: var(--wp--preset--spacing--jt-xxlarge); margin-bottom: var(--wp--preset--spacing--jt-small); 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); }



/* **************************************** *
 * LIST
 * **************************************** */
.jt-blocks .wp-block-list { margin-top: var(--wp--preset--spacing--jt-small); margin-bottom: 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; }
.jt-blocks .wp-block-list li { position: relative; color: var(--wp--preset--color--gray-800); }
.jt-blocks .wp-block-list li ~ li { margin-top: 1em; }
.jt-blocks .wp-block-list .wp-block-list { margin: 1em 0 0 1.2em; font-size: inherit; line-height: inherit; }

/* UL */
.jt-blocks ul.wp-block-list > li { padding-left: 1em; }
.jt-blocks ul.wp-block-list > li:before { content: ''; display: block; width: 6rem; height: 6rem; position: absolute; top: calc(var(--wp--custom--typography--line-height--jt-07) / 2); margin-top: -3rem; left: 0; background: currentColor; border: 1px solid currentColor; 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: currentColor; 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, .has-jt-03-font-size) > li { padding-left: 0.57em; }
.jt-blocks ul.wp-block-list:is(.has-jt-04-font-size, .has-jt-05-font-size) > li { padding-left: 0.75em; }

.jt-blocks ul.wp-block-list.has-jt-01-font-size > li:before { width: 10rem; height: 10rem; top: calc(var(--wp--custom--typography--line-height--jt-01) / 2); margin-top: -5rem; }
.jt-blocks ul.wp-block-list.has-jt-02-font-size > li:before { width: 8rem; height: 8rem; top: calc(var(--wp--custom--typography--line-height--jt-02) / 2); margin-top: -4rem; }
.jt-blocks ul.wp-block-list.has-jt-03-font-size > li:before { width: 7rem; height: 7rem; top: calc(var(--wp--custom--typography--line-height--jt-03) / 2); margin-top: -3.5rem; }
.jt-blocks ul.wp-block-list.has-jt-04-font-size > li:before { width: 7rem; height: 7rem; top: calc(var(--wp--custom--typography--line-height--jt-04) / 2); margin-top: -3.5rem; }
.jt-blocks ul.wp-block-list.has-jt-05-font-size > li:before { top: calc(var(--wp--custom--typography--line-height--jt-05) / 2); }
.jt-blocks ul.wp-block-list.has-jt-06-font-size > li:before { top: calc(var(--wp--custom--typography--line-height--jt-06) / 2); }
.jt-blocks ul.wp-block-list.has-jt-08-font-size > li:before { width: 5rem; height: 5rem; top: calc(var(--wp--custom--typography--line-height--jt-08) / 2); margin-top: -2.5rem; }

/* 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-xlarge); margin-bottom: var(--wp--preset--spacing--jt-xxxlarge); 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: 10rem 58rem; position: relative; color: var(--wp--preset--color--white); background: var(--wp--preset--color--jt-primary); border: 2rem solid var(--wp--preset--color--jt-primary); 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--jt-primary); 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-xxsmall); 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; 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-small); 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-small); border-right: 4rem solid var(--wp--preset--color--black); }

/* PLAIN */
.jt-blocks .wp-block-quote.is-style-plain { padding-top: 30rem; }
.jt-blocks .wp-block-quote.is-style-plain:before { content: ''; display: block; width: 18rem; height: 13rem; position: absolute; top: 0; left: 0; background: url(../images/blocks/quote.svg) no-repeat center center / contain; }

/* ALIGN */
.jt-blocks .wp-block-quote.is-style-plain.has-text-align-center:before { left: 50%; 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-small); margin-bottom: var(--wp--preset--spacing--jt-medium); 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; }
.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-xsmall) var(--wp--preset--spacing--jt-xxsmall); color: var(--wp--preset--color--gray-800); vertical-align: middle; border: none; }

.jt-blocks .wp-block-table thead th { padding-top: var(--wp--preset--spacing--jt-xsmall); padding-bottom: 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); font-weight: 700; border-top: 1px solid var(--wp--preset--color--gray-700); background: var(--wp--preset--color--gray-100); text-align: center; }
.jt-blocks .wp-block-table thead th:not(:last-child) { border-right: 1px solid var(--wp--preset--color--gray-400); }

.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 td:not(:last-child) { border-right-width: 1px; }
.jt-blocks .wp-block-table tbody tr:first-child td { border-top-width: 1px; }

.jt-blocks .wp-block-table tfoot td { border-bottom: 1px solid var(--wp--preset--color--gray-400); }
.jt-blocks .wp-block-table tfoot td:not(:last-child) { border-right: 1px solid var(--wp--preset--color--gray-400); }

.jt-blocks .wp-block-table figcaption { display: block; margin-top: var(--wp--preset--spacing--jt-xxsmall); padding: 0 var(--wp--preset--spacing--jt-xxsmall); font-size: var(--wp--preset--font-size--jt-08); line-height: var(--wp--custom--typography--line-height--jt-08); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; color: var(--wp--preset--color--gray-700); }
.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: none; border-bottom: 1px solid var(--wp--preset--color--black); background: var(--wp--preset--color--white); padding-top: 0; }
.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: none; border-top: 1px solid var(--wp--preset--color--black); padding-bottom: 0; }

/* ALIGN */
.jt-blocks .wp-block-table.aligncenter, .jt-blocks .wp-block-table.alignleft, .jt-blocks .wp-block-table.alignright { display: block; }



/* **************************************** *
 * IMAGE
 * **************************************** */
.jt-blocks .wp-block-image { margin-top: var(--wp--preset--spacing--jt-xxlarge); margin-bottom: var(--wp--preset--spacing--jt-xxlarge); font-size: 0; }
.jt-blocks .wp-block-image > a { display: block; box-shadow: none !important; }
.jt-blocks .wp-block-image img { border-radius: 16rem; }
.jt-blocks .wp-block-image figcaption { display: block; margin: var(--wp--preset--spacing--jt-xxsmall) 0 0; font-size: var(--wp--preset--font-size--jt-08); line-height: var(--wp--custom--typography--line-height--jt-08); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; color: var(--wp--preset--color--gray-700); }

/* SHAPE */
.jt-blocks .wp-block-image.is-style-rounded img { border-radius: var(--wp--custom--border--radius--jt-01); }

/* ALIGN */
.jt-blocks .wp-block-image.alignfull figcaption { padding-left: var(--wp--preset--spacing--jt-xxsmall); padding-right: var(--wp--preset--spacing--jt-xxsmall); }

.jt-blocks .wp-block-image:is(.alignleft, .alignright) { float: none; max-width: var(--wp--style--global--content-size); }
.jt-blocks .wp-block-image.alignleft { margin-left: 0 !important; margin-right: auto !important; }
.jt-blocks .wp-block-image.alignright { margin-left: auto !important; margin-right: 0 !important; }

/* 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: 4rem; }
.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-xxlarge); margin-bottom: var(--wp--preset--spacing--jt-xxlarge); }
.jt-blocks .wp-block-gallery figure { border-radius: 16rem; overflow: hidden; }

/* 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-08); line-height: var(--wp--custom--typography--line-height--jt-08); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; text-align: left; color: var(--wp--preset--color--gray-700); }

/* GALLERY ITEM */
.jt-blocks .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { margin: 0; padding: var(--wp--preset--spacing--jt-xxsmall); position: absolute; font-size: var(--wp--preset--font-size--jt-08); 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%); }

/* SHAPE */
.jt-blocks .wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption { border-radius: 0 0 var(--wp--custom--border--radius--jt-01) var(--wp--custom--border--radius--jt-01); }

/* ALIGN */
.jt-blocks .wp-block-gallery.has-nested-images.alignfull > figcaption { padding-left: var(--wp--preset--spacing--jt-xsmall); padding-right: var(--wp--preset--spacing--jt-xsmall); }

.jt-blocks .wp-block-gallery.has-nested-images:is(.alignleft, .alignright) { float: none; max-width: var(--wp--style--global--content-size); }
.jt-blocks .wp-block-gallery.has-nested-images.alignleft { margin-left: 0 !important; margin-right: auto !important; }
.jt-blocks .wp-block-gallery.has-nested-images.alignright { margin-left: auto !important; margin-right: 0 !important; }



/* **************************************** *
 * EMBED
 * **************************************** */
.jt-blocks .wp-block-embed { margin-top: var(--wp--preset--spacing--jt-xxlarge); margin-bottom: var(--wp--preset--spacing--jt-xxlarge); }
.jt-blocks .wp-block-embed figcaption { display: block; margin: var(--wp--preset--spacing--jt-xxsmall) 0 0; font-size: var(--wp--preset--font-size--jt-08); line-height: var(--wp--custom--typography--line-height--jt-08); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: 500; color: var(--wp--preset--color--gray-700); }
.jt-blocks .wp-block-embed__wrapper { border-radius: 16rem; overflow: hidden; }

/* ALIGN */
.jt-blocks .wp-block-embed.alignfull figcaption { padding-left: var(--wp--preset--spacing--jt-xsmall); padding-right: var(--wp--preset--spacing--jt-xsmall); }

.jt-blocks .wp-block-embed:is(.alignleft, .alignright) { float: none; max-width: var(--wp--style--global--content-size); }
.jt-blocks .wp-block-embed.alignleft { margin-left: 0 !important; margin-right: auto !important; }
.jt-blocks .wp-block-embed.alignright { margin-left: auto !important; margin-right: 0 !important; }



/* **************************************** *
 * SEPARATOR
 * **************************************** */
.jt-blocks .wp-block-separator { height: 2rem; margin-top: var(--wp--preset--spacing--jt-xxxlarge); margin-bottom: var(--wp--preset--spacing--jt-xxxlarge); padding: 0; position: relative; color: var(--wp--preset--color--gray-400); 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 { height: 1px; }
.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 .wp-block-image.is-style-rounded img { border-radius: var(--wp--custom--border--radius--jt-01); }

.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; border-radius: 4rem; 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 2px 0 0 currentColor; }

    /* BUTTONS */
    .jt-blocks .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #5465AD; border-color: #5465AD; }
    .jt-blocks .wp-block-button.is-style-outline .wp-block-button__link:hover { color: var(--wp--preset--color--white); background: #5465AD; border-color: #5465AD; }

    /* 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); }

}