:root {
    --radius-rectangular: 2px;
    --radius-rounded: 6px;
    --radius-round: 30px;

    --body--background-color: #fff;
    --body--background-url: url('');
    --body--background-opacity: 1;
    --body--background-shade: 0;
    --body--background-blur: blur(0);

    --bt--content-width: 500px;
    --bt--content-width-max: calc(100% - 40px);
    --bt--content-space-top: 8px;
    --bt--content-space-bottom: 8px;
    --bt--content-min-height: 24px;

    --bt--separator-default-margin: 8px 0;

    --bt--color-active: #3761E9;

    --bt--title-color: #333338;
    --bt--title-font: 'Inter', sans-serif;

    --bt--text-color: #333338;
    --bt--text-font: 'Inter', sans-serif;

    --bt--button-color: #fff;
    --bt--button-background: var(--bt--color-active);
    --bt--button-radius: var(--radius-rounded);
    --bt--button-border-color: var(--bt--button-background);
    --bt--button-border-width: 2px;

    --bt--block-background: #fff;
    --bt--block-border: #E6E9F2;
    --bt--block-border-width: 1px;
    --bt--block-border-radius: 6px;

    --bt--background-opacity: 1;
    --bt--background-shade: 0;
    --bt--background-blur: 0;
    --bt--background-color: transparent;
    --bt--background-color-2: var(--bt--background-color);
}

.blocktype{
    --bt--button-border-color: var(--bt--button-background);
    --bt--background-color-2: var(--bt--background-color);
}

.blocktypes-wrapper {
    /*min-height: calc(100% - 1px);*/
    min-height: 100%;
    font-size: 16px;
    line-height: 23px;
    display: flex;
    flex-direction: column;
    color: var(--bt--text-color);
    font-family: var(--bt--text-font);
}

.blocktypes-wrapper,
.blocktypes-wrapper *,
.blocktypes-wrapper *::after,
.blocktypes-wrapper *::before{
    position: relative;
    box-sizing: border-box;
    outline: none;
}

body.external .blocktypes-wrapper {
    min-height: 100vh;
}

.blocktypes-background{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(180deg, var(--body--background-color), var(--body--background-color-2));
}

.blocktypes-background::before,
.blocktypes-background::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.blocktypes-background::before {
    opacity: var(--body--background-opacity);
    filter: var(--body--background-blur);
    background-image: var(--body--background-url);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
}

.blocktypes-background::after {
    z-index: 2;
    background-color: rgba(0,0,0,var(--body--background-shade));
}

.blocktypes {
    display: flex;
    flex-direction: column;
}

.blocktypes * {
    color: inherit;
    font-family: inherit;
}

.blocktypes h1, .blocktypes h2, .blocktypes h3, .blocktypes h4, .blocktypes h5, .blocktypes h6,
.blocktypes h1 *, .blocktypes h2 *, .blocktypes h3 *, .blocktypes h4 *, .blocktypes h5 *, .blocktypes h6 *{
    color: var(--bt--title-color);
    font-family: var(--bt--title-font);
    font-weight: 600;
    margin: 0;
}

.blocktypes h1 { font-size: 2em; line-height: 1.21875em; }
.blocktypes h2 { font-size: 1.5em; line-height: 1.29166em }
.blocktypes h3 { font-size: 1.25em; line-height: 1.35em }

.blocktypes strong { font-weight: 600 }
.blocktypes h1 strong, .blocktypes h2 strong, .blocktypes h3 strong,
.blocktypes h4 strong, .blocktypes h5 strong, .blocktypes h6 strong { font-weight: 700 }

.blocktypes ul, .blocktypes ol {
    padding-left: 1.15em;
    margin-top: 1.1em;
    margin-bottom: 1.6em;
}
.blocktypes li { padding-left: 10px; margin-bottom: 9px }
.blocktypes li::marker { color: var(--bt--title-color) }

.blocktype{
    width: 100%;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 3;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: var(--bt--text-color);
    font-family: var(--bt--text-font);
}

:not(.external) .blocktype .bt-content {
    min-height: var(--bt--content-min-height);
}

.blocktypes > .blocktype:first-child { --bt--content-space-top: 20px; }
.blocktypes > .blocktype:last-child { --bt--content-space-bottom: 20px; }

.bt-content {
    width: var(--bt--content-width);
    max-width: var(--bt--content-width-max);
    position: relative;
    padding-top: var(--bt--content-space-top);
    padding-bottom: var(--bt--content-space-bottom);
    z-index: 2;
}

.blocktype .block_background {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(180deg, var(--bt--background-color), var(--bt--background-color-2));
    opacity: var(--bt--background-opacity);
    z-index: -1;
}

.blocktype .block_background::before,
.blocktype .block_background::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
}

.blocktype .block_background:before {
    background-image: var(--bt--background-url);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: var(--bt--background-blur);
    z-index: 1;
}

.blocktype .block_background:after {
    background-color: rgba(0,0,0, var(--bt--background-shade));
    z-index: 2;
}


.text-align_left { text-align: left; }
.text-align_right { text-align: right; }
.text-align_center { text-align: center; }
.text-align_justify { text-align: justify; }

.bt_text-small { font-size: 0.875em; line-height: 1.5em; }
.bt_text-medium { font-size: 1em; line-height: 1.4375em; }
.bt_text-large { font-size: 1.125em; line-height: 1.3888em; }