html {font-size: clamp(15px, 0.85vw, 17px); box-sizing: border-box; scroll-behavior: smooth; scroll-padding-top: 7rem;}
* {padding: 0; margin: 0; box-sizing: inherit;}
body {color: #000; font-family: 'Jost', sans-serif; line-height: 1.5; font-weight: 400; overflow-y: scroll; min-height: 100vh; min-height: 100dvh; display: grid; grid-template-rows: auto auto 1fr auto auto; }

:root { 
    --font-size-h1: 2rem; 
    --font-size-h2: 1.25rem; 
    --font-size-h3: 1rem; 
    --font-size-body: 1rem; 
    
    --max-width-wide: 120rem; 
    --max-width: 75rem; 
    --max-width-narrow: 54rem;  
}
h1,h2,h3 { font-weight: 600; line-height: 1.1;}
h1 {font-size: var(--font-size-h1);  padding: 0.4rem 0 0.4rem; font-weight: 700;}
h2 {font-size: var(--font-size-h2);  padding: 1.4rem 0 1rem;}
h3 {font-size: var(--font-size-h3);  padding: 1.4rem 0 0.25rem;}
h1 + h2 {padding-top: 0;}
h2 + h3 {padding-top: 0.5rem;}
a {color: rgba(0,0,0,0.5); text-decoration: none;}
p a, a[href^="mailto:"] {text-decoration: underline; color: #000;}
p.error {color: #ed1c24;}
strong {font-weight: 600;}

.container {max-width: var(--max-width-wide); margin: 0 auto; padding: 0 1rem; position: relative;}
.container .container {padding: 0;}
.container .hassubnav .container {padding: 0 1rem;}
.cart.notification {background: #000; display: block; color: white; top: 0; margin-top: -0.2rem; font-size: 0.7rem; min-width: 1rem; height: 1rem; line-height: 1rem; border-radius: 0.5rem; text-align: center; position: absolute; right: 0; margin-right: -0.2rem;  font-weight: 600; width: auto; padding-inline: 0.2rem;}
.notification.alert {background: #ed1c24;}

.single.textcolumn {max-width: var(--max-width-narrow); margin: 0 auto;}
.double.textcolumn {display: flex; flex-wrap: wrap; gap: 4rem;}
.double.textcolumn > div {flex-grow: 1; width: calc(var(--max-width-narrow) / 2);}
.textcolumn h1 {line-height: 1; padding-bottom: 2rem; font-size: 2rem;}
.textcolumn h1 span {display: block;opacity: 0.4; padding: 0.25rem 0 0;}
p,
.textcolumn ol,
.textcolumn ul,
.textcolumn table,
.textcolumn p {padding-bottom: 1.4rem;}

p.ends-with-colon + ol, p.ends-with-colon + ul {margin-top: -1.4rem;}
.textcolumn ol {margin-left: 2rem;}
.textcolumn ul {margin-left: 1.4rem;}
.smallcolumn {max-width: calc(var(--max-width-narrow) / 2); margin: 0 auto;}
.textcolumn table { overflow: auto; max-width: 45rem; min-width: 100%; }
.textcolumn table tbody tr:nth-of-type(2n+2) td { background: rgba(0,0,0,0.025);}
img {max-width: 100%; height: auto; width: 100%; }

.body {padding-top: 3rem;}
.body > .container > ul {margin-left: 1rem;}




.dotcontainer .dot {width: 2rem; height: 2rem; background: gray; border-radius: 100%; position: absolute; margin-top: 0.25rem;}
.dotcontainer .dotcontent {max-width: 50rem;  margin-left: 15%;}
.dotbar {background: gray; margin-block: 2.5rem -1.25rem; padding-inline: 0.5rem; color: white; padding-block: 0.25rem; font-size: 0.9rem;}
.dotbar strong {font-weight: 600;}

.readmore-link {display: inline-block; margin-left: 0.25em;}

body.home #breadcrumbs {display: none;}
#breadcrumbs {background: #fff; font-size: 0.9rem; color: rgba(0,0,0,0.25)}
#breadcrumbs ul {
    line-height: 2.5rem;
    text-wrap: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: calc(100vw - 2rem);
}
#breadcrumbs ul li {list-style: none; padding-right: 0.5rem; display: inline;}
#breadcrumbs ul li::before {content: "/"; display: inline-block; color: rgba(0,0,0,0.25); margin-right: 0.5rem;}
#breadcrumbs ul li:first-child::before {content: none;}
#breadcrumbs ul li a {color: rgba(0,0,0,0.25); text-decoration: none;}
#breadcrumbs ul li a img {width: 1.1rem; vertical-align: middle; position: relative; top: 0.1rem;}
#breadcrumbs ul li.active a {color: rgba(0,0,0,0.25);}

#productfilter #products ul li:has(.date) a span.imgholder::before {
    background: rgba(150,150,150,0.25);
}

form > div {display: flex; margin-bottom: 1rem; position: relative;}
form > div label {line-height: 2.4rem; min-width: 8rem; white-space: nowrap; text-overflow: ellipsis; color: rgba(0,0,0,0.5);}
form > div input:not([type="submit"],[type="checkbox"]), form > div textarea, div.disabledinput {height: 2.4rem; line-height: 2.4rem; border: 1px solid rgba(0,0,0,0.15); flex-grow: 1; padding: 0 0.5rem;}
form > div textarea {height: 25rem; line-height: 1.4; padding: 0.5rem;}
form > div input[disabled], div.disabledinput {color: rgba(0,0,0,0.25); background: rgba(0,0,0,0.05);}
form > div input[type="checkbox"], form > div input[type="radio"] {height: 1rem;}

form > div.form-group {display: grid; grid-template-columns: 10rem auto;}
form > div.form-group .help-block {display: none;}
form > div.form-group.has-error .help-block {display: block; margin-top: 1rem; grid-column-start: 1; grid-column-end: 3; color: #ed1c24;}

input[type="checkbox"], input[type="checkbox"] + *::before {width: 0.95rem; height: 100%; overflow: hidden; left: 0; opacity: 0; display: inline-block; vertical-align: top; border: 0; padding: 0; margin: 0 0.35rem 0 0;}
input[type="checkbox"] + *::before {content: ""; position: absolute; background: url('/img/square-light.svg') center center / contain no-repeat; opacity: 1; cursor: pointer;}
input[type="checkbox"]:checked + *::before {background: url('/img/check-square.svg') center center / contain no-repeat;}

input[type="radio"], input[type="radio"] + *::before {width: 1rem; height: 100%; overflow: hidden; left: 0; opacity: 0; display: inline-block; vertical-align: top; border: 0; padding: 0; margin: 0 0.35rem 0 0;}
input[type="radio"] + *::before {content: ""; position: absolute; background: url('/img/circle-light.svg') center center / contain no-repeat; opacity: 1; cursor: pointer;}
input[type="radio"]:checked + *::before {background: url('/img/dot-circle.svg') center center / contain no-repeat;}

.form-group.checkbox > div {flex-grow: 1;}
.form-group.checkbox > div > div {position: relative; display: flex;}
.form-group.checkbox > div > div > label {display: flex; margin-left: 0.3rem;}
.form-group.checkbox > div > div > a {line-height: 2.4rem; cursor: pointer;}

form div[style*="flex-direction: column"] input {flex-grow: unset;}
form .error input, form .error :not(label){color: #ed1c24;}
form .error input {border: 1px solid #ed1c24!important;}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}
dl {position: relative; display: flex; flex-wrap: wrap;}
dl dt {clear: left; width: 40%; max-width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
dl dd {width: 60%;}

select, input[type="date"] {
    height: 2.4rem; 
    line-height: 2.4rem;
    width: 4.5rem; 
    border: 1px solid rgba(0,0,0,0.15); 
    padding: 0 0.5rem;
    font-family: 'Jost', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    border-radius: 0.3rem;
    background: transparent;
    width: 100%;
    color: #000;
}
input, button, .button, textarea, .disabledinput {
    font-family: 'Jost', sans-serif;
    font-size: 1rem; 
    font-weight: 400; 
    border-radius: 0; 
    color: #000; 
    background: white; border: 1px solid rgb(0,0,0,0.1);
    text-decoration: none!important;
}
.disabledinput {overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
button, .button {cursor: pointer;}
input[type='checkbox'], input[type='radio'] {position: relative; top: 0.1rem; margin-right: 0.2rem;}
.adminform.search {max-width: 100%;}
.adminform.search label {display: none;}
.adminform.search + p, .adminform.search + script + p {opacity: 0.5; position: relative; bottom: 0.75rem;}

.button {
    font-size: 1.1rem; 
    border: 0; 
    cursor: pointer; 
    background: #000; 
    color: white; 
    display: block;
    line-height: 2.3rem; 
    text-align: center; 
    text-decoration: none;
    width: 100%; 
    display: block;
    border: 0;
    font-weight: 600;
    height: 2.8rem;
    line-height: 2.8rem;
}
.button img {height: 1.4rem; width: 1.4rem; vertical-align: middle; position: relative; bottom: 0.15rem; object-fit: contain; margin-right: 0.15rem;}
.button.primary {background: #67b938; color: white;}
.button.primary img {height: 1.75rem; width: 1.75rem; bottom: 0.2rem;}
.button.disabled, .button[disabled] {background: #bbb; pointer-events: none; border-color: #999;}
.button.small {height: 2.2rem; line-height: 2.2rem; padding-inline: 1rem;}

ul.tiles {
    list-style: none; 
    display: flex; 
    flex-wrap: wrap;
    gap: 1rem; 
    padding-left: 0; 
    margin: 0!important;
}
ul.tiles > * {display: block; background: #f3f3f3; min-width: 29rem; flex: 1; flex-grow: 1; position: relative;}
ul.tiles > * a {display: block; position: relative;}
ul.tiles > * a .tileimage {display: block; width: 100%; background-position: center center; background-size: cover; z-index: 0; aspect-ratio: 1.7; position: relative; max-height: 25rem;}
ul.tiles > * a .tileimage::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.05);
    z-index: 1;
}
ul.tiles > * a:has(.tiletitle) .tileimage::after {
    background: rgba(150,150,150,0.25);
}
ul.tiles > * .tiletext {padding: 0.3rem 0.5rem 0.45rem; font-size: 0.9rem; color: black; line-height: 1.3;}

ul.tiles .tiletitle {font-size: 1.25rem; position: absolute; background: black; color: white; font-weight: bold; padding: 0.33rem 1rem 0.5rem 0.75rem; line-height: 1.1; max-width: 100%; top: 0; z-index: 1;}
ul.tiles .tiletitle span {color: red;}
ul.tiles.small > * {min-width: 11rem;}
ul.tiles.small > * a {height: auto;}
ul.tiles.small .tiletitle {font-size: 1rem;}
ul.tiles.small > * a .tileimage {aspect-ratio: 1; max-height: none;}

@media only screen and (max-width: 650px) {
    ul.tiles > * {width: calc(100% - 2rem); min-width: calc(100% - 2rem);}
}
@media only screen and (min-width: 900px) and (max-width: 1200px) {
    ul.tiles.small > * {min-width: 15rem;}
}
@media only screen and (min-width: 1200px) and (max-width: 1500px) {
    ul.tiles > * {min-width: 25rem;}
}
@media only screen and (min-width: 1500px) and (max-width: 1700px) {
    ul.tiles > * {min-width: 31rem;}
}

body.home .container > h2:first-child {font-size: 2rem; font-weight: bold; padding-bottom: 2rem;} 
div.discover h2 {text-align: left; font-size: 1.35rem; font-weight: bold; margin-block: 2rem 1rem; padding-bottom: 0;}
body.home .container > h2:first-child {margin-top: 0; padding-top: 0;}
div.popular {max-width: var(--max-width-narrow); margin-inline: 0; padding-block: 3rem 6rem;}
div.popular + div.popular {padding-top: 0; margin-top: -3rem;}
div.popular h2 {font-size: 1.35rem; font-weight: bold;}

ul.tags {list-style: none; display: flex; flex-wrap: wrap; gap: 1rem 1rem;}
ul.tags > * {border: 1px solid black;}
ul.tags > * a {color: black; font-size: 0.9rem; padding: 0.35rem 1rem; display: block;}
ul.tags > * a span {color: red; font-weight: bold;}




/* ========================== POSTS / PAGE ========================== */

.container.post {font-size: 1rem; padding-bottom: 3rem;}
.container.post > img { max-width: calc(var(--max-width-narrow) + 10rem); margin: 0 auto 1rem; display: block;  }
.container.post h1 {font-size: 3rem; padding-bottom: 2.5rem;}
.container.post .date {font-size: 1rem; }
.container.post .pretitle {font-size: 1rem; padding-bottom: 0.25rem; display: flex; }
.container.post h1 + p {font-size: 2rem; line-height: 1.15; padding-bottom: 2.75rem;}
.container.post h1 + p + .singleproduct,
.container.post h1 + p + .singleproduct + .singleproduct,
.container.post h1 + p + .singleproduct + .singleproduct + .singleproduct {margin-top: -1rem;} 
.container.post h2 {font-size: var(--font-size-h1); margin-top: var(--font-size-h1);}
.container.post h3 {font-size: var(--font-size-h2); padding: 1.4rem 0 1rem;}
.container.post h4 {font-size: var(--font-size-h3); padding: 1.4rem 0 0.25rem;}
.container.post .button { max-width: max-content; padding-inline: 1rem; }
.container.post .back {  margin-inline: auto; }

.otherposts ul { list-style-type: none; margin-left: 0; display: grid;grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));  grid-gap: 1rem;}
.otherposts ul a { color: black; text-decoration: underline;}
.otherposts ul li { min-width: unset;}



/*------------------------*/
/* docs
/*------------------------*/

section.docs {margin-top: -2rem;}
section.docs .container {display: flex; gap: 3rem;}
section.docs .container .menu {border-right: 1px solid rgba(0,0,0,0.1); min-width: 20rem; padding: 2rem 0 3.2rem;}
section.docs .container .content {min-width: 0; min-height: 0; padding: 2rem 0; flex-grow: 1; width: 100%; }
section.docs .container .content > * {max-width: 55rem;}
section.docs .container .content p img[src$=".svg"] {width: 100%; max-width: 30rem; margin: 3rem 0;}
section.docs .container .content .imgholder {position: relative; display: inline-block; line-height: 0; max-width: 100%;}
section.docs .container .content .imgholder::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.05);
    pointer-events: none;
}
section.docs .container .content .breadcrumbs {text-align: left;}
section.docs .container .content h1 {font-size: 2rem;}
section.docs .container .content h2#products { clear: both;}
section.docs .container .content h2 ~ h2 { clear: both;}
section.docs .container .content h3 {color: black; clear: left;}
section.docs .container .content table { border: 1px solid black; border-collapse: collapse;  padding-bottom: 0;  margin-bottom: 2rem;  }
section.docs .container .content :is(ol,ul) li { margin-bottom: .5rem;}
section.docs .container .content :is(ol,ul) li p:last-of-type { padding-bottom: 0;}
section.docs .container .content table tr > * {text-align: left;  border: 1px solid black; padding-inline: .25rem 1rem;}
section.docs .container .content table tr > th {font-weight: 600; white-space: nowrap; background: #000; color: #FFF; }
section.docs .container .content table tr > :is(th,td):first-of-type { border-left: none;}
section.docs .container .content table tr > :is(th,td):last-of-type { border-right: none;}
section.docs .container .content table tbody tr:last-of-type > :is(th,td) { border-bottom: none; }
section.docs .container .content .table-container { overflow: auto; width: 100%; }
section.docs .container .content strong {font-weight: 600;}
section.docs .container .content .featured_image {width: 13rem; display: block;}
section.docs .container .content .featured_image img {display: block; border: 1px solid rgba(0, 0, 0,0.1);}
@media only screen and (min-width: 600px) {
    section.docs .container .content .featured_image {float: right; margin-inline: 2rem 0;}
}

section.docs .container .menu h3 {display: none;}
section.docs .container .menu ul.nestedmenu {margin-left: 0; margin-right: 5rem; top: 2rem; position: sticky;}
header.sticky + section.docs .container .menu ul.nestedmenu {position: sticky;}
body:not(.mobilemenu) header.sticky + section.docs .container .menu ul.nestedmenu {animation: slidedown 1s ease-in-out;}
section.docs .container .menu ul.nestedmenu li {list-style: none; padding: 0.25rem 0;}
section.docs .container .menu ul.nestedmenu li > ul {display: none; padding-left: 1rem; }
section.docs .container .menu ul.nestedmenu li > a::before {content: " "; display: inline-block; margin-right: 0.75rem; width: 0.5rem; text-align: center;}
section.docs .container .menu ul.nestedmenu > li > a::before {content: "-";}
section.docs .container .menu ul.nestedmenu li.haschildren > a::before {content: "›";}
section.docs .container .menu ul.nestedmenu li.haschildren.active > a::before {transform: rotate(90deg) translateY(-0.1rem);}
section.docs .container .menu ul.nestedmenu li.active > ul {display: block; position: relative; top: 0.35rem;}
section.docs .container .menu ul.nestedmenu li.active > ul li:last-child {margin-bottom: 0.75rem;}
section.docs .container .menu ul.nestedmenu li > a {color: inherit; text-decoration: none; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; display: block;}
section.docs .container .menu ul.nestedmenu li.current > a {color: #000; font-weight: 600;}

@media (max-width: 65rem) {
    section.docs {margin-top: -2rem;}
    section.docs .container {flex-direction: column-reverse; gap: 3rem;}
    section.docs .container .menu {width: 100%; max-width: 100%; padding-bottom: 0; border: 0;}
    section.docs .container .menu h3 {display: block;}
    section.docs .container .content {padding-bottom: 0;}
    section.docs .container .menu ul.nestedmenu {margin-top: 0.75rem;}
}


.single.textcolumn table {text-align: center; margin: 0; border-collapse: collapse; margin-block: 1.5rem; }
.single.textcolumn table td, 
.single.textcolumn table th {padding: 0.3rem 0.5rem 0.4rem; line-height: 1.2; font-size: 0.9rem;}
.single.textcolumn table th {border: 1px solid black;}
.single.textcolumn table td {border: 1px solid rgba(0, 0, 0,0.1);}
.single.textcolumn table {border-bottom: 1px solid rgba(0, 0, 0,0.1);}
.single.textcolumn table th {
  background: black; color: white; position: relative; line-height: 1.1; padding: 0.4rem 0.75rem 0.5rem;
}
.single.textcolumn table tr:last-child td {border-bottom: 0;} 

ul.subitems {margin-left: 0!important; clear: both;}
ul.subitems + ul.subitems {margin-top: -1.4rem;}
ul.subitems > li {display: flex; align-items: center; gap: 1.25rem;}
ul.subitems > li h3 {margin-top: 0; padding-top: 0; }
ul.subitems > li p.image {min-width: 13rem; width: 13rem;}
section.docs .container .content ul.subitems .imgholder {display: block;}


h2 ~ a.singleproduct { padding-top: 0;}
.singleproduct {width: calc(33.33% - 1.333rem); display: block; float: left; margin-right: 2rem; padding-block: 2rem; color: black;}
.singleproduct .imgholder {margin: 0.25rem 0; position: relative;}
.singleproduct .imgholder::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.05);
}
.singleproduct .imgholder img {display: block; aspect-ratio: 1; object-fit: cover;}
.singleproduct .title {color: rgba(0,0,0,0.5); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.singleproduct > * {display: block;}
.singleproduct .buttonholder {display: flex; flex-direction: row-reverse; width: 100%; justify-content: space-between; margin-block: 0.5rem 0; align-items: center;}
.singleproduct .price {text-align: right; font-weight: 600;}
.singleproduct .text {display: none;}
.singleproduct .button {display: inline-block!important; width: auto;}
.singleproduct .button.arrow::after {
    content: ">";
    color: #ed1c24;
    display: inline-block;
    margin-left: 0.5rem;
    font-weight: 700;
}
.singleproduct:nth-of-type(3n) {margin-right: 0;}
.singleproduct + h2 {padding-top: 3rem; clear: left;}
.singleproduct + p {padding-top: 2rem; clear: left;}
.singleproduct + p img {display: block;}

@media (max-width: 700px) {
    .singleproduct {width: calc(50% - 1.5rem); margin-right: 1.5rem;}
    .singleproduct:nth-of-type(3n) {margin-right: 1.5rem;}
    .singleproduct:nth-of-type(2n) {margin-right: 0;}
}
div.map ~ form,
div.map ~ h2 {clear: both;}
div.map {
    position: relative; 
    overflow: hidden;
    height: 20rem;
    width: calc(100% - 14rem);
    float: left;
    margin-right: 2rem;
    margin-bottom: 3rem;
    cursor: pointer;
}
div.map img {
    width: auto; 
    height: auto; 
    max-width: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    filter: grayscale(100%) contrast(.8) brightness(1.2);
}
div.map::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url(/img/logo.svg) center calc(50% - 2.15rem) / auto 2rem no-repeat;
    z-index: 1;
}
div.map::before {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(50% - 0.75rem);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-left: 0.5rem solid transparent;
    border-right: 0.5rem solid transparent;
    border-top: 0.75rem solid #000;
    z-index: 2;
}
@media (max-width: 30rem) {
    div.map {width: 100%; margin-right: 0; float: none; margin-bottom: 1.5rem; aspect-ratio: 1; height: auto;}
}


.shortcode-youtube {
    position: relative; display: inline-block;
}
.shortcode-youtube::before, .shortcode-youtube::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
} 
.shortcode-youtube::before {
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaGVpZ2h0PSIxMDAlIgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCA2OCA0OCIKICAgd2lkdGg9IjEwMCUiCiAgIGlkPSJzdmc2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJ5b3V0dWJlX2J1dHRvbi5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuNSAoMjA2MGVjMWY5ZiwgMjAyMC0wNC0wOCkiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEyIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMTAiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSI3MzgiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iNDgwIgogICAgIGlkPSJuYW1lZHZpZXc4IgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSI0LjE3NjQ3MDYiCiAgICAgaW5rc2NhcGU6Y3g9IjM0IgogICAgIGlua3NjYXBlOmN5PSIyNCIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzYiIC8+CiAgPHBhdGgKICAgICBjbGFzcz0ieXRwLWxhcmdlLXBsYXktYnV0dG9uLWJnIgogICAgIGQ9Ik02Ni41Miw3Ljc0Yy0wLjc4LTIuOTMtMi40OS01LjQxLTUuNDItNi4xOUM1NS43OSwuMTMsMzQsMCwzNCwwUzEyLjIxLC4xMyw2LjksMS41NSBDMy45NywyLjMzLDIuMjcsNC44MSwxLjQ4LDcuNzRDMC4wNiwxMy4wNSwwLDI0LDAsMjRzMC4wNiwxMC45NSwxLjQ4LDE2LjI2YzAuNzgsMi45MywyLjQ5LDUuNDEsNS40Miw2LjE5IEMxMi4yMSw0Ny44NywzNCw0OCwzNCw0OHMyMS43OS0wLjEzLDI3LjEtMS41NWMyLjkzLTAuNzgsNC42NC0zLjI2LDUuNDItNi4xOUM2Ny45NCwzNC45NSw2OCwyNCw2OCwyNFM2Ny45NCwxMy4wNSw2Ni41Miw3Ljc0eiIKICAgICBmaWxsPSIjMjEyMTIxIgogICAgIGZpbGwtb3BhY2l0eT0iMC44IgogICAgIGlkPSJwYXRoMiIgLz4KICA8cGF0aAogICAgIGQ9Ik0gNDUsMjQgMjcsMTQgMjcsMzQiCiAgICAgZmlsbD0iI2ZmZiIKICAgICBpZD0icGF0aDQiIC8+Cjwvc3ZnPgo=') center center / auto 4rem no-repeat;
}
.shortcode-youtube:hover::before {
    background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaGVpZ2h0PSIxMDAlIgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCA2OCA0OCIKICAgd2lkdGg9IjEwMCUiCiAgIGlkPSJzdmc2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJ5b3V0dWJlX2J1dHRvbl9ob3Zlci5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuNSAoMjA2MGVjMWY5ZiwgMjAyMC0wNC0wOCkiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEyIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMTAiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSI3MzgiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iNDgwIgogICAgIGlkPSJuYW1lZHZpZXc4IgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSI1LjE3MTY0NTIiCiAgICAgaW5rc2NhcGU6Y3g9IjExLjc2MzM2MyIKICAgICBpbmtzY2FwZTpjeT0iMjQiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmc2IiAvPgogIDxwYXRoCiAgICAgY2xhc3M9Inl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZyIKICAgICBkPSJNNjYuNTIsNy43NGMtMC43OC0yLjkzLTIuNDktNS40MS01LjQyLTYuMTlDNTUuNzksLjEzLDM0LDAsMzQsMFMxMi4yMSwuMTMsNi45LDEuNTUgQzMuOTcsMi4zMywyLjI3LDQuODEsMS40OCw3Ljc0QzAuMDYsMTMuMDUsMCwyNCwwLDI0czAuMDYsMTAuOTUsMS40OCwxNi4yNmMwLjc4LDIuOTMsMi40OSw1LjQxLDUuNDIsNi4xOSBDMTIuMjEsNDcuODcsMzQsNDgsMzQsNDhzMjEuNzktMC4xMywyNy4xLTEuNTVjMi45My0wLjc4LDQuNjQtMy4yNiw1LjQyLTYuMTlDNjcuOTQsMzQuOTUsNjgsMjQsNjgsMjRTNjcuOTQsMTMuMDUsNjYuNTIsNy43NHoiCiAgICAgZmlsbD0iI2ZmMDAwMCIKICAgICBpZD0icGF0aDIiIC8+CiAgPHBhdGgKICAgICBkPSJNIDQ1LDI0IDI3LDE0IDI3LDM0IgogICAgIGZpbGw9IiNmZmYiCiAgICAgaWQ9InBhdGg0IiAvPgo8L3N2Zz4K');
}
.shortcode-youtube::after {
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHZpZXdCb3g9IjAgMCAzMTcuMTAwMDEgOTguMDk5OTk4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxNSIKICAgc29kaXBvZGk6ZG9jbmFtZT0ieW91dHViZS5zdmciCiAgIHdpZHRoPSIzMTcuMTAwMDEiCiAgIGhlaWdodD0iOTguMDk5OTk4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjUgKDIwNjBlYzFmOWYsIDIwMjAtMDQtMDgpIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEyMSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczE5IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMjU2MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMzkxIgogICAgIGlkPSJuYW1lZHZpZXcxNyIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgZml0LW1hcmdpbi10b3A9IjAiCiAgICAgZml0LW1hcmdpbi1sZWZ0PSIwIgogICAgIGZpdC1tYXJnaW4tcmlnaHQ9IjAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAiCiAgICAgaW5rc2NhcGU6em9vbT0iMi43Njg5Mjc4IgogICAgIGlua3NjYXBlOmN4PSI3My43MjIzMDEiCiAgICAgaW5rc2NhcGU6Y3k9IjQ3LjgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcxNSIgLz4KICA8ZwogICAgIGlkPSJnMTEiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZiIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTczLC00LjcpIj4KICAgIDxwYXRoCiAgICAgICBkPSJtIDIyNy45LDk5LjcgYyAtMy4xLC0yLjEgLTUuMywtNS4zIC02LjYsLTkuNyAtMS4zLC00LjQgLTEuOSwtMTAuMiAtMS45LC0xNy41IHYgLTkuOSBjIDAsLTcuMyAwLjcsLTEzLjMgMi4yLC0xNy43IDEuNSwtNC41IDMuOCwtNy43IDcsLTkuNyAzLjIsLTIgNy4zLC0zLjEgMTIuNCwtMy4xIDUsMCA5LjEsMSAxMi4xLDMuMSAzLDIuMSA1LjMsNS4zIDYuNyw5LjcgMS40LDQuNCAyLjEsMTAuMyAyLjEsMTcuNiB2IDkuOSBjIDAsNy4zIC0wLjcsMTMuMSAtMi4xLDE3LjUgLTEuNCw0LjQgLTMuNiw3LjYgLTYuNyw5LjcgLTMuMSwyIC03LjMsMy4xIC0xMi41LDMuMSAtNS40LDAuMSAtOS42LC0xIC0xMi43LC0zIHogTSAyNDUuMiw4OSBjIDAuOSwtMi4yIDEuMywtNS45IDEuMywtMTAuOSBWIDU2LjggYyAwLC00LjkgLTAuNCwtOC41IC0xLjMsLTEwLjcgLTAuOSwtMi4zIC0yLjQsLTMuNCAtNC41LC0zLjQgLTIuMSwwIC0zLjUsMS4xIC00LjQsMy40IC0wLjksMi4zIC0xLjMsNS44IC0xLjMsMTAuNyB2IDIxLjMgYyAwLDUgMC40LDguNyAxLjIsMTAuOSAwLjgsMi4yIDIuMywzLjMgNC41LDMuMyAyLjEsMCAzLjYsLTEuMSA0LjUsLTMuMyB6IE0gNDY0LjQsNzIuNyB2IDMuNSBsIDAuNCw5LjkgYyAwLjMsMi4yIDAuOCwzLjggMS42LDQuOCAwLjgsMSAyLjEsMS41IDMuOCwxLjUgMi4zLDAgMy45LC0wLjkgNC43LC0yLjcgMC45LC0xLjggMS4zLC00LjggMS40LC04LjkgbCAxMy4zLDAuOCBjIDAuMSwwLjYgMC4xLDEuNCAwLjEsMi40IDAsNi4zIC0xLjcsMTEgLTUuMiwxNC4xIC0zLjUsMy4xIC04LjMsNC43IC0xNC42LDQuNyAtNy42LDAgLTEyLjksLTIuNCAtMTUuOSwtNy4xIC0zLC00LjcgLTQuNiwtMTIuMSAtNC42LC0yMiBWIDYxLjYgYyAwLjM0LC0xNyAzLjMzLC0yOS40NSAyMC45LC0yOS41IDUuMywwIDkuMywxIDEyLjEsMi45IDIuOCwxLjkgNC44LDQuOSA2LDkgMS4yLDQuMSAxLjcsOS43IDEuNywxNi45IHYgMTEuNyBoIC0yNS43IHogbSAyLC0yOC44IGMgLTAuOCwxIC0xLjMsMi41IC0xLjYsNC43IC0wLjMsMi4yIC0wLjQsMTAgLTAuNCwxMCB2IDQuOSBoIDExLjIgdiAtNC45IGMgMCw0LjkgLTAuMSwtNy43IC0wLjQsLTEwIC0wLjMsLTIuMyAtMC44LC0zLjkgLTEuNiwtNC44IC0wLjgsLTAuOSAtMiwtMS40IC0zLjYsLTEuNCAtMS43LDAuMSAtMi45LDAuNiAtMy42LDEuNSB6IE0gMTkwLjUsNzEuNCAxNzMsOC4yIGggMTUuMyBjIDAsMCA3LjE1LDMxLjcgOS42LDQ2LjYgaCAwLjQgYyAyLjc4LC0xNS44MiA5LjgsLTQ2LjYgOS44LC00Ni42IGggMTUuMyBsIC0xNy43LDYzLjEgdiAzMC4zIEggMTkwLjYgViA3MS40IFoiCiAgICAgICBpZD0icGF0aDYiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZiIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0iQSIKICAgICAgIGQ9Im0gMzExLjUsMzMuNCB2IDY4LjMgaCAtMTIgbCAtMS4zLC04LjQgaCAtMC4zIGMgLTMuMyw2LjMgLTguMiw5LjUgLTE0LjcsOS41IC0xMS43NywtMC4wMyAtMTMuMDgsLTEwIC0xMy4yLC0xOC40IHYgLTUxIGggMTUuNCB2IDUwLjEgYyAwLDMgMC4zLDUuMiAxLDYuNSAxLjQyLDIuNzggNS4xLDIuMDcgNy4xLDAuNyBhIDgsOCAwIDAgMCAyLjcsLTMuMSBWIDMzLjQgWiIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMzUzLjMsMjAuNiBIIDMzOCB2IDgxLjEgSCAzMjMgViAyMC42IEggMzA3LjcgViA4LjIgaCA0NS41IHYgMTIuNCB6IG0gODcuOSwyMy43IEMgNDQwLjMsNDAgNDM4LjgsMzYuOSA0MzYuNywzNC45IDQzNC42LDMzIDQzMS44LDMyIDQyOC4xLDMyIGEgMTQuMSwxNC4xIDAgMCAwIC03LjksMi40IGMgLTIuNSwxLjYgLTQuMywzLjcgLTUuNyw2LjMgaCAtMC4xIHYgLTM2IGggLTE0LjggdiA5Ni45IGggMTIuNyBsIDEuNiwtNi41IGggMC4zIGEgMTQsMTQgMCAwIDAgNS4zLDUuNSBjIDIuNCwxLjMgNSwyIDcuOSwyIDUuMiwwIDksLTIuNCAxMS41LC03LjIgMi40LC00LjggMy43LC0xMi4zIDMuNywtMjIuNCBWIDYyLjIgYyAwLC03LjYgLTAuNSwtMTMuNiAtMS40LC0xNy45IHogbSAtMTQuMSwyNy45IGMgMCw1IC0wLjIsOC45IC0wLjYsMTEuNyAtMC40LDIuOCAtMS4xLDQuOCAtMi4xLDYgLTEsMS4yIC0yLjMsMS44IC0zLjksMS44IC0zLjEsLTAuMSAtNC44NiwtMS41IC02LjEsLTMuNiBWIDQ5LjMgYyAwLjUsLTEuOSAxLjQsLTMuNCAyLjcsLTQuNiAyLjIsLTIuNDcgNS45NiwtMi41IDcuNywwIDAuOSwxLjIgMS40LDMuMyAxLjgsNi4yIDAuMywyLjkgMC41LDcgMC41LDEyLjQgeiIKICAgICAgIGlkPSJwYXRoOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KICA8dXNlCiAgICAgeGxpbms6aHJlZj0iI0EiCiAgICAgeD0iNzguOTAwMDAyIgogICAgIGlkPSJ1c2UxMyIKICAgICB5PSIwIgogICAgIHdpZHRoPSIxMDAlIgogICAgIGhlaWdodD0iMTAwJSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTczLC00LjcpIgogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmYiIC8+Cjwvc3ZnPgo=') calc(100% - 1rem) calc(100% - 1rem) / auto 2rem no-repeat;
}
.shortcode-youtube img {
    display: block;
}
@media (max-width: 45rem) {
    .shortcode-youtube::before {background-size: auto 12vw;}
    .shortcode-youtube::after {background-position: calc(100% - 3vw) calc(100% - 3vw); background-size: auto 6vw;}
}

.body .notification { border-radius: .5rem; background: #f5f5f5; padding: 1rem 1.5rem;   margin-bottom: 1.5rem;  clear: both;}
.body .notification.no-padding { padding: 0 1rem;}
.body .smooth-on {display: grid; gap: 0 2rem; grid-template-columns: auto auto;   padding-bottom: 0;}
.body .smooth-on > p:last-of-type { display: flex; max-width: 12rem; grid-row: span 2/3; grid-column: 2; }

@media only screen and (max-width: 600px) {
    .body .smooth-on { grid-template-columns: 1fr; padding: 0 1rem 0 ;}
    .body .smooth-on > h2 { order: -2;}
    .body .smooth-on > p:last-of-type { grid-row: unset; grid-column: unset; order: -1; margin: 0 0 1rem;}
}

/* Hugo Codex Auto carrousel */
.auto-carousel {position: relative; margin: 1rem 0!important;}
.auto-carousel ul {overflow: auto; display: flex; flex-wrap: nowrap; scroll-snap-type: x mandatory; scroll-snap-points-y: repeat(100%); scroll-behavior: smooth; background: gray; -ms-overflow-style: none; scrollbar-width: none; margin: 0!important; padding: 0;}
.auto-carousel ul::-webkit-scrollbar {display: none; /* Hide scrollbar for Chrome, Safari and Opera */} 
.auto-carousel ul li {position: relative; min-width: 100%; list-style: none; background: url() center center / cover no-repeat; scroll-snap-align: start; display: flex; margin-bottom: 0 !important; }
.auto-carousel ul li > img {border-radius: 0;}
.auto-carousel ul li > div {display: flex; justify-content: center; align-items: center; color: white; font-weight: bold; font-size: 20px;}
.auto-carousel ol {position: absolute; bottom: 15px; display: flex; justify-content: center; left: 50%; transform: translateX(-50%); z-index: 9; margin: 0!important;}
.auto-carousel ol li {list-style: none; padding: 0 5px; margin: 0; }
.auto-carousel ol li a {display: block; height: 10px; width: 10px; border: 2px solid white; background: transparent; border-radius: 100%;}
.auto-carousel ol li.selected a {background: white;}
.auto-carousel .prev, .auto-carousel .next {display: none; user-select:none; cursor: pointer; font-size: 50px; color: white; position: absolute; left: 0; padding: 25px 15px; top: 50%; transform: translateY(-50%); z-index: 9; line-height: 0;}
.auto-carousel .next {left: auto; right: 0;}


/* --------------- embedpdfshortcode --------------- */
.embedpdfshortcode {
    margin-right: auto;
    max-width: 56rem;
    width: 100%;
    margin-block: 2rem;
    position: relative;
}
.embedpdfshortcode > .btns {display: flex; justify-content: space-between;}
.embedpdfshortcode > .btns:first-child,
.embedpdfshortcode > .btns:has(.disabled + .disabled) {display: none;}
.embedpdfshortcode > .canvas {
    border: 1px solid #ddd;
    margin-block: 0.5rem;
    background: rgba(0,0,0,.05);
}
.embedpdfshortcode > .canvas > canvas {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    display: block;
    cursor: pointer;
}
.embedpdfshortcode > .btns .disabled {opacity: 0.5; pointer-events: none;}
@media only screen and (max-width: 30rem) {
    #zoom {display: none!important;}
}


/* ==================== COOKIES OVERRIDES ==================== */
section.odf__cookies input[type=checkbox] + ::before { display: none; }
section.odf__cookies.odf__cookies { 
    --odf_main_color: #000;
    --odf_background_color: #FFF;
    --odf_highlight_color: #ed1c24;
}