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

html {
    overflow-y: scroll;
}
html, body {
    margin: 0px;
    padding: 0px;

    overflow-x: hidden;

    font-family: 'Comfortaa', sans-serif;
}

* {
    box-sizing: border-box;
    
    transition: background 0ms ease-in, color 0ms ease-in;
}
*:focus {
    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(228,228,228,1);
    --color-light-font-std: #434253;
    --color-light-font-var: #434253;
    --color-light-font-slides: color.light-font-slides;
    --color-light-bg-std: transparent;
    --color-light-bg-var: #D3D3D3;
    --color-light-bg-slides: #E4E4E4;
    --color-light-link: color.light-link;
    --color-light-topbar-font: #2D2D2D;
    --color-light-topbar-bg: linear-gradient(to bottom, rgba(213,216,215,1), rgba(228,228,228,1));
    --color-light-menu-backdrop-color: linear-gradient(to bottom, rgba(228,228,228,1), rgba(228,228,228,0.85));
    --color-light-footer-font: blue;
    --color-light-footer-bg: #D3D3D3;
    
    --color-dark-page: #202127;
    --color-dark-font-std: #cccac2;
    --color-dark-font-var: #d3d3d3;
    --color-dark-font-slides: color.dark-font-slides;
    --color-dark-bg-std: transparent;
    --color-dark-bg-var: #15161B;
    --color-dark-bg-slides: #202127;
    --color-dark-link: color.dark-link;
    --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: orange;
    --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-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);
}

.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-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);
}

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


.top-bar {
    display: none !important;
    height: 70px;
    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%, 85rem);
    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 {
    height: 100%;
}

.item-theme {
    display: block !important;
}
.item-menu {
    content: " ";
    display: block !important;
}
.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%;
}
.item-home::before {
    content: '';
}

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

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

    color: var(--color-footer-font) !important;
    background: var(--color-footer-bg) !important;
    font-family: bottom-bar.font-family !important;
}
.wrapper-footer * {
    color: var(--color-footer-font) !important;
    background: var(--color-footer-bg) !important;
    font-family: bottom-bar.font-family !important;
}

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

    display: flex;
    flex-direction: column; 

    font-size: 1rem;
    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%, 85rem);
    padding: 2rem 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-responsive {
    width: clamp(0rem, 100%, 85rem);
    display: flex;
    justify-content: center;
}

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

.section-responsive > .wrapper-blocks {
    width: clamp(0rem, 100%, 85rem);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: 2rem 2rem;
}

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


.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.5rem auto;

    font-family: block-text.font-family;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7;
    text-align: left;
}

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

    font-family: block-heading-1.font-family;
    font-size: 4rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: left;
}

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

    font-family: block-heading-2.font-family;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

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

    font-family: block-heading-3.font-family;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

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

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

    font-family: block-todo.font-family;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2;
    text-align: left;
}

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

    list-style: inside;
    font-family: block-bullet-list.font-family;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
}
.block-bullet-list ul {
    padding: 0px;
}

.block-numbered-list {
    width: clamp(0rem, 100%, 50rem);
    margin: 1.5rem 0rem;
    
    padding: 0px !important;
    list-style: block-numbered-list.list-style;
    font-family: block-numbered-list.font-family;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
}
.block-numbered-list ol {
    padding: 0px;
}

.block-toggle-item {
    width: clamp(0rem, 100%, 50rem);
    margin: 0.8rem 1rem;
    
    cursor: pointer;
    padding: 0px !important;
    font-family: block-toggle-item.font-family;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}
.block-toggle-item-on::before {
    content: '👉🏼-on';
}
.block-toggle-item-off::before {
    content: '👉🏼-off';
}
.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.1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

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

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

.block-table {
    width: clamp(0rem, 100%, 50rem);
    margin: 0rem 1rem;
 
    border-collapse: collapse;
    font-family: block-table.font-family;
    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: block-link-to-page.font-family;
    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: 100%;
}
.block-file::before {
    content: '📁';
}

.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 {
    color: var(--color-link);
    background: linear-gradient(to right, rgba(100, 200, 200, 1), rgba(100, 200, 200, 1)), linear-gradient(to right, rgba(255, 0, 0, 1), rgba(255, 0, 180, 1), rgba(0, 100, 200, 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;
    text-decoration: item-link.hover-decoration;
}
.item-link::before {
    content: '🔗';
}

.column {
    background: none;
}

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

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

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

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

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

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