
.light {  }

.dark {  }



@import 'https://fonts.googleapis.com/css?family=Lato:300,400,700,900&display=swap';

html {
    overflow-y: scroll;
}
html, body {
    margin: 0px;
    padding: 0px;
    overflow-x: hidden;
    font-family: 'Lato', sans-serif;
}

* {
    box-sizing: border-box;
    transition: background 0ms ease-in, color 0ms ease-in;
}
*:focus {
    outline: none;
    border: none;
}

a {
    color: currentColor;
    text-decoration: none;
}

.inline {
    display: inline;
}

.gone {
    display: none !important;
}

.bold {
    font-weight: bold;
}

.italic {
    font-style: italic;
}

.underline {
    text-decoration: underline;
}

.no-scroll {
    position: fixed;
    overflow: hidden;
    left: 50%;
    transform: translateX(-50%);
}

:root {
    --color-light-page: #fff;
    --color-light-font-std: #000000;
    --color-light-font-var: #ffffff;
    --color-light-font-slides: #000000;
    --color-light-bg-std: transparent;
    --color-light-bg-var: #174899;
    --color-light-bg-slides: #f8f8f8;
    --color-light-link: #174899-std;
    --color-light-link-var: #174899-var;
    --color-light-topbar-font: #174899;
    --color-light-topbar-bg: #f8f8f8;;
    --color-light-menu-backdrop-color: linear-gradient(to bottom, rgba(248,248,248,1), rgba(228,228,228,0.90));
    --color-light-footer-font: #ffffff;
    --color-light-footer-bg: rgba(73,180,137,1);

    --color-light-form-label-font: form-label.font-light;
    --color-dark-form-label-font: form-label.font-dark;
    --color-light-input-simple-font: input-simple.font-light;
    --color-dark-input-simple-font: input-simple.font-dark;
    --color-light-input-simple-bg: input-simple.bg-light;
    --color-dark-input-simple-bg: input-simple.bg-dark;
    --color-light-input-checkbox-font: input-checkbox.font-light;
    --color-dark-input-checkbox-font: input-checkbox.font-dark;
    --color-light-input-checkbox-bg: input-checkbox.bg-light;
    --color-dark-input-checkbox-bg: input-checkbox.bg-dark;
    --color-light-input-select-font: input-select.font-light;
    --color-dark-input-select-font: input-select.font-dark;
    --color-light-input-select-bg: input-select.bg-light;
    --color-dark-input-select-bg: input-select.bg-dark;
    --color-light-btn-submit-font: btn-submit.font-light;
    --color-dark-btn-submit-font: btn-submit.font-dark;
    --color-light-btn-submit-bg: btn-submit.bg-light;
    --color-dark-btn-submit-bg: btn-submit.bg-dark;
    
    --color-dark-page: #202127;
    --color-dark-font-std: #cccac2;
    --color-dark-font-var: #d3d3d3;
    --color-dark-font-slides: #cccac2;
    --color-dark-bg-std: transparent;
    --color-dark-bg-var: #15161B;
    --color-dark-bg-slides: #202127;
    --color-dark-link: #FDEAF0-std;
    --color-dark-link-var: #FDEAF0-var;
    --color-dark-topbar-font: #f2f2f2;
    --color-dark-topbar-bg: #linear-gradient(to bottom, rgba(21,22,27,1) , rgba(21,22,27,0));
    --color-dark-menu-backdrop-color: linear-gradient(to bottom, rgba(21,22,27,1) , rgba(21,22,27,0));
    --color-dark-footer-font: #f2f2f2;
    --color-dark-footer-bg: #15161B;
}

.light {
    --color-page: var(--color-light-page);
    --color-font-std: var(--color-light-font-std);
    --color-font-var: var(--color-light-font-var);
    --color-font-slides: var(--color-light-font-slides);
    --color-bg-std: var(--color-light-bg-std);
    --color-bg-var: var(--color-light-bg-var);
    --color-bg-slides: var(--color-light-bg-slides);
    --color-link: var(--color-light-link);
    --color-link-var: var(--color-light-link-var);
    --color-topbar-font: var(--color-light-topbar-font);
    --color-topbar-bg: var(--color-light-topbar-bg);
    --color-menu-backdrop-color: var(--color-light-menu-backdrop-color);
    --color-footer-font: var(--color-light-footer-font);
    --color-footer-bg: var(--color-light-footer-bg);

    --color-form-label-font: var(--color-light-form-label-font);
    --color-input-simple-font: var(--color-light-input-simple-font);
    --color-input-simple-bg: var(--color-light-input-simple-bg);
    --color-input-select-font: var(--color-light-input-select-font);
    --color-input-select-bg: var(--color-light-input-select-bg);
    --color-input-checkbox-font: var(--color-light-input-checkbox-font);
    --color-input-checkbox-bg: var(--color-light-input-checkbox-bg);
    --color-btn-submit-font: var(--color-light-btn-submit-font);
    --color-btn-submit-bg: var(--color-light-btn-submit-bg);
}

.dark {
    --color-page: var(--color-dark-page);
    --color-font-std: var(--color-dark-font-std);
    --color-font-var: var(--color-dark-font-var);
    --color-font-slides: var(--color-dark-font-slides);
    --color-bg-std: var(--color-dark-bg-std);
    --color-bg-var: var(--color-dark-bg-var);
    --color-bg-slides: var(--color-dark-bg-slides);
    --color-link: var(--color-dark-link);
    --color-link-var: var(--color-dark-link-var);
    --color-topbar-font: var(--color-dark-topbar-font);
    --color-topbar-bg: var(--color-dark-topbar-bg);
    --color-menu-backdrop-color: var(--color-dark-menu-backdrop-color);
    --color-footer-font: var(--color-dark-footer-font);
    --color-footer-bg: var(--color-dark-footer-bg);

    --color-form-label-font: var(--color-dark-form-label-font);
    --color-input-simple-font: var(--color-dark-input-simple-font);
    --color-input-simple-bg: var(--color-dark-input-simple-bg);
    --color-input-checkbox-font: var(--color-dark-input-checkbox-font);
    --color-input-checkbox-bg: var(--color-dark-input-checkbox-bg);
    --color-input-select-font: var(--color-dark-input-select-font);
    --color-input-select-bg: var(--color-dark-input-select-bg);
    --color-btn-submit-font: var(--color-dark-btn-submit-font);
    --color-btn-submit-bg: var(--color-dark-btn-submit-bg);
}

body {
    background: var(--color-page);
}


.top-bar {
    display: flex !important;
    height: 80px;
    padding: 10px;
    font-size: 18px; 
    letter-spacing: 0.7px; 
    color: var(--color-topbar-font); 
    background: var(--color-topbar-bg);
    z-index: 1000;
}
.top-bar-content {
    width: clamp(0px, 100%, 65rem);
    height: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: space-between;
    margin: auto;
    z-index: 1000;
    font-family: top-bar.font-family;
}
.logo-img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.item-theme {
    position: relative;
    display: block !important;
}
.item-theme svg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    transition: all 800ms ease;
    transform: rotate(0deg) scale(1);
}

.theme-dark svg:first-of-type {
    opacity: 0;
    transform: rotate(45deg) scale(0.1);
}

.theme-light svg:last-of-type {
    opacity: 0;
    transform: rotate(-45deg) scale(0.1);
}

.item-menu {
    position: relative;
    display: block !important;
}

.item-menu svg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    transition: all 800ms ease;
    transform: rotate(0deg) scale(1);
}

.menu-open svg:first-of-type {
    opacity: 0;
    transform: rotate(45deg) scale(0.1);
}

.menu-closed svg:last-of-type {
    opacity: 0;
    transform: rotate(-45deg) scale(0.1);
}

.menu-icon {
    max-width: 100%;
    max-height: 100%;
}
.menu-icon path {
    stroke: var(--color-topbar-font); 
}

.item-home {
    height: 100%;
    display: flex !important;
}
.item-home a {
    height: 100%;
}

.wrapper-menu {
    position: fixed;
    top: 80px;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-menu-backdrop-color);
    z-index: 10;
    overflow-y: auto;

    opacity: 0;
    transform: translateY(-100%);
}

.wrapper-menu-transition {
    transition: all 800ms ease;
}

.wrapper-menu-open nav {
    opacity: 1;
    transform: translateY(0%);
    transition: all 800ms ease;
}

.wrapper-footer {
    display: block !important;
    width: clamp(0rem, 100%, 65rem);
    margin: 1rem auto;

    color: var(--color-footer-font) !important;
    background: var(--color-footer-bg) !important;
    font-family: 'Lato' !important;
}
.wrapper-footer * {
    color: var(--color-footer-font) !important;
    background: var(--color-footer-bg) !important;
    font-family: 'Lato' !important;
}
.wrapper-footer div {
    margin: 0 !important;
}


.wrapper-main {
    width: clamp(10rem, wrapper-main.width-med, 95%);
    margin: 0rem auto;

    display: flex;
    flex-direction: column; 

    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
    color: var(--color-font-std);
}

.wrapper-sections {
    width: clamp(0rem, 100%, 100%);
    margin: 0rem 0rem;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.section {
    width: clamp(0rem, 100%, 65rem);
    margin: section.margin-ver section.margin-hor;
    padding: clamp(1px, 1vw + .1rem, 1.6rem) 0;
    color: var(--color-font-std);
    background: var(--color-bg-std);
}

.section-var {
    color: var(--color-font-var);
    background: var(--color-bg-var);
    padding: 2rem;
}
.section-var .section {
    color: var(--color-font-var);
}

.section-var .block-file a {
    color: var(--color-link-var) !important;
}

.section-var .item-link {
    color: var(--color-link-var) !important;
}

.section-responsive {
    width: clamp(0rem, 100%, 65rem);
    display: flex;
    justify-content: center;
}

.wrapper-blocks {
    width: clamp(wrapper-blocks-regular.width-min, wrapper-blocks-regular.width-med, wrapper-blocks-regular.width-max);
    margin: wrapper-blocks-regular.gap-ver wrapper-blocks-regular.gap-hor;
}

.section-responsive > .wrapper-blocks {
    width: clamp(wrapper-blocks-responsive.width-min, wrapper-blocks-responsive.width-med, wrapper-blocks-responsive.width-max);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: wrapper-blocks-responsive.gap-ver wrapper-blocks-responsive.gap-hor;
}
@media screen and (max-width: 13rem) {
    .section-responsive > .wrapper-blocks {
        grid-template-columns: repeat(auto-fit, 100%) !important;
    }
}

.column > .wrapper-blocks {
    width: clamp(wrapper-blocks-regular.width-min, wrapper-blocks-regular.width-med, wrapper-blocks-regular.width-max);
    margin: wrapper-blocks-regular.gap-ver wrapper-blocks-regular.gap-hor;
    display: block;
}


.block {
    display: block;
    width: clamp(0rem, 100%, 0rem);
    margin: clamp(0px, 1vw + 0.5rem, .5rem) auto;
}

.section-responsive .wrapper-blocks .block {
   width: 100%;
   justify-self: stretch;
}


.block-text {
    width: clamp(0rem, 100%, 40rem);
    margin: 0.5rem auto;

    font-family: 'Lato', sans-serif;
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

.block-image {
    width: clamp(20rem, 100%, 100%);
    margin: 1rem auto;
    text-align: center;
}
.block-image img {
    max-width: 100%;
    margin: auto;
}
.image-caption {
    font-family: ‘Lato’;
    font-size: 0.6rem;
    font-weight: 0.9rem;
    line-height: 1.4;
    text-align: left;
}

.block-todo {
    width: clamp(0rem, 100%, 40rem);
    margin: 1rem 1rem;

    font-family: 'Lato', sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2;
    text-align: left;
}

.block-bullet-list {
    width: clamp(0rem, 100%, 35rem);
    margin: 0.5rem auto;

    list-style: inside;
    font-family: 'Lato', sans-serif;
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.7;
    text-align: left;
    padding-inline-start: block-bullet-list.padding-inline-start;
}

.block-numbered-list {
    width: clamp(0rem, 100%, 40rem);
    margin: 0.5rem auto;
    
    list-style: inside;
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7;
    text-align: left;
    padding-inline-start: block-numbered-list.padding-inline-start;
}
.block-numbered-list > li {
    list-style-type: decimal;
}

.block-toggle-item {
    width: clamp(0rem, 100%, 40rem);
    margin: 0.8rem 1rem;
    
    cursor: pointer;
    padding: 0px !important;
    font-family: 'Lato', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}
.block-toggle-item-on::before {
    content: '➕';
}
.block-toggle-item-off::before {
    content: '➖';
}
.block-toggle-item-child {
    width: clamp(0rem, 100%, 40rem);
    margin: 1rem 0.98rem;
    
    display: none;
    padding: 0px !important;
    font-family: block-toggle-item.hint-font-family;
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

.block-heading-1 {
    width: clamp(0rem, 80vw, 40rem);
    margin: 2rem auto;

    font-family: 'Lato', sans-serif;
    font-size: clamp(1px, 7vw, 3.2rem);
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
}

.block-heading-2 {
    width: clamp(0rem, 80vw, 40rem);
    margin: 1.7rem auto;

    font-family: 'Lato', sans-serif;
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: left;
}

.block-heading-3 {
    width: clamp(0rem, 80vw, 40rem);
    margin: 1.5rem auto;

    font-family: 'Lato', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

.block-quote {
    width: clamp(0rem, 100%, 40rem);
    margin: 2rem 1rem;
    
    padding: 0px !important;
    font-family: 'Lato', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.8;
    text-align: left;
    font-style: italic;
}

.block-divider {
    width: clamp(65rem, 100%, 50rem);
    margin: 2rem auto;
    border-top: 0.06rem solid var(--color-font-std);
}

.block-table {
    width: clamp(0rem, 100%, 40rem);
    margin: 0rem 1rem;
 
    border-collapse: collapse;
    font-family: 'Lato', sans-serif;
    text-align: left;
}
.block-table th {
    padding-top: 12px;
    padding-bottom: 12px;
}
.block-table td, .block-table th {
    border: 1px solid var(--color-font-std);
    padding: 8px;
}
.block-table tr:hover {
    background-color: #f2f2f2;
}

.block-link-to-page {
    width: clamp(0rem, 100%, 40rem);
    margin: 0.66rem 1rem;
    
    padding: 0px !important;
    font-family: 'Lato', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    font-style: regular;
    color: black;
}

.block-audio {
    width: 100%;
    margin: 1rem auto;
    text-align: center;
}

.block-video {
    width: 100%;
    margin: 1rem auto;
    text-align: center;
}
.block-video video {
    width: 100%;
}

.block-callout {
    width: 100%;
    display: flex;
    padding: 10px;
    gap: 10px;
    background-color: #D52C60-bg;
}
.callout-content {
    text-align: left;
}

.block-file {
    width: clamp(block-file.width-min, block-file.width-med, block-file.width-max);
    margin: block-file.gap-ver block-file.gap-hor;
}
.block-file a {
    color: var(--color-link);
    background: linear-gradient(to right, rgba(73,180,137, 0), rgba(73,180,137, 0)), linear-gradient(to right, rgba(73,180,137, 1), rgba(73,180,137, .9));
    background-size: 100% 0.2rem, 0 0.2rem;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 600ms;
}
.block-file a:hover,
.block-file a:focus {
    background-size: 0 0.2rem, 100% 0.2rem;
}
.block-file::before {
    content: '📁 ';
}

.block-icon {
    display: block-icon.display;
    width: clamp(block-icon.width-min, block-icon.width-med, block-icon.width-max);
    margin: block-icon.gap-ver block-icon.gap-hor;
}
.material-symbols-outlined {
    font-size: clamp(block-icon.width-min, block-icon.width-med, block-icon.width-max) !important;
}

.block-embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    width: clamp(0rem, 100%, 70rem);
}
iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.item-link {
    display: inline-table;
    width: fit-content !important;
    margin: auto;

    color: var(--color-link);
    background: linear-gradient(to right, rgba(73,180,137, 0), rgba(73,180,137, 0)), linear-gradient(to right, rgba(73,180,137, 1), rgba(73,180,137, .9));
    background-size: 100% 0.2rem, 0 0.2rem;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 600ms;
}
.item-link:hover,
.item-link:focus {
    background-size: 0 0.2rem, 100% 0.2rem;
}


.wrapper-form {
    width: clamp(wrapper-form.width-min, wrapper-form.width-med, wrapper-form.width-max);
    margin: wrapper-form.gap-ver wrapper-form.gap-hor;

    display: flex;
    flex-direction: column;
    border: wrapper-form.border-style;
    border-radius: wrapper-form.border-radius;
}

/* 
    --color-form-label-font: var(--color-dark-form-label-font);
    --color-input-simple-font: var(--color-dark-input-simple-font);
    --color-input-simple-bg: var(--color-dark-input-simple-bg);
    --color-input-select-font: var(--color-dark-input-select-font);
    --color-input-select-bg: var(--color-dark-input-select-bg);
    --color-btn-submit-font: var(--color-dark-btn-submit-font);
    --color-btn-submit-bg: var(--color-dark-btn-submit-bg);
*/
.form-label {
    width: clamp(form-label.width-min, form-label.width-med, form-label.width-max);
    margin: form-label.gap-ver form-label.gap-hor;

    color: var(--color-form-label-font);
    font-size: form-label.font-size;
    font-weight: form-label.font-weight;
    line-height: form-label.font-height;
    text-align: form-label.font-align;
}

.input-simple {
    width: clamp(input-simple.width-min, input-simple.width-med, input-simple.width-max);
    margin: input-simple.gap-ver input-simple.gap-hor;

    color: var(--color-input-simple-font);
    background: var(--color-input-simple-bg);
    font-size: input-simple.font-size;
    font-weight: input-simple.font-weight;
    line-height: input-simple.font-height;
    text-align: input-simple.font-align;
    border: input-simple.border-style;
    border-radius: input-simple.border-radius;
}

.input-select {
    width: clamp(input-select.width-min, input-select.width-med, input-select.width-max);
    margin: input-select.gap-ver input-select.gap-hor;

    color: var(--color-input-select-font);
    background: var(--color-input-select-bg);
    font-size: input-select.font-size;
    font-weight: input-select.font-weight;
    line-height: input-select.font-height;
    text-align: input-select.font-align;
    border: input-select.border-style;
    border-radius: input-select.border-radius;
}

.input-checkbox-wrapper {
    width: clamp(input-checkbox.width-min, input-checkbox.width-med, input-checkbox.width-max);
    margin: input-checkbox.gap-ver input-checkbox.gap-hor;
    display: flex;
    align-items: center;

    color: var(--color-input-checkbox-font);
    background: var(--color-input-checkbox-bg);
    font-size: input-checkbox.font-size;
    font-weight: input-checkbox.font-weight;
    line-height: input-checkbox.font-height;
    text-align: input-checkbox.font-align;
    border: input-checkbox.border-style;
    border-radius: input-checkbox.border-radius;
}
.input-checkbox {
    width: input-checkbox.checkbox-size;
    height: input-checkbox.checkbox-size;
    margin-right: calc(input-checkbox.checkbox-size / 3);
}

.btn-submit {
    width: clamp(btn-submit.width-min, btn-submit.width-med, btn-submit.width-max);
    margin: btn-submit.gap-ver btn-submit.gap-hor;

    color: var(--color-btn-submit-font);
    background: var(--color-btn-submit-bg);
    font-size: btn-submit.font-size;
    font-weight: btn-submit.font-weight;
    line-height: btn-submit.font-height;
    text-align: btn-submit.font-align;
    border: btn-submit.border-style;
    border-radius: btn-submit.border-radius;
    cursor: pointer;
}


.column {
    padding: 0;
    margin: 0;
    background: none;
}

.column-wide {
    width: clamp(0px, 100%, 80rem);
}
.column-wide * {
    width: 100%;
}

.column-medium {
    width: clamp(0px, 100%, 60rem);
}
.column-medium * {
    width: 100%;
}

.column-narrow {
    width: clamp(0px, 100%, 30rem);
}
.column-narrow * {
    width: 100%;
}


.scroll-up-arrow {
    height: 0px;
    width: 75px;
    display: block;
    position: fixed;
    z-index: 5;
    top: calc(100% - 125px);
    margin-left: calc(25px);
    cursor: pointer;
}
.scroll-up-arrow img {
    width: 100%;
}

.robbo-menu-footer {
                    width: clamp(0rem, 100%, 85rem);
                    margin: 1rem auto;
                }

.robbo-menu-footer * {
                    width: 100%;
                    font-size: 0.92rem;
                    font-weight: 400;
                    line-height: 1.3;
                    text-align: center;
                }

.robbo-menu {
                    width: clamp(0rem, 100%, 40rem);
                    margin: 1.3rem auto;
                }

.robbo-menu * {
                    width: 100%;
                    font-size: 1.9rem;
                    font-weight: 400;
                    line-height: 1.7;
                    text-align: center;
                }

.robbo-lead {
                    width: clamp(0rem, 100%, 40rem);
                    margin: 1rem auto;
                }

.robbo-lead * {
                    width: 100%;
                    font-size: 1.35rem;
                    font-weight: 700;
                    line-height: 1.6;
                    text-align: left;
                }