
.light { 
--color-prime: #ABC5F5;
--color-accent: #DDF5EF; }

.dark { 
--color-prime: blue;
--color-accent: orange; }


.bg-prime { background: var(--color-prime) !important; }
.bg-accent { background: var(--color-accent) !important; }

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

html {
    overflow-y: scroll;
}
html, body {
    margin: 0px;
    padding: 0px;
    overflow-x: hidden;
    font-family: 'Inter', 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: rgba(255,255,255,1);
    --color-light-font-std: #000;
    --color-light-font-var: #fff;
    --color-light-font-slides: #000;
    --color-light-bg-std: transparent;
    --color-light-bg-var: rgba(44, 96, 190, 1);
    --color-light-bg-slides: #E4E4E4;
    --color-light-link: rgba(44, 96, 190, 1);
    --color-light-link-var: #14E2AC;
    --color-light-topbar-font: rgba(48, 94, 119, 1);
    --color-light-topbar-bg: linear-gradient(to bottom, rgba(242,247,250,1), rgba(255,255,250,1));
    --color-light-menu-backdrop-color: linear-gradient(to bottom, rgba(255,255,250,1), rgba(242,247,250,.95));
    --color-light-footer-font: #000;
    --color-light-footer-bg: transparent;

    --color-light-form-label-font: #123;
    --color-dark-form-label-font: #abc;
    --color-light-input-simple-font: #123;
    --color-dark-input-simple-font: #abc;
    --color-light-input-simple-bg: #eef;
    --color-dark-input-simple-bg: #113;
    --color-light-input-checkbox-font: #123;
    --color-dark-input-checkbox-font: #abc;
    --color-light-input-checkbox-bg: #eef;
    --color-dark-input-checkbox-bg: #113;
    --color-light-input-select-font: #123;
    --color-dark-input-select-font: #abc;
    --color-light-input-select-bg: #eef;
    --color-dark-input-select-bg: #113;
    --color-light-btn-submit-font: #101217;
    --color-dark-btn-submit-font: #abc;
    --color-light-btn-submit-bg: #b18c40;
    --color-dark-btn-submit-bg: #113;
    
    --color-dark-page: #15161B;
    --color-dark-font-std: #fff;
    --color-dark-font-var: #fff;
    --color-dark-font-slides: #000;
    --color-dark-bg-std: transparent;
    --color-dark-bg-var: #2C2F41;
    --color-dark-bg-slides: #202127;
    --color-dark-link: #D47F2C;
    --color-dark-link-var: #D47F2C;
    --color-dark-topbar-font: #CCCAC3;
    --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.93));
    --color-dark-footer-font: #CCCAC3;
    --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: 90px;
    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%, 75rem);
    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: none !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: 90px;
    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%, 75rem);
    margin: 1rem auto;

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


.wrapper-main {
    width: clamp(10rem, 100%, 100%);
    margin: 2.5rem auto;

    display: flex;
    flex-direction: column; 

    font-size: 1.3rem;
    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%, 75rem);
    margin: 0 2rem;
    padding: 2rem clamp(1rem, 8vw + 0.1rem, 3rem);
    color: var(--color-font-std);
    background: var(--color-bg-std);
}

.section-var {
    color: var(--color-font-var);
    background: var(--color-bg-var);
    padding: clamp(1rem, 8vw + 0.1rem, 3rem);
}
.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%, 75rem);
    display: flex;
    justify-content: center;
}

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

.section-responsive > .wrapper-blocks {
    width: clamp(0rem, 100%, 75rem);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: clamp(.1rem, 1vw + 0.1rem, 2rem) 2rem;
}
@media screen and (max-width: 20rem) {
    .section-responsive > .wrapper-blocks {
        grid-template-columns: repeat(auto-fit, 100%) !important;
    }
}

.column > .wrapper-blocks {
    width: clamp(0rem, 100%, 100%);
    margin: 0rem 0rem;
    display: block;
}


.block {
    display: block;
    width: clamp(0rem, 100%, 0rem);
    margin: 0.5rem auto;
}

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


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

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

.block-image {
    width: clamp(20rem, 100%, 100%);
    margin: 1rem 0rem;
    text-align: center;
}
.block-image img {
    max-width: 100%;
    margin: auto;
}
.image-caption {
    font-family: 'Inter', sans-serif;
    font-size: 0.6rem;
    font-weight: 800;
    line-height: 0.7rem;
    text-align: right;
}

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

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

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

    list-style: outside;
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.55;
    text-align: left;
    padding-inline-start: 2rem;
}

.block-numbered-list {
    width: clamp(0rem, 100%, 50rem);
    margin: 1.5rem auto;
    
    list-style: inside;
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.55;
    text-align: left;
    padding-inline-start: 2rem;
}
.block-numbered-list > li {
    list-style-type: decimal;
}

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

.block-heading-1 {
    width: clamp(0rem, 100%, 50rem);
    margin: 1.5rem auto;

    font-family: 'Inter', sans-serif;
    font-size: clamp(1.6rem, 1rem + 2.5vw, 3.6rem);
    font-weight: 300;
    line-height: 1.2;
    text-align: left;
}

.block-heading-2 {
    width: clamp(0rem, 100%, 50rem);
    margin: 1.5rem auto;

    font-family: 'Inter', sans-serif;
    font-size: clamp(1.6rem, 1rem + 1.2vw, 3rem);
    font-weight: 300;
    line-height: 1.2;
    text-align: left;
}

.block-heading-3 {
    width: clamp(0rem, 100%, 50rem);
    margin: 1.5rem auto;

    font-family: 'Inter', sans-serif;
    font-size: clamp(1.4rem, 1rem + 1vw, 2.5rem);
    font-weight: 400;
    line-height: 1.2;
    text-align: left;
}

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

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

.block-table {
    width: clamp(0rem, 100%, 50rem);
    margin: 0rem 1rem;
 
    border-collapse: collapse;
    font-family: 'Inter', 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%, 50rem);
    margin: 0.66rem 1rem;
    
    padding: 0px !important;
    font-family: 'Inter', sans-serif;
    font-size: 1.18rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    font-style: regular;
    color: yellow;
}

.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(0rem, 100%, 70rem);
    margin: 1.5rem auto;
}
.block-file a {
    color: var(--color-link);
    background: linear-gradient(to right, rgba(44, 96, 190, .3), rgba(20, 226, 172, .1)), linear-gradient(to right, rgba(44, 96, 190, 1), rgba(20, 226, 172, 1));
    background-size: 100% 0.1em, 0 0.1em;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 333ms;
}
.block-file a:hover,
.block-file a:focus {
    background-size: 0 0.1em, 100% 0.1em;
}
.block-file::before {
    content: ' ';
}

.block-icon {
    display: inline;
    width: clamp(0rem, 10vw + 1rem, 5rem);
    margin: 0rem 0rem;
}
.material-symbols-outlined {
    font-size: clamp(0rem, 10vw + 1rem, 5rem) !important;
}

.block-embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    width: clamp(0rem, 100%, 75rem);
}
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(44, 96, 190, .3), rgba(20, 226, 172, .1)), linear-gradient(to right, rgba(44, 96, 190, 1), rgba(20, 226, 172, 1));
    background-size: 100% 0.1em, 0 0.1em;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 333ms;
}
.item-link:hover,
.item-link:focus {
    background-size: 0 0.1em, 100% 0.1em;
}


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

    display: flex;
    flex-direction: column;
    border: 5px dashed black;
    border-radius: 15px;
}

/* 
    --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(0rem, 100%, 20rem);
    margin: 0rem 0rem;

    color: var(--color-form-label-font);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.1rem;
    text-align: left;
}

.input-simple {
    width: clamp(0rem, 100%, 20rem);
    margin: 0rem 0rem;

    color: var(--color-input-simple-font);
    background: var(--color-input-simple-bg);
    font-size: 1.18rem;
    font-weight: 500;
    line-height: 1.4rem;
    text-align: left;
    border: 5px solid #1C6EA4;
    border-radius: 5px;
}

.input-select {
    width: clamp(0rem, 100%, 20rem);
    margin: 0rem 0rem;

    color: var(--color-input-select-font);
    background: var(--color-input-select-bg);
    font-size: 1.18rem;
    font-weight: 500;
    line-height: 1.4rem;
    text-align: left;
    border: 5px solid #1C6EA4;
    border-radius: 5px;
}

.input-checkbox-wrapper {
    width: clamp(10rem, 100%, 20rem);
    margin: 1rem 0rem;
    display: flex;
    align-items: center;

    color: var(--color-input-checkbox-font);
    background: var(--color-input-checkbox-bg);
    font-size: 1.18rem;
    font-weight: 500;
    line-height: 1.4rem;
    text-align: left;
    border: 5px solid #1C6EA4;
    border-radius: 5px;
}
.input-checkbox {
    width: 20px;
    height: 20px;
    margin-right: calc(20px / 3);
}

.btn-submit {
    width: clamp(0rem, 100%, 20rem);
    margin: 1rem auto;

    color: var(--color-btn-submit-font);
    background: var(--color-btn-submit-bg);
    font-size: 1.18rem;
    font-weight: 500;
    line-height: 1.4rem;
    text-align: left;
    border: 5px solid yellow;
    border-radius: 10px;
    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%, 50rem);
}
.column-medium * {
    width: 100%;
}

.column-narrow {
    width: clamp(0px, 100%, 35rem);
}
.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%, 75rem);
                    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%, 50rem);
                    margin: 1.3rem auto;
                }

.robbo-menu * {
                    width: 100%;
                    font-size: clamp(1.45rem, 1rem + 1.8vw, 3rem);
                    font-weight: 300;
                    line-height: 1.8;
                    text-align: center;
                }

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

.robbo-lead * {
                    width: 100%;
                    font-size: clamp(1.2rem, 1vw + .8rem, 1.55rem);
                    font-weight: 400;
                    line-height: 1.6;
                    text-align: left;
                }

.robbo-postscript {
                    width: clamp(0rem, 100%, 50rem);
                    margin: 0.5rem auto;
                }

.robbo-postscript * {
                    width: 100%;
                    font-size: .95rem;
                    font-weight: 400;
                    line-height: 1.4;
                    text-align: left;
                }